diff --git a/CODEOWNERS b/.github/CODEOWNERS similarity index 98% rename from CODEOWNERS rename to .github/CODEOWNERS index 07cfc34e7c0c..ac4c89231ee0 100644 --- a/CODEOWNERS +++ b/.github/CODEOWNERS @@ -107,6 +107,9 @@ /specification/deploymentmanager/ @netrock +# PRLabel: %Device Registry +/specification/deviceregistry/ @marcodalessandro @rohankhandelwal @riteshrao + # PRLabel: %Device Update /specification/deviceupdate/data-plane/ @mikekistler @Azure/api-stewardship-board diff --git a/.github/CODEOWNERS_baseline_errors.txt b/.github/CODEOWNERS_baseline_errors.txt new file mode 100644 index 000000000000..4132d1b57296 --- /dev/null +++ b/.github/CODEOWNERS_baseline_errors.txt @@ -0,0 +1,143 @@ +Azure/api-stewardship-board is an invalid team. Ensure the team exists and has write permissions. +nickghardwick is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +minhanh-phan is not a public member of Azure. +assafi is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +rokulka is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +ChongTang is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +Azure/adp is an invalid team. Ensure the team exists and has write permissions. +taiwu is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +ofirmanor is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +olalavi is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +erangon is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +orieldar is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +ilaizi is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +shakednai1 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +orenhor is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +promoisha is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +alexeldeib is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +ramthi is not a public member of Azure. +'Container Apps' is not a valid label for this repository. +jijohn14 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +Juliehzl is not a public member of Azure. +/specification/codesigning/data-plane path or file does not exist in repository. +/specification/asazure/ path or file does not exist in repository. +athipp is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +darshanhs90 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +vrdmr is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +deathly809 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +dpwatrous is not a public member of Azure. +/specification/batchai/ path or file does not exist in repository. +alexanderyukhanov is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +asarkar84 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +jorinmejia is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +yunhemsft is not a public member of Azure. +jessicl-ms is not a public member of Azure. +rrahulms is not a public member of Azure. +t-bzhan is not a public member of Azure. +felixwa is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +'Cognitive Services - Form Recognizer' is not a valid label for this repository. +bojunehsu is not a public member of Azure. +nizi1127 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +bilaakpan-ms is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +dkulkarni-ms is not a public member of Azure. +MS-syh2qs is not a public member of Azure. +grizzlytheodore is not a public member of Azure. +mabhard is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +danielli90 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +smotwani is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +ppatwa is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +vikramd-ms is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +yunusm is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +ZhidongPeng is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +nkuchta is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +maheshnemichand is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +najams is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +changov is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +kjeur is not a public member of Azure. +panda-wang is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +novinc is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +djyou is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +weinong is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +seguler is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +alvinli222 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +justindavies is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +robbiezhang is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +paulgmiller is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +yizhang4321 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +circy9 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +qike-ms is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +MehaKaushik is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +tjlvtao is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +zhangyd2015 is not a public member of Azure. +davidzhaoyue is not a public member of Azure. +ro-joowan is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +hitenjava is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +/specification/deploymentmanager/ path or file does not exist in repository. +netrock is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +/specification/documentdb/ path or file does not exist in repository. +dmakwana is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +jihochang is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +Kishp01 is not a public member of Azure. +ahamad-MS is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +damodaravadhani is not a public member of Azure. +/specification/features/ path or file does not exist in repository. +yugangw-msft is not a public member of Azure. +amarzavery is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +pulkittomar is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +wawon-msft is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +/specification/insights/ path or file does not exist in repository. +gucalder is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +vrmurthy01 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +randallilama is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +jlichwa is not a public member of Azure. +pankajsn is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +tonytang-microsoft-com is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +nonstatic2014 is not a public member of Azure. +/specification/machinelearningcompute/ path or file does not exist in repository. +shutchings is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +jeffrey-ace is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +giakas is not a public member of Azure. +amolr is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +smithab is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +sw47 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +dashimi16 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +rileymckenna is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +pilor is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +tarostok is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +/specification/postgresql/** ends with an unsupported sequence '/**' and will not match. Replace it with '/' +/specification/provisioningservices/ path or file does not exist in repository. +kvish is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +dragonfly91 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +sonathan is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +dheerendrarathor is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +avneeshrai is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +siddharthchatrolams is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +timlovellsmith is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +Azure/arm-template-deployments is an invalid team. Ensure the team exists and has write permissions. +rajshah11 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +vivsriaus is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +pinwang81 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +bleroy is not a public member of Azure. +tjacobhi is not a public member of Azure. +amitchat is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +craigw is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +asinn826 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +daveirwin1 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +juhacket is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +samedder is not a public member of Azure. +jamestao is not a public member of Azure. +ericshape is not a public member of Azure. +leoz-ms is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +manaas-microsoft is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +atpham256 is not a public member of Azure. +/specification/subscriptions/ path or file does not exist in repository. +navysingla is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +yanjungao718 is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +sandshadow is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +allencal is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +hrkulkarmsft is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. +naveedaz is not a public member of Azure. +Azure/azure-app-service-control-plane is an invalid team. Ensure the team exists and has write permissions. +'AzureML - Compute Instance' is not a valid label for this repository. +Azure/aml-compute-instance is an invalid team. Ensure the team exists and has write permissions. +shahabhijeet is an invalid user. Ensure the user exists, is public member of Azure and has write permissions. diff --git a/cSpell.json b/cSpell.json index 016c6a42c54b..bcbba8da57cf 100644 --- a/cSpell.json +++ b/cSpell.json @@ -149,6 +149,14 @@ "Accesskey" ] }, + { + "filename": "**/specification/billing/**/*.json", + "words": [ + "mosp", + "resellee", + "cnpj" + ] + }, { "filename": "**/specification/compute/resource-manager/Microsoft.ContainerService/preview/2015-11-01-preview/containerService.json", "words": [ @@ -247,6 +255,12 @@ "otlp" ] }, + { + "filename": "**/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ContainerApps.json", + "words": [ + "workflowapp" + ] + }, { "filename": "**/specification/servicefabric/data-plane/Microsoft.ServiceFabric/stable/6.2/servicefabric.json", "words": [ diff --git a/custom-words.txt b/custom-words.txt index 9332326fade7..575b10b85ea6 100644 --- a/custom-words.txt +++ b/custom-words.txt @@ -1868,6 +1868,7 @@ myvolume myworkbooks n'eventtype n'recognition +nacos nadella nagios nameserver diff --git a/documentation/ci-fix.md b/documentation/ci-fix.md index 19069d1d9c5a..6cbedb4b3d0f 100644 --- a/documentation/ci-fix.md +++ b/documentation/ci-fix.md @@ -35,6 +35,8 @@ If you need help with your specs PR, please first thoroughly read the [aka.ms/az - [`AvoidAnonymousParameter`, `AvoidAnonymousTypes`, `IntegerTypeMustHaveFormat`](#avoidanonymousparameter-avoidanonymoustypes-integertypemusthaveformat) - [`AvoidAnonymousTypes` inside a 202 response](#avoidanonymoustypes-inside-a-202-response) - [`OAuth2Auth` causes `XmsEnumValidation`](#oauth2auth-causes-xmsenumvalidation) + - [`ProvisioningStateMustBeReadOnly`](#provisioningstatemustbereadonly) + - [`PatchBodyParameterSchema`](#patchbodyparameterschema) - [`Swagger ModelValidation`](#swagger-modelvalidation) - [`Swagger PrettierCheck`](#swagger-prettiercheck) - [Prettier reference](#prettier-reference) @@ -188,53 +190,7 @@ To reproduce LintDiff failures locally, see [CONTRIBUTING.md / How to locally re ## `Swagger LintDiff` for TypeSpec: troubleshooting guides -Check `Swagger LintDiff` may fail for the OpenAPI generated from TypeSpec, even if there are no warnings or errors reported from the TypeSpec compiler. Causes include bugs in the TypeSpec OpenAPI emitter, bugs in LintDiff rules, incompatibilities between TypeSpec and LintDiff, or checks duplicated in TypeSpec and LintDiff. - -We are working to address the root causes (where possible). Until then, we recommend you [suppress](#suppression-process) these LintDiff errors, using a "permanent suppression" with a descriptive "reason", so we can revert your suppression when the root cause is fixed. - -### `Record` causes `AvoidAdditionalProperties` and `PropertiesTypeObjectNoDefinition` - -The use of `Record` in TypeSpec is discouraged, and there is a TypeSpec lint rule to enforce this. If you still need to use `Record`, the OpenAPI spec generated will cause many LintDiff errors of types `AvoidAdditionalProperties` and `PropertiesTypeObjectNoDefinition`. You will need to suppress both the TypeSpec violation (in TypeSpec source code) and the LintDiff violations. - -### `RequestBodyMustExistForPutPatch` - -We believe this is a false positive: https://github.com/Azure/azure-openapi-validator/issues/641 - -### `PatchPropertiesCorrespondToPutProperties` - -We believe this is a false positive: https://github.com/Azure/azure-openapi-validator/issues/642 - -### `@singleton` causes `EvenSegmentedPathForPutOperation` and `XmsPageableForListCalls` - -If `EvenSegmentedPathForPutOperation` and/or `XmsPageableForListCalls` are failing for OpenAPI generated from TypeSpec using `@singleton` (OpenAPI path ends with `/default`), we believe this is a false positive: https://github.com/Azure/azure-openapi-validator/issues/646 - -### `AvoidAnonymousParameter`, `AvoidAnonymousTypes`, `IntegerTypeMustHaveFormat` - -Data-plane specs can suppress violations of the following rules, since they only exist for the benefit of SDKs generated from swagger, and data-plane SDKs are generated directly from TypeSpec. Resource-manager specs should **not** suppress violations of these rules, since resource-manager SDKs are generated from OpenAPI, and rely on these errors being fixed. - -- `AvoidAnonymousParameter` -- `AvoidAnonymousTypes` -- `IntegerTypeMustHaveFormat` - -### `AvoidAnonymousTypes` inside a 202 response - -As an exception to the previous note, resource-manager specs **may** be able to suppress `AvoidAnonymousTypes`, but only if the error is inside a 202 response from a long-running operation (LRO). It is known that SDKs do not need to generate type names for such responses. - -### `OAuth2Auth` causes `XmsEnumValidation` - -TypeSpec using `OAuth2Auth` may generate the following OpenAPI: - -``` yaml -"type": { - "type": "string", - "description": "OAuth2 authentication", - "enum": [ - "oauth2" - ] -}, -``` - -Which causes error `XmsEnumValidation`. The recommended workaround is to add `omit-unreachable-types: true` to your `tspconfig.yaml`. +https://github.com/Azure/azure-rest-api-specs/wiki/Swagger-LintDiff-for-TypeSpec ## `Swagger ModelValidation` @@ -324,26 +280,7 @@ If you need more information on see [cspell configuration](https://cspell.org/co ## `TypeSpec Validation` -This validator will help ensure your TypeSpec project follows [standard conventions](https://github.com/Azure/azure-rest-api-specs/blob/main/documentation/typespec-structure-guidelines.md) as well ensures that the [generated OpenAPI spec](https://azure.github.io/typespec-azure/docs/emitters/typespec-autorest) files are in-sync with your project. - -### Run `tsv` locally - -``` powershell -cd -git checkout -git merge -npm ci -npx tsv -git commit; git push (if any changes) - -# example -npx tsv specification/contosowidgetmanager/Contoso.WidgetManager -``` - -Then check any errors that might be outputted and address any issues as needed. If there are changed files after the runit generally means -that the generated OpenAPI spec files were not in-sync with the TypeSpec project and you should include those changes in your pull request as well. - -If none of the above helped, please reach out on [TypeSpec Discussions Teams channel]. +https://github.com/Azure/azure-rest-api-specs/wiki/TypeSpec-Validation ## `license/cla` diff --git a/documentation/sdkautomation/InstallInstructionScriptInputSchema.json b/documentation/sdkautomation/InstallInstructionScriptInputSchema.json index c2dea969537c..d5befed6f1e6 100644 --- a/documentation/sdkautomation/InstallInstructionScriptInputSchema.json +++ b/documentation/sdkautomation/InstallInstructionScriptInputSchema.json @@ -19,11 +19,6 @@ // az rest --resource -u "{URL}" --output-file {FILENAME} "type": "boolean" }, - "downloadUrlPrefix": { - // All the artifacts will be uploaded and user could access the artifact via - // a link composed by this prefix and artifact filename. - "type": "string" - }, "downloadCommandTemplate": { // Download command template. Replace {URL} and {FILENAME} to get the real command. "type": "string" diff --git a/documentation/sdkautomation/README.md b/documentation/sdkautomation/README.md index 667b1d306688..f87cbaa44556 100644 --- a/documentation/sdkautomation/README.md +++ b/documentation/sdkautomation/README.md @@ -26,9 +26,9 @@ SDK Automation is launched with matrix in azure pipeline. For each language conf - repo: azure-sdk-for-js ``` ``` - 2. For TypeSpec PR, filter the list of tspconfig.yaml: find the `options` config in tspconfig.yaml, and see if the specified language is configure for that tsp-location.yaml. + 2. For TypeSpec PR, filter the list of tspconfig.yaml: find the `options` config in tspconfig.yaml, and see if the specified language emitter is configured. - If the configured language is not found here, generation for this typespec project will be skipped. + If the specific language is not configured here, generation for this typespec project will be skipped. 4. Get `specificationRepositoryConfiguration.json` from spec repo default branch. See [SpecRepoConfig](#specrepoconfig). Get the repo and branch config in the file. @@ -46,19 +46,17 @@ SDK Automation is launched with matrix in azure pipeline. For each language conf 11. Launch __buildScript__ to build the package. Collect the artifacts by config __artifactPathFromFileSearch__. This step could be skipped if it's not defined in [SwaggerToSdkConfig](#swaggertosdkconfig) and it's covered by __generateScript__ and the result could be found in [generateOutput.json](#generateoutput). -12. Upload all the package related artifacts to Azure Storage Blob Container. All the artifact for one package is uploaded in one folder. These file could be downloaded on URL prefixed by __downloadUrlPrefix__ defined in [InstallInstructionScriptInput](#installinstructionscriptinput). It's redirected by openapiHub by design, and for SDK Automation on public repo the redirect don't need auth, but for SDK Automation in private repo it requires microsoft AAD auth. User could authenticate and download via web page oauth in browser or bearer token auth with `az rest --resource` in command line. +12. Launch __changelogScript__ to get changelog and detect breaking change. This step could be skipped if changelog and breaking change could be found in [generateOutput.json](#generateoutput). If breaking change is found, the spec PR will be labelled with `BreakingChange--Sdk`. -13. Launch __changelogScript__ to get changelog and detect breaking change. This step could be skipped if changelog and breaking change could be found in [generateOutput.json](#generateoutput). If breaking change is found, the spec PR will be labelled with `CI-BreakingChange-`. +13. Launch __installInstructionScript__ to get install instruction for that package. This step could be skipped if install instruction could be found in [generateOutput.json](#generateoutput). The lite install instruction will be shown in spec PR comment, the full install instruction will be shown in generated SDK PR. -14. Launch __installInstructionScript__ to get install instruction for that package. This step could be skipped if install instruction could be found in [generateOutput.json](#generateoutput). The lite install instruction will be shown in spec PR comment, the full install instruction will be shown in generated SDK PR. - -15. Commit the package related code in SDK repository. Force push to [GenerationBranch](#generationbranch) in __integrationRepository__. Create or update [GenerationPR](#generationpr) from [GenerationBranch](#generationbranch) to [MainBranch](#mainbranch) in __integrationRepository__. If __integrationRepository__ is a fork of __mainRepository__, its [MainBranch](#mainbranch) should be synced once a day. +14. Commit the package related code in SDK repository. Force push to [GenerationBranch](#generationbranch) in __integrationRepository__. Create or update [GenerationPR](#generationpr) from [GenerationBranch](#generationbranch) to [MainBranch](#mainbranch) in __integrationRepository__. If __integrationRepository__ is a fork of __mainRepository__, its [MainBranch](#mainbranch) should be synced once a day. ### Continuous Integration (PR Merged) Trigger -Almost the same as opened PR trigger, with different on step 15: +Almost the same as opened PR trigger, with different on step 14: -15. Commit the package related code in SDK repository. Close [GenerationPR](#generationpr) and delete [GenerationBranch](#generationbranch). Force push to [IntegrationBranch](#integrationbranch) in __integrationRepository__. Create or update [IntegrationPR](#integrationpr) from [IntegrationBranch](#integrationbranch) to [MainBranch](#mainbranch) in __mainRepository__. Close the [integrationPR](#integrationPR) if __closeIntegrationPR__ in [SwaggerToSdkConfig](#swaggertosdkconfig) is set to true. +14. Commit the package related code in SDK repository. Close [GenerationPR](#generationpr) and delete [GenerationBranch](#generationbranch). Force push to [IntegrationBranch](#integrationbranch) in __integrationRepository__. Create or update [IntegrationPR](#integrationpr) from [IntegrationBranch](#integrationbranch) to [MainBranch](#mainbranch) in __mainRepository__. Close the [integrationPR](#integrationPR) if __closeIntegrationPR__ in [SwaggerToSdkConfig](#swaggertosdkconfig) is set to true. ## Definitions @@ -78,16 +76,6 @@ This is type of file `./specificationRepositoryConfiguration.json` in swagger sp "integrationRepository": "AzureSDKAutomation/azure-sdk-for-python", "mainRepository": "Azure/azure-sdk-for-python", "mainBranch": "release/v3" - }, - "azure-sdk-for-python-track2": { - "integrationRepository": "AzureSDKAutomation/azure-sdk-for-python", - "mainRepository": "Azure/azure-sdk-for-python" - }, - "azure-sdk-for-trenton": { - "integrationRepository": "Azure/azure-sdk-for-trenton", - "mainRepository": "Azure/azure-sdk-for-trenton", - "secondaryRepository": "Azure/azure-sdk-for-trenton", - "secondaryBranch": "secondary" } }, "overrides": { @@ -101,10 +89,6 @@ This is type of file `./specificationRepositoryConfiguration.json` in swagger sp "integrationRepository": "azure-sdk/azure-sdk-for-python-pr", "mainRepository": "Azure/azure-sdk-for-python-pr", "mainBranch": "release/v3" - }, - "azure-sdk-for-python-track2": { - "integrationRepository": "azure-sdk/azure-sdk-for-python-pr", - "mainRepository": "Azure/azure-sdk-for-python-pr" } } } @@ -175,7 +159,7 @@ The working folder of all the scripts is the __root folder of sdk repo__. "breakingChangeDetect": "Breaking Change" }, - "breakingChangeLabel": "CI-BreakingChange-DotNet" + "breakingChangesLabel": "BreakingChange-DotNet-Sdk" }, "artifactOptions": { // Param: @@ -214,7 +198,6 @@ Input file for generate script. ], "installInstructionInput": { "isPublic": false, - "downloadUrlPrefix": "https://openapihub.test.azure-devex-tools.com/api/sdk-dl-pub?p=Azure/1234/azure-sdk-for-net/", "downloadCommandTemplate": "curl -L \"{URL}\" -o {FILENAME}", "trigger": "pullRequest" } @@ -278,7 +261,6 @@ Input of install instruction script. "sdk/cdn/cdn.snuget" ], "isPublic": true, - "downloadUrlPrefix": "https://portal.azure-devex-tools.com/api/sdk-dl-pub?p=Azure/azure-rest-api-specs/1234/azure-sdk-for-net/", "downloadCommandTemplate": "curl -L \"{URL}\" -o {FILENAME}", "trigger": "pullRequest", } diff --git a/documentation/sdkautomation/SwaggerToSdkConfigSchema.json b/documentation/sdkautomation/SwaggerToSdkConfigSchema.json index b9c73b0d9cec..31a1a7c1b3f5 100644 --- a/documentation/sdkautomation/SwaggerToSdkConfigSchema.json +++ b/documentation/sdkautomation/SwaggerToSdkConfigSchema.json @@ -149,7 +149,7 @@ } } }, - "breakingChangeLabel": { + "breakingChangesLabel": { // Label to be added in spec PR if breaking change is found "type": "string" } diff --git a/documentation/sdkautomation/sdk-automation-faq.md b/documentation/sdkautomation/sdk-automation-faq.md new file mode 100644 index 000000000000..7eaf4147393a --- /dev/null +++ b/documentation/sdkautomation/sdk-automation-faq.md @@ -0,0 +1,34 @@ +| Short Link: | [aka.ms/azsdk/sdk-automation-faq](https://aka.ms/azsdk/sdk-automation-faq) | +|--|--| + +# FAQ + +## How to Download the Generated Artifacts + +### Prerequisites +Ensure the SDK automation CI check succeeds. If the check fails, the artifacts might not have been generated. + +### Steps to Download Artifacts +Let's take Python as an example. The results will be displayed in the pull request comment once the SDK automation CI check completes successfully, as shown in the screenshot below. + +![image](https://github.com/Azure/azure-rest-api-specs/assets/20296335/9c386007-785c-41aa-864d-9423e154b158) + +1. Navigate to `Checks` page: click on the `Details` link. + +2. View Azure DevOps Build Pipeline Run: click on the `View Azure DevOps build log for more details` link. + + ![image](https://github.com/Azure/azure-rest-api-specs/assets/20296335/64ec1f22-37df-4597-8259-3dd581656faa) + +3. Browse to Pipeline Run Result: click on the `left` arrow. + + ![image](https://github.com/Azure/azure-rest-api-specs/assets/20296335/726c2e8a-9a39-4af2-b745-0136d53bee6d) + +4. Access Artifacts Page: click on the `artifacts` link. + + ![image](https://github.com/Azure/azure-rest-api-specs/assets/20296335/b2c4c307-a430-4dec-bb09-5ac7e659a418) + +5. Locate Generated Artifacts: + The generated artifacts for Python are located under the `SDK_Artifact_Python` folder. + + ![image](https://github.com/Azure/azure-rest-api-specs/assets/20296335/4cecb794-0ec9-4092-a0cc-b45214438e1e) + diff --git a/eng/pipelines/codeowners-linter.yml b/eng/pipelines/codeowners-linter.yml new file mode 100644 index 000000000000..fdbd55acc06b --- /dev/null +++ b/eng/pipelines/codeowners-linter.yml @@ -0,0 +1,76 @@ +# Lint the CODEOWNERS file for a given repository and filter out baseline errors +# Note: Due to the nature of the verifications, which includes source paths/globs +# for the repository, this pipeline cannot use sparse-checkout. +trigger: none + +pr: + branches: + include: + - main + - feature/* + - hotfix/* + - release/* + paths: + include: + - .github/CODEOWNERS + - .github/CODEOWNERS_baseline_errors.txt + - eng/pipelines/codeowners-linter.yml + +stages: +- stage: Run + variables: + skipComponentGovernanceDetection: true + nugetMultiFeedWarnLevel: 'none' + baseBranchBaseline: '' + + jobs: + - job: Run + timeoutInMinutes: 120 + pool: + name: azsdk-pool-mms-ubuntu-2204-general + vmImage: ubuntu-22.04 + + variables: + CodeownersLinterVersion: '1.0.0-dev.20240614.4' + DotNetDevOpsFeed: "https://pkgs.dev.azure.com/azure-sdk/public/_packaging/azure-sdk-for-net/nuget/v3/index.json" + RepoLabelUri: "https://azuresdkartifacts.blob.core.windows.net/azure-sdk-write-teams/repository-labels-blob" + TeamUserUri: "https://azuresdkartifacts.blob.core.windows.net/azure-sdk-write-teams/azure-sdk-write-teams-blob" + UserOrgUri: "https://azuresdkartifacts.blob.core.windows.net/azure-sdk-write-teams/user-org-visibility-blob" + + steps: + - task: DotNetCoreCLI@2 + displayName: 'Install CodeownersLinter' + inputs: + command: custom + custom: 'tool' + arguments: 'install --global --add-source "$(DotNetDevOpsFeed)" --version "$(CodeownersLinterVersion)" "Azure.Sdk.Tools.CodeownersLinter"' + workingDirectory: '$(Build.SourcesDirectory)/eng/pipelines' + + - ${{ if eq(variables['Build.Reason'], 'PullRequest') }}: + - pwsh: | + Write-Host "git checkout $ENV:SYSTEM_PULLREQUEST_TARGETBRANCH" + git checkout $ENV:SYSTEM_PULLREQUEST_TARGETBRANCH + displayName: Checkout the base branch + + - pwsh: | + # Generate the base branch baseline file to the Build.BinariesDirectory. This will create + # a baseline error file against the CODEOWNERS in the base branch + $baseBranchBaselineFile = "$(Build.BinariesDirectory)/CODEOWNERS_BaseBranch_Baseline_errors.txt" + Write-Host "codeowners-linter --repoRoot $(Build.SourcesDirectory) --repoName $(Build.Repository.Name) -gbl -rUri ""$(RepoLabelUri)"" -tUri ""$(TeamUserUri)"" -uUri ""$(UserOrgUri)"" -bbf ""$baseBranchBaselineFile""" + codeowners-linter --repoRoot $(Build.SourcesDirectory) --repoName $(Build.Repository.Name) -gbl -rUri "$(RepoLabelUri)" -tUri "$(TeamUserUri)" -uUri "$(UserOrgUri)" -bbf "$baseBranchBaselineFile" + echo "##vso[task.setvariable variable=baseBranchBaseline]$baseBranchBaselineFile" + displayName: 'Generate baseline file for base branch' + workingDirectory: '$(Build.SourcesDirectory)/eng/pipelines' + + - pwsh: | + Write-Host "git checkout refs/remotes/pull/$ENV:SYSTEM_PULLREQUEST_PULLREQUESTNUMBER/merge" + git checkout refs/remotes/pull/$ENV:SYSTEM_PULLREQUEST_PULLREQUESTNUMBER/merge + displayName: Checkout the PR branch + + - pwsh: | + # In the case of a PR, the baseBranchBaseline will be set which will be used to further filter results. + # For scheduled runs, the baseBranchBaseline won't be set and only the existing baseline file will be used to filter + Write-Host "codeowners-linter --repoRoot $(Build.SourcesDirectory) --repoName $(Build.Repository.Name) -fbl -rUri ""$(RepoLabelUri)"" -tUri ""$(TeamUserUri)"" -uUri ""$(UserOrgUri)"" -bbf ""$(baseBranchBaseline)""" + codeowners-linter --repoRoot $(Build.SourcesDirectory) --repoName $(Build.Repository.Name) -fbl -rUri "$(RepoLabelUri)" -tUri "$(TeamUserUri)" -uUri "$(UserOrgUri)" -bbf "$(baseBranchBaseline)" + displayName: 'Lint CODEOWNERS and filter using baseline' + workingDirectory: '$(Build.SourcesDirectory)/eng/pipelines' diff --git a/package-lock.json b/package-lock.json index 1637d0e1fb9d..cf58c9a3a61b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,20 +7,21 @@ "name": "azure-rest-api-specs", "devDependencies": { "@azure-tools/typespec-apiview": "0.4.8", - "@azure-tools/typespec-autorest": "0.42.1", - "@azure-tools/typespec-azure-core": "0.42.0", - "@azure-tools/typespec-azure-portal-core": "0.42.0", - "@azure-tools/typespec-azure-resource-manager": "0.42.1", - "@azure-tools/typespec-azure-rulesets": "0.42.1", - "@azure-tools/typespec-client-generator-core": "0.42.3", + "@azure-tools/typespec-autorest": "0.43.0", + "@azure-tools/typespec-azure-core": "0.43.0", + "@azure-tools/typespec-azure-portal-core": "0.43.0", + "@azure-tools/typespec-azure-resource-manager": "0.43.0", + "@azure-tools/typespec-azure-rulesets": "0.43.0", + "@azure-tools/typespec-client-generator-core": "0.43.0", "@azure/avocado": "^0.8.4", - "@typespec/compiler": "0.56.0", - "@typespec/http": "0.56.0", - "@typespec/openapi": "0.56.0", - "@typespec/openapi3": "0.56.0", - "@typespec/rest": "0.56.0", - "@typespec/versioning": "0.56.0", + "@typespec/compiler": "0.57.0", + "@typespec/http": "0.57.0", + "@typespec/openapi": "0.57.0", + "@typespec/openapi3": "0.57.0", + "@typespec/rest": "0.57.0", + "@typespec/versioning": "0.57.0", "azure-rest-api-specs-eng-tools": "file:eng/tools", + "oav": "^3.3.7", "prettier": "~3.2.5", "typescript": "~5.4.5" } @@ -272,6 +273,134 @@ "node": ">=6.0.0" } }, + "node_modules/@apidevtools/json-schema-ref-parser": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.1.2.tgz", + "integrity": "sha512-r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg==", + "dev": true, + "dependencies": { + "@jsdevtools/ono": "^7.1.3", + "@types/json-schema": "^7.0.6", + "call-me-maybe": "^1.0.1", + "js-yaml": "^4.1.0" + } + }, + "node_modules/@apidevtools/json-schema-ref-parser/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@apidevtools/json-schema-ref-parser/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@apidevtools/openapi-schemas": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@apidevtools/openapi-schemas/-/openapi-schemas-2.1.0.tgz", + "integrity": "sha512-Zc1AlqrJlX3SlpupFGpiLi2EbteyP7fXmUOGup6/DnkRgjP9bgMM/ag+n91rsv0U1Gpz0H3VILA/o3bW7Ua6BQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@apidevtools/swagger-methods": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@apidevtools/swagger-methods/-/swagger-methods-3.0.2.tgz", + "integrity": "sha512-QAkD5kK2b1WfjDS/UQn/qQkbwF31uqRjPTrsCs5ZG9BQGAkjwvqGFjjPqAuzac/IYzpPtRzjCP1WrTuAIjMrXg==", + "dev": true + }, + "node_modules/@apidevtools/swagger-parser": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/@apidevtools/swagger-parser/-/swagger-parser-10.0.3.tgz", + "integrity": "sha512-sNiLY51vZOmSPFZA5TF35KZ2HbgYklQnTSDnkghamzLb3EkNtcQnrBQEj5AOCxHpTtXpqMCRM1CrmV2rG6nw4g==", + "dev": true, + "dependencies": { + "@apidevtools/json-schema-ref-parser": "^9.0.6", + "@apidevtools/openapi-schemas": "^2.0.4", + "@apidevtools/swagger-methods": "^3.0.2", + "@jsdevtools/ono": "^7.1.3", + "call-me-maybe": "^1.0.1", + "z-schema": "^5.0.1" + }, + "peerDependencies": { + "openapi-types": ">=7" + } + }, + "node_modules/@autorest/schemas": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@autorest/schemas/-/schemas-1.3.5.tgz", + "integrity": "sha512-HUP89Ns/4vDGcMtmFt/fxu+QqKvit/IQ8oBTQjzC6RnJojF+880KoEgTuweTuea2stzRmNyuMiBu4F8AnxdyUA==", + "dev": true + }, + "node_modules/@azure-tools/openapi-tools-common": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@azure-tools/openapi-tools-common/-/openapi-tools-common-1.2.2.tgz", + "integrity": "sha512-r6oBkNsND1sA+ZjHlE1vTf2hUj4RUnbD9KG9uksEKnLVC6oOD5WuJYCO5y4xDzWWuR0x+9gImovQqXAE7ZXYfg==", + "dev": true, + "dependencies": { + "@types/async-retry": "^1.4.1", + "@types/commonmark": "^0.27.3", + "@types/node-fetch": "^2.5.7", + "async-retry": "^1.2.3", + "commonmark": "^0.28.1", + "front-matter": "^4.0.2", + "node-fetch": "^2.6.0", + "tslib": "^2.0.0" + } + }, + "node_modules/@azure-tools/openapi-tools-common/node_modules/commonmark": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.28.1.tgz", + "integrity": "sha512-PklsZ9pgrfFQ5hQH9BRzoWnqI9db2LeR9MhvkNk8iz97kfaTNmhTU+IE8jKDHTEfivZZXoFqzGqzddXdk14EJw==", + "dev": true, + "dependencies": { + "entities": "~ 1.1.1", + "mdurl": "~ 1.0.1", + "minimist": "~ 1.2.0", + "string.prototype.repeat": "^0.2.0" + }, + "bin": { + "commonmark": "bin/commonmark" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@azure-tools/openapi-tools-common/node_modules/entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "node_modules/@azure-tools/openapi-tools-common/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/@azure-tools/suppressions": { "resolved": "eng/tools/suppressions", "link": true @@ -290,51 +419,52 @@ } }, "node_modules/@azure-tools/typespec-autorest": { - "version": "0.42.1", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-autorest/-/typespec-autorest-0.42.1.tgz", - "integrity": "sha512-egWR2Ljxde5PvyDwuVu/8Rq8cSW6FW+qMbvwHfzrtm/sULdSnA6k+VnGD/PQ+dk+1SmFeKG1b+0MlaFuBVz1Hw==", + "version": "0.43.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-autorest/-/typespec-autorest-0.43.0.tgz", + "integrity": "sha512-tZ9uXXOdxu2y01W9n3mzXf+IEY2MQkP/JaQaKlcOx2+dbklHNQWSDU0Vm6Gmm6l//XiF9QiI8653BiuO97czyw==", "dev": true, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": "~0.42.0", - "@azure-tools/typespec-client-generator-core": "~0.42.0", - "@typespec/compiler": "~0.56.0", - "@typespec/http": "~0.56.0", - "@typespec/openapi": "~0.56.0", - "@typespec/rest": "~0.56.0", - "@typespec/versioning": "~0.56.0" + "@azure-tools/typespec-azure-core": "~0.43.0", + "@azure-tools/typespec-azure-resource-manager": "~0.43.0", + "@azure-tools/typespec-client-generator-core": "~0.43.0", + "@typespec/compiler": "~0.57.0", + "@typespec/http": "~0.57.0", + "@typespec/openapi": "~0.57.0", + "@typespec/rest": "~0.57.0", + "@typespec/versioning": "~0.57.0" } }, "node_modules/@azure-tools/typespec-azure-core": { - "version": "0.42.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.42.0.tgz", - "integrity": "sha512-8C96RkgSWtgqsaHRMWCd2iDltFJZTGmFQiTZazZj/uRy0Wn1ikjSriSN8t1puL5SiUPd0BVJP/YXiwAfjfZYDA==", + "version": "0.43.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-core/-/typespec-azure-core-0.43.0.tgz", + "integrity": "sha512-B1r0i3segJ7RuNXxcAMBy8H2t+jTkaf74dkyUWD0HIFPkhETN0uR59nuor+s+LoLU8yI4JypOFSNZt6e1rod8w==", "dev": true, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.56.0", - "@typespec/http": "~0.56.0", - "@typespec/rest": "~0.56.0" + "@typespec/compiler": "~0.57.0", + "@typespec/http": "~0.57.0", + "@typespec/rest": "~0.57.0" } }, "node_modules/@azure-tools/typespec-azure-portal-core": { - "version": "0.42.0", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-portal-core/-/typespec-azure-portal-core-0.42.0.tgz", - "integrity": "sha512-3RSAC/tUoZ74wXrPHupJB1qLhQNnm00OUDZU9YJ8Wv5NNEr1aar1z2luyhR9SWDk42B+snhnzm9hH5CHxtk1lA==", + "version": "0.43.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-portal-core/-/typespec-azure-portal-core-0.43.0.tgz", + "integrity": "sha512-I/EHlE27zB7arteyg1kNSKua0Uip8qbcLCYYEhdP0NzpEVqcA2mdEnwmc6xjP7/Tg3X0FeGf8Bc+UTSHK5zr/g==", "dev": true, "peerDependencies": { - "@azure-tools/typespec-azure-resource-manager": "~0.42.0", - "@typespec/compiler": "~0.56.0" + "@azure-tools/typespec-azure-resource-manager": "~0.43.0", + "@typespec/compiler": "~0.57.0" } }, "node_modules/@azure-tools/typespec-azure-resource-manager": { - "version": "0.42.1", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-resource-manager/-/typespec-azure-resource-manager-0.42.1.tgz", - "integrity": "sha512-vUqmHWS9OrN+16jXfpgUdUXXa1RLrr8Pkrzb1HFQGmdXuRxMZZtLCRcyyEHZJIMYE4RmmpPoB3JJeqiGWxlegQ==", + "version": "0.43.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-resource-manager/-/typespec-azure-resource-manager-0.43.0.tgz", + "integrity": "sha512-0GQL+/o1u+PAB63FpYz3sy3ZgZvCtk5T4sDAnICnV23v2YWIONDMUfxxd0x40xJbY6PkcwwHDpBLNMqajf2H6A==", "dev": true, "dependencies": { "change-case": "~5.4.4", @@ -344,37 +474,34 @@ "node": ">=18.0.0" }, "peerDependencies": { - "@azure-tools/typespec-autorest": "~0.42.1", - "@azure-tools/typespec-azure-core": "~0.42.0", - "@typespec/compiler": "~0.56.0", - "@typespec/http": "~0.56.0", - "@typespec/openapi": "~0.56.0", - "@typespec/rest": "~0.56.0", - "@typespec/versioning": "~0.56.0" + "@azure-tools/typespec-azure-core": "~0.43.0", + "@typespec/compiler": "~0.57.0", + "@typespec/http": "~0.57.0", + "@typespec/openapi": "~0.57.0", + "@typespec/rest": "~0.57.0", + "@typespec/versioning": "~0.57.0" } }, "node_modules/@azure-tools/typespec-azure-rulesets": { - "version": "0.42.1", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-rulesets/-/typespec-azure-rulesets-0.42.1.tgz", - "integrity": "sha512-GRiMErWJ96DvDBQMVgGI1sgMTOegXxpx7w6enZyEF0BaodxGfObJyl1TrMb9Pj6NAZfV5Q6uJAfXFbpF1MVDCw==", + "version": "0.43.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-azure-rulesets/-/typespec-azure-rulesets-0.43.0.tgz", + "integrity": "sha512-yh0dNQIM4hRDWATh/tkONP991uMxFDHY8BkC0eWtIpfTjQTuR2PlGhrLgMxHT2Q5cCusfkNWeFvKDYlxKeoFLA==", "dev": true, - "license": "MIT", "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": "~0.42.0", - "@azure-tools/typespec-azure-resource-manager": "~0.42.1", - "@azure-tools/typespec-client-generator-core": "~0.42.3", - "@typespec/compiler": "~0.56.0" + "@azure-tools/typespec-azure-core": "~0.43.0", + "@azure-tools/typespec-azure-resource-manager": "~0.43.0", + "@azure-tools/typespec-client-generator-core": "~0.43.0", + "@typespec/compiler": "~0.57.0" } }, "node_modules/@azure-tools/typespec-client-generator-core": { - "version": "0.42.3", - "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.42.3.tgz", - "integrity": "sha512-ZDVVIY1uJ8EaI4QhCdQmTdKVACm4xYn/I7ySpwv4oxk9X8kZFhxx+PKNHAlx34mhOf4oF0PW3wCN5DMeU6asYg==", + "version": "0.43.0", + "resolved": "https://registry.npmjs.org/@azure-tools/typespec-client-generator-core/-/typespec-client-generator-core-0.43.0.tgz", + "integrity": "sha512-rssB/zsg89wstzJC1MWzbd8oPpqbgoftkp9G/NP3BoMb/gCP5uRLggwlSUAgnoU2Lt0jBUKcMlqEiVLTAkY9LA==", "dev": true, - "license": "MIT", "dependencies": { "change-case": "~5.4.4", "pluralize": "^8.0.0" @@ -383,17 +510,29 @@ "node": ">=18.0.0" }, "peerDependencies": { - "@azure-tools/typespec-azure-core": "~0.42.0", - "@typespec/compiler": "~0.56.0", - "@typespec/http": "~0.56.0", - "@typespec/rest": "~0.56.0", - "@typespec/versioning": "~0.56.0" + "@azure-tools/typespec-azure-core": "~0.43.0", + "@typespec/compiler": "~0.57.0", + "@typespec/http": "~0.57.0", + "@typespec/rest": "~0.57.0", + "@typespec/versioning": "~0.57.0" } }, "node_modules/@azure-tools/typespec-validation": { "resolved": "eng/tools/typespec-validation", "link": true }, + "node_modules/@azure/abort-controller": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-1.1.0.tgz", + "integrity": "sha512-TrRLIoSQVzfAJX9H1JeFjzAoDGcoK1IYX1UImfceTZpsyYfWr09Ss1aHW1y5TrrR3iq6RZLBwJ3E24uwPhwahw==", + "dev": true, + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/@azure/avocado": { "version": "0.8.14", "resolved": "https://registry.npmjs.org/@azure/avocado/-/avocado-0.8.14.tgz", @@ -422,6 +561,183 @@ "avocado": "bin/cli.js" } }, + "node_modules/@azure/core-auth": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@azure/core-auth/-/core-auth-1.7.2.tgz", + "integrity": "sha512-Igm/S3fDYmnMq1uKS38Ae1/m37B3zigdlZw+kocwEhh5GjyKjPrXKO2J6rzpC1wAxrNil/jX9BJRqBshyjnF3g==", + "dev": true, + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "@azure/core-util": "^1.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-auth/node_modules/@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dev": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-http": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@azure/core-http/-/core-http-3.0.4.tgz", + "integrity": "sha512-Fok9VVhMdxAFOtqiiAtg74fL0UJkt0z3D+ouUUxcRLzZNBioPRAMJFVxiWoJljYpXsRi4GDQHzQHDc9AiYaIUQ==", + "dev": true, + "dependencies": { + "@azure/abort-controller": "^1.0.0", + "@azure/core-auth": "^1.3.0", + "@azure/core-tracing": "1.0.0-preview.13", + "@azure/core-util": "^1.1.1", + "@azure/logger": "^1.0.0", + "@types/node-fetch": "^2.5.0", + "@types/tunnel": "^0.0.3", + "form-data": "^4.0.0", + "node-fetch": "^2.6.7", + "process": "^0.11.10", + "tslib": "^2.2.0", + "tunnel": "^0.0.6", + "uuid": "^8.3.0", + "xml2js": "^0.5.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@azure/core-http/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@azure/core-tracing": { + "version": "1.0.0-preview.13", + "resolved": "https://registry.npmjs.org/@azure/core-tracing/-/core-tracing-1.0.0-preview.13.tgz", + "integrity": "sha512-KxDlhXyMlh2Jhj2ykX6vNEU0Vou4nHr025KoSEiz7cS3BNiHNaZcdECk/DmLkEB0as5T7b/TpRcehJ5yV6NeXQ==", + "dev": true, + "dependencies": { + "@opentelemetry/api": "^1.0.1", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/@azure/core-util": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.9.0.tgz", + "integrity": "sha512-AfalUQ1ZppaKuxPPMsFEUdX6GZPB3d9paR9d/TTL7Ow2De8cJaC7ibi7kWVlFAVPCYo31OcnGymc0R89DX8Oaw==", + "dev": true, + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/core-util/node_modules/@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dev": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/logger": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.1.2.tgz", + "integrity": "sha512-l170uE7bsKpIU6B/giRc9i4NI0Mj+tANMMMxf7Zi/5cKzEqPayP7+X1WPrG7e+91JgY8N+7K7nF2WOi7iVhXvg==", + "dev": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@azure/ms-rest-js": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/@azure/ms-rest-js/-/ms-rest-js-2.7.0.tgz", + "integrity": "sha512-ngbzWbqF+NmztDOpLBVDxYM+XLcUj7nKhxGbSU9WtIsXfRB//cf2ZbAG5HkOrhU9/wd/ORRB6lM/d69RKVjiyA==", + "dev": true, + "dependencies": { + "@azure/core-auth": "^1.1.4", + "abort-controller": "^3.0.0", + "form-data": "^2.5.0", + "node-fetch": "^2.6.7", + "tslib": "^1.10.0", + "tunnel": "0.0.6", + "uuid": "^8.3.2", + "xml2js": "^0.5.0" + } + }, + "node_modules/@azure/ms-rest-js/node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/@azure/ms-rest-js/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/@azure/ms-rest-js/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, "node_modules/@azure/openapi-markdown": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/@azure/openapi-markdown/-/openapi-markdown-0.9.4.tgz", @@ -557,6 +873,26 @@ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", "dev": true }, + "node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "dev": true, + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", @@ -925,6 +1261,12 @@ "node": ">=12" } }, + "node_modules/@faker-js/faker": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/@faker-js/faker/-/faker-5.5.3.tgz", + "integrity": "sha512-R11tGE6yIFwqpaIqcfkcg7AICXzFg14+5h5v0TfF/9+RMDL6jhzCy/pxHVOfbALGdtVYdt6JdR21tuxEgl34dw==", + "dev": true + }, "node_modules/@istanbuljs/schema": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", @@ -994,6 +1336,12 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "dev": true + }, "node_modules/@kwsites/file-exists": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", @@ -1044,6 +1392,65 @@ "node": ">= 8" } }, + "node_modules/@opentelemetry/api": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.8.0.tgz", + "integrity": "sha512-I/s6F7yKUDdtMsoBWXJe8Qz40Tui5vsuKCWJEWVL+5q9sSWRzzx6v2KeNsOBEwd94j0eWkpWCH4yB6rZg9Mf0w==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@postman/form-data": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@postman/form-data/-/form-data-3.1.1.tgz", + "integrity": "sha512-vjh8Q2a8S6UCm/KKs31XFJqEEgmbjBmpPNVV2eVav6905wyFAwaUOBGA1NPBI4ERH9MMZc6w0umFgM6WbEPMdg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@postman/tough-cookie": { + "version": "4.1.3-postman.1", + "resolved": "https://registry.npmjs.org/@postman/tough-cookie/-/tough-cookie-4.1.3-postman.1.tgz", + "integrity": "sha512-txpgUqZOnWYnUHZpHjkfb0IwVH4qJmyq77pPnJLlfhMtdCLMFTEeQHlzQiK906aaNCe4NEB5fGJHo9uzGbFMeA==", + "dev": true, + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@postman/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/@postman/tunnel-agent": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@postman/tunnel-agent/-/tunnel-agent-0.6.3.tgz", + "integrity": "sha512-k57fzmAZ2PJGxfOA4SGR05ejorHbVAa/84Hxh/2nAztjNXc4ZjOm9NUIk6/Z6LCrBvJZqjRZbN8e/nROVUPVdg==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.17.2", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz", @@ -1511,6 +1918,12 @@ "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", "dev": true }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, "node_modules/@types/node": { "version": "10.17.60", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", @@ -1533,24 +1946,39 @@ "integrity": "sha512-3xSjTp3v03X/lSQLkczaN9UIEwJMoMCA1+Nb5HfbJEQWogdeQIyVtTvxPXDQjZ5zws8rFQfVfRdz03ARihPJgw==", "dev": true }, + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "dev": true + }, + "node_modules/@types/tunnel": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/tunnel/-/tunnel-0.0.3.tgz", + "integrity": "sha512-sOUTGn6h1SfQ+gbgqC364jLFBw2lnFqkgF3q0WovEHRLMrVD1sd5aufqi/aJObLekJO+Aq5z646U4Oxy6shXMA==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@typespec/compiler": { - "version": "0.56.0", - "resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-0.56.0.tgz", - "integrity": "sha512-K+VhXycoeqcoSGtB0/l1XYco4V2qRsCOOwqklVM4Yew7kTcKVfz7CT7a6a2OKWDMNg5iijZtRBoM5YF50XtQug==", + "version": "0.57.0", + "resolved": "https://registry.npmjs.org/@typespec/compiler/-/compiler-0.57.0.tgz", + "integrity": "sha512-Z5L7J90Ol21IbzU+rBD2wzKy2vJ2Yg2FIzi+yB5rtb7/c4oBea/CgEByMVHBtT7uw45ZXJpHOiepuGSPVXw2EA==", "dev": true, "dependencies": { "@babel/code-frame": "~7.24.2", - "ajv": "~8.12.0", + "ajv": "~8.13.0", "change-case": "~5.4.4", "globby": "~14.0.1", "mustache": "~4.2.0", - "picocolors": "~1.0.0", + "picocolors": "~1.0.1", "prettier": "~3.2.5", "prompts": "~2.4.2", - "semver": "^7.6.0", + "semver": "^7.6.2", "vscode-languageserver": "~9.0.1", "vscode-languageserver-textdocument": "~1.0.11", - "yaml": "~2.4.1", + "yaml": "~2.4.2", "yargs": "~17.7.2" }, "bin": { @@ -1662,71 +2090,71 @@ } }, "node_modules/@typespec/http": { - "version": "0.56.0", - "resolved": "https://registry.npmjs.org/@typespec/http/-/http-0.56.0.tgz", - "integrity": "sha512-f/tpHRWev9bnAtNPFkfCU/5SFou9glA/rPDY0m2W5bK6EG1/6/TKKKz5FoKPA4xvc2dQ5vu/ouGLb4i5UzXvWQ==", + "version": "0.57.0", + "resolved": "https://registry.npmjs.org/@typespec/http/-/http-0.57.0.tgz", + "integrity": "sha512-k3bWOTPNqlRB3/TmrXVBtObmxj2J20l2FnhGXvs+tjdtbXLxCQWmvQz6xlne9nkLAtWVB/pQRUn+oMJfhWta3w==", "dev": true, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.56.0" + "@typespec/compiler": "~0.57.0" } }, "node_modules/@typespec/openapi": { - "version": "0.56.0", - "resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-0.56.0.tgz", - "integrity": "sha512-q8+IHRglXBm3slvonRLSNYN2fX7plbWA+ugIiMJZTeyc3enqfxPqMGA8BCiAFV3kwP0uPPpIXbCSIVhHgkONbA==", + "version": "0.57.0", + "resolved": "https://registry.npmjs.org/@typespec/openapi/-/openapi-0.57.0.tgz", + "integrity": "sha512-35wK/BqjOXSlhWuGMwoYN3FSgIYFOKtw8ot4ErcgmxAGuKaS2GkUhZvtQJXUn2ByU0Fl4jqslPmTz8SEcz7rbw==", "dev": true, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.56.0", - "@typespec/http": "~0.56.0" + "@typespec/compiler": "~0.57.0", + "@typespec/http": "~0.57.0" } }, "node_modules/@typespec/openapi3": { - "version": "0.56.0", - "resolved": "https://registry.npmjs.org/@typespec/openapi3/-/openapi3-0.56.0.tgz", - "integrity": "sha512-55JPUP7dFk4iXn4fNKZEs76j7hAdlWfoMWNPsQPRJCP//KWCtNXfTP+/TTVPVv1L/6HztbXyPV0agKZwyS7gDw==", + "version": "0.57.0", + "resolved": "https://registry.npmjs.org/@typespec/openapi3/-/openapi3-0.57.0.tgz", + "integrity": "sha512-spNLzwCTduPISJBTWhqsMLTjuGC3Tdh/FVI1rTGnRunB7ZXjhRyz031o1bCe2BZeW1w1sacZGfe+ba8sXqgMxA==", "dev": true, "dependencies": { - "yaml": "~2.4.1" + "yaml": "~2.4.2" }, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.56.0", - "@typespec/http": "~0.56.0", - "@typespec/openapi": "~0.56.0", - "@typespec/versioning": "~0.56.0" + "@typespec/compiler": "~0.57.0", + "@typespec/http": "~0.57.0", + "@typespec/openapi": "~0.57.0", + "@typespec/versioning": "~0.57.0" } }, "node_modules/@typespec/rest": { - "version": "0.56.0", - "resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.56.0.tgz", - "integrity": "sha512-8w4WhWDcpEQNW8bB1BHhiBxIQUChDJtyq/n9p2OI/Bm1wncd61y/ZNOtcxmlKq8uB9d+dzHiZdEfqFCR8HF8/Q==", + "version": "0.57.0", + "resolved": "https://registry.npmjs.org/@typespec/rest/-/rest-0.57.0.tgz", + "integrity": "sha512-mZj76Kf+cmH38pYA6LT8Zz7QjuR3fdQo5bc8pXhKMwLq9vRqNLz6Z9InbOeo8zY+xP0GfUwEU9kXczmCc8gyRA==", "dev": true, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.56.0", - "@typespec/http": "~0.56.0" + "@typespec/compiler": "~0.57.0", + "@typespec/http": "~0.57.0" } }, "node_modules/@typespec/versioning": { - "version": "0.56.0", - "resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.56.0.tgz", - "integrity": "sha512-j7IN9XFyGn3LH6IOJkinEvk9sDncsxiWPULOAe0VQ+D/dtCfLawDMUALnvklMDRKeD1OOUPSCjjUAp9OB0f7YA==", + "version": "0.57.0", + "resolved": "https://registry.npmjs.org/@typespec/versioning/-/versioning-0.57.0.tgz", + "integrity": "sha512-kk6zCNSwcqqYB9isNNagTy+Zv6wEIRA4NkcZ/X1riTj2zhJwKsIFNXQWm1yxpZn+BY4+1QtuaQHuBLo8HbgR/w==", "dev": true, "engines": { "node": ">=18.0.0" }, "peerDependencies": { - "@typespec/compiler": "~0.56.0" + "@typespec/compiler": "~0.57.0" } }, "node_modules/@vitest/expect": { @@ -1813,10 +2241,22 @@ "url": "https://opencollective.com/vitest" } }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dev": true, + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -1835,15 +2275,15 @@ } }, "node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.13.0.tgz", + "integrity": "sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", "json-schema-traverse": "^1.0.0", "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "uri-js": "^4.4.1" }, "funding": { "type": "github", @@ -1880,6 +2320,24 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, "node_modules/assertion-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", @@ -1889,6 +2347,12 @@ "node": "*" } }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true + }, "node_modules/async-retry": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", @@ -1904,6 +2368,21 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", "dev": true }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.0.tgz", + "integrity": "sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==", + "dev": true + }, "node_modules/azure-rest-api-specs-eng-tools": { "resolved": "eng/tools", "link": true @@ -1914,6 +2393,41 @@ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", "dev": true }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bluebird": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.11.0.tgz", + "integrity": "sha512-UfFSr22dmHPQqPP9XWHRhq+gWnHCYguQGkXQlbyPtW5qTnhFWA8/iXg765tH0cAjy7l/zPJ1aBTO0g5XgA7kvQ==", + "dev": true + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1936,6 +2450,15 @@ "node": ">=8" } }, + "node_modules/brotli": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.3.tgz", + "integrity": "sha512-oTKjJdShmDuGW94SyyaoQvAjf30dZaHnjJ8uAF+u2/vGJkJbJPJAT1gDiOJP5v1Zb6f9KEyW/1HpuaWIXtGHPg==", + "dev": true, + "dependencies": { + "base64-js": "^1.1.2" + } + }, "node_modules/cac": { "version": "6.7.14", "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", @@ -1945,6 +2468,12 @@ "node": ">=8" } }, + "node_modules/call-me-maybe": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", + "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", + "dev": true + }, "node_modules/camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", @@ -1954,6 +2483,12 @@ "node": ">=6" } }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, "node_modules/chai": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", @@ -1992,6 +2527,21 @@ "integrity": "sha512-HRQyTk2/YPEkt9TnUPbOpr64Uw3KOicFWPVBb+xiHvd6eBx/qPr9xqfBFDT8P2vWsvvz4jbEkfDe71W3VyNu2w==", "dev": true }, + "node_modules/chardet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.0.0.tgz", + "integrity": "sha512-xVgPpulCooDjY6zH4m9YW3jbkaBe3FKIAvF5sj5t7aBNsVl2ljIE+xwJ4iNgiDZHFQvNIpjdKdVOQvvk5ZfxbQ==", + "dev": true + }, + "node_modules/charset": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/charset/-/charset-1.0.1.tgz", + "integrity": "sha512-6dVyOOYjpfFcL1Y4qChrAoQLRHvj2ziyhcm0QJlhOcAhykL/k1kTUPbeo+87MNRTRdk2OIIsIXbuF3x2wi5EXg==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/check-error": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", @@ -2004,6 +2554,43 @@ "node": "*" } }, + "node_modules/cli-progress": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/cli-progress/-/cli-progress-3.12.0.tgz", + "integrity": "sha512-tRkV3HJ1ASwm19THiiLIXLO7Im7wlTuKnvkYaTkyoAPefqjNg7W7DHKUlGRxy9vxDvbyCYQkQozvptuMkGCg8A==", + "dev": true, + "dependencies": { + "string-width": "^4.2.3" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-table3": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-table3/node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/cliui": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", @@ -2015,6 +2602,16 @@ "wrap-ansi": "^6.2.0" } }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -2030,6 +2627,35 @@ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", "dev": true }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dev": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "dev": true, + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", @@ -2042,6 +2668,15 @@ "node": ">= 0.8" } }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "dev": true, + "engines": { + "node": ">=16" + } + }, "node_modules/commonmark": { "version": "0.29.3", "resolved": "https://registry.npmjs.org/commonmark/-/commonmark-0.29.3.tgz", @@ -2072,6 +2707,12 @@ "integrity": "sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==", "dev": true }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, "node_modules/cross-spawn": { "version": "7.0.3", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", @@ -2086,6 +2727,24 @@ "node": ">= 8" } }, + "node_modules/csv-parse": { + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.16.3.tgz", + "integrity": "sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==", + "dev": true + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/data-uri-to-buffer": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", @@ -2095,6 +2754,15 @@ "node": ">= 12" } }, + "node_modules/date-format": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.3.tgz", + "integrity": "sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/debug": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", @@ -2133,6 +2801,16 @@ "node": ">=6" } }, + "node_modules/deepdash": { + "version": "5.3.9", + "resolved": "https://registry.npmjs.org/deepdash/-/deepdash-5.3.9.tgz", + "integrity": "sha512-GRzJ0q9PDj2T+J2fX+b+TlUa2NlZ11l6vJ8LHNKVGeZ8CfxCuJaCychTq07iDRTvlfO8435jlvVS1QXBrW9kMg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21", + "lodash-es": "^4.17.21" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -2142,6 +2820,16 @@ "node": ">=0.4.0" } }, + "node_modules/des.js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz", + "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, "node_modules/diff-sequences": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", @@ -2151,12 +2839,40 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/difflib": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/difflib/-/difflib-0.2.4.tgz", + "integrity": "sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==", + "dev": true, + "dependencies": { + "heap": ">= 0.2.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, + "node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", + "dev": true + }, "node_modules/entities": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", @@ -2241,6 +2957,15 @@ "@types/estree": "^1.0.0" } }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/execa": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", @@ -2264,6 +2989,21 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -2286,6 +3026,12 @@ "node": ">=8.6.0" } }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, "node_modules/fastq": { "version": "1.17.1", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", @@ -2295,6 +3041,12 @@ "reusify": "^1.0.4" } }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "dev": true + }, "node_modules/fetch-blob": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", @@ -2318,6 +3070,24 @@ "node": "^12.20 || >= 14.13" } }, + "node_modules/file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/filesize": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-10.1.2.tgz", + "integrity": "sha512-Dx770ai81ohflojxhU+oG+Z2QGvKdYxgEr9OSA8UVrqhwNHjfH9A8f5NKfg83fEH8ZFA5N5llJo5T3PIoZ4CRA==", + "dev": true, + "engines": { + "node": ">= 10.4.0" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -2343,6 +3113,33 @@ "node": ">=8" } }, + "node_modules/flatted": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", + "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==", + "dev": true + }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "dev": true + }, + "node_modules/foreach": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.6.tgz", + "integrity": "sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg==", + "dev": true + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/form-data": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", @@ -2378,6 +3175,20 @@ "js-yaml": "^3.13.1" } }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2428,6 +3239,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -2480,12 +3300,84 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, "node_modules/growly": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", "dev": true }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "deprecated": "this library is no longer supported", + "dev": true, + "dependencies": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/har-validator/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/har-validator/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -2495,19 +3387,97 @@ "node": ">=4" } }, + "node_modules/heap": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/heap/-/heap-0.2.7.tgz", + "integrity": "sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==", + "dev": true + }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "node_modules/http-reasons": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/http-reasons/-/http-reasons-0.1.0.tgz", + "integrity": "sha512-P6kYh0lKZ+y29T2Gqz+RlC9WBLhKe8kDmcJ+A+611jFfxdPsbMRQ5aNmFRM3lENqFkK+HTTL+tlQviAiv0AbLQ==", + "dev": true + }, + "node_modules/http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + }, "engines": { - "node": ">=16.17.0" + "node": ">=0.10" + } + }, + "node_modules/httpntlm": { + "version": "1.8.13", + "resolved": "https://registry.npmjs.org/httpntlm/-/httpntlm-1.8.13.tgz", + "integrity": "sha512-2F2FDPiWT4rewPzNMg3uPhNkP3NExENlUGADRUDPQvuftuUTGW98nLZtGemCIW3G40VhWZYgkIDcQFAwZ3mf2Q==", + "dev": true, + "funding": [ + { + "type": "paypal", + "url": "https://www.paypal.com/donate/?hosted_button_id=2CKNJLZJBW8ZC" + }, + { + "type": "buymeacoffee", + "url": "https://www.buymeacoffee.com/samdecrock" + } + ], + "dependencies": { + "des.js": "^1.0.1", + "httpreq": ">=0.4.22", + "js-md4": "^0.3.2", + "underscore": "~1.12.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, + "node_modules/httpreq": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/httpreq/-/httpreq-1.1.1.tgz", + "integrity": "sha512-uhSZLPPD2VXXOSN8Cni3kIsoFHaU2pT/nySEU/fHr/ePbqHYr0jeiQRmUKLEirC09SFPsdMoA7LU7UXMd/w0Kw==", + "dev": true, + "engines": { + "node": ">= 6.15.1" + } + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/humanize-duration": { + "version": "3.32.1", + "resolved": "https://registry.npmjs.org/humanize-duration/-/humanize-duration-3.32.1.tgz", + "integrity": "sha512-inh5wue5XdfObhu/IGEMiA1nUXigSGcaKNemcbLRKa7jXYGDZXr3LoT9pTIzq2hPEbld7w/qv9h+ikWGz8fL1g==", + "dev": true + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, "node_modules/ignore": { @@ -2535,6 +3505,18 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, + "node_modules/inversify": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/inversify/-/inversify-5.1.1.tgz", + "integrity": "sha512-j8grHGDzv1v+8T1sAQ+3boTCntFPfvxLCkNcxB1J8qA0lUN+fAlSyYd+RXKvaPRL4AGyPxViutBEJHNXOyUdFQ==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, "node_modules/is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", @@ -2601,6 +3583,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -2619,6 +3607,12 @@ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, "node_modules/istanbul-lib-coverage": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", @@ -2690,6 +3684,27 @@ "node": ">=8" } }, + "node_modules/jose": { + "version": "4.14.4", + "resolved": "https://registry.npmjs.org/jose/-/jose-4.14.4.tgz", + "integrity": "sha512-j8GhLiKmUAh+dsFXlX1aJCbt5KMibuKb+d7j1JaOJG6s2UjX1PQlW+OKB/sD4a/5ZYF4RcmYmLSndOoU3Lt/3g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/panva" + } + }, + "node_modules/js-md4": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/js-md4/-/js-md4-0.3.2.tgz", + "integrity": "sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA==", + "dev": true + }, + "node_modules/js-sha512": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/js-sha512/-/js-sha512-0.9.0.tgz", + "integrity": "sha512-mirki9WS/SUahm+1TbAPkqvbCiCfOAAsyXeHxK1UkullnJVVqoJG2pL9ObvT05CN+tM7fxhfYm0NbXn+1hWoZg==", + "dev": true + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -2709,12 +3724,60 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/json-merge-patch": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-merge-patch/-/json-merge-patch-1.0.2.tgz", + "integrity": "sha512-M6Vp2GN9L7cfuMXiWOmHj9bEFbeC250iVtcKQbqVgEsDVYnIsrNsbU+h/Y/PkbBQCtEa4Bez+Ebv0zfbC8ObLg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + } + }, + "node_modules/json-pointer": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz", + "integrity": "sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==", + "dev": true, + "dependencies": { + "foreach": "^2.0.4" + } + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, "node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, "node_modules/jsonpath-plus": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-6.0.1.tgz", @@ -2724,6 +3787,60 @@ "node": ">=10.0.0" } }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "node_modules/junit-report-builder": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/junit-report-builder/-/junit-report-builder-3.2.1.tgz", + "integrity": "sha512-IMCp5XyDQ4YESDE4Za7im3buM0/7cMnRfe17k2X8B05FnUl9vqnaliX6cgOEmPIeWKfJrEe/gANRq/XgqttCqQ==", + "dev": true, + "dependencies": { + "date-format": "4.0.3", + "lodash": "^4.17.21", + "make-dir": "^3.1.0", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/junit-report-builder/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/junit-report-builder/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/kleur": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", @@ -2733,6 +3850,21 @@ "node": ">=6" } }, + "node_modules/kuler": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", + "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", + "dev": true + }, + "node_modules/liquid-json": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/liquid-json/-/liquid-json-0.3.1.tgz", + "integrity": "sha512-wUayTU8MS827Dam6MxgD72Ui+KOSF+u/eIqpatOtjnvgJ0+mnDq33uC2M7J0tPK+upe/DpUAuK4JUU89iBoNKQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/local-pkg": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", @@ -2761,6 +3893,47 @@ "node": ">=8" } }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", + "dev": true + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "dev": true + }, + "node_modules/logform": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/logform/-/logform-2.6.0.tgz", + "integrity": "sha512-1ulHeNPp6k/LD8H91o7VYFBng5i1BDE7HoKxVbZiGFidS1Rj65qcywLxX+pVfAPoQJEjRdvKcusKwOupHCVOVQ==", + "dev": true, + "dependencies": { + "@colors/colors": "1.6.0", + "@types/triple-beam": "^1.3.2", + "fecha": "^4.2.0", + "ms": "^2.1.1", + "safe-stable-stringify": "^2.3.1", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, "node_modules/loupe": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", @@ -2770,6 +3943,18 @@ "get-func-name": "^2.0.1" } }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/magic-string": { "version": "0.30.10", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", @@ -2805,6 +3990,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/md5-file": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/md5-file/-/md5-file-5.0.0.tgz", + "integrity": "sha512-xbEFXCYVWrSx/gEKS1VPlg84h/4L20znVIulKw6kMfmBUAZNAnF00eczz9ICMl+/hjQGo5KSXRxbL/47X3rmMw==", + "dev": true, + "bin": { + "md5-file": "cli.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", @@ -2848,6 +4045,15 @@ "node": ">= 0.6" } }, + "node_modules/mime-format": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mime-format/-/mime-format-2.0.1.tgz", + "integrity": "sha512-XxU3ngPbEnrYnNbIX+lYSaYg0M01v6p2ntd2YaFksTu0vayaw5OJvbdRyWs07EYRlLED5qadUZ+xo+XhOvFhwg==", + "dev": true, + "dependencies": { + "charset": "^1.0.0" + } + }, "node_modules/mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", @@ -2872,6 +4078,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -2893,6 +4105,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/mlly": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.0.tgz", @@ -2905,6 +4129,15 @@ "ufo": "^1.5.3" } }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -2938,6 +4171,62 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/newman": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/newman/-/newman-6.1.3.tgz", + "integrity": "sha512-Zv+BjkJsYwSwc4oE3o40W6enBZRS7a7OL3aB8c4e46tDvg4HCOh6EhsmQmYhSMmlYF2JBieYiqS7XUwWkY6PiQ==", + "dev": true, + "dependencies": { + "@postman/tough-cookie": "4.1.3-postman.1", + "async": "3.2.5", + "chardet": "2.0.0", + "cli-progress": "3.12.0", + "cli-table3": "0.6.5", + "colors": "1.4.0", + "commander": "11.1.0", + "csv-parse": "4.16.3", + "filesize": "10.1.2", + "liquid-json": "0.3.1", + "lodash": "4.17.21", + "mkdirp": "3.0.1", + "postman-collection": "4.4.0", + "postman-collection-transformer": "4.1.8", + "postman-request": "2.88.1-postman.33", + "postman-runtime": "7.39.0", + "pretty-ms": "7.0.1", + "semver": "7.6.2", + "serialised-error": "1.1.3", + "word-wrap": "1.2.5", + "xmlbuilder": "15.1.1" + }, + "bin": { + "newman": "bin/newman.js" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/newman/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/node-domexception": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", @@ -2975,6 +4264,15 @@ "url": "https://opencollective.com/node-fetch" } }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, "node_modules/node-notifier": { "version": "10.0.1", "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz", @@ -2989,6 +4287,12 @@ "which": "^2.0.2" } }, + "node_modules/node-oauth1": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/node-oauth1/-/node-oauth1-1.3.0.tgz", + "integrity": "sha512-0yggixNfrA1KcBwvh/Hy2xAS1Wfs9dcg6TdFf2zN7gilcAigMdrtZ4ybrBSXBgLvGDw9V1p2MRnGBMq7XjTWLg==", + "dev": true + }, "node_modules/node-object-hash": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/node-object-hash/-/node-object-hash-1.4.2.tgz", @@ -3025,6 +4329,172 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/oav": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/oav/-/oav-3.3.7.tgz", + "integrity": "sha512-zwtLSCTCADo8AcjUc8YFLvCHiamAs1E2n/8QVSmX+FzdqI7TeNm98k8xyQX393cD4OW7VFY9BQ9vDpi1Ap/SKg==", + "dev": true, + "dependencies": { + "@apidevtools/swagger-parser": "10.0.3", + "@autorest/schemas": "^1.3.4", + "@azure-tools/openapi-tools-common": "^1.2.2", + "@azure/core-http": "^3.0.1", + "@azure/core-util": "~1.7.0", + "@azure/logger": "~1.0.4", + "@azure/ms-rest-js": "^2.7.0", + "@azure/openapi-markdown": "^0.9.4", + "@ts-common/commonmark-to-markdown": "^2.0.2", + "ajv": "^6.12.6", + "commonmark": "^0.29.3", + "deepdash": "^5.3.2", + "difflib": "^0.2.4", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^10.1.0", + "glob": "^7.2.3", + "humanize-duration": "^3.27.2", + "inversify": "^5.1.1", + "js-yaml": "^4.1.0", + "json-merge-patch": "^1.0.2", + "json-pointer": "^0.6.2", + "json-schema-traverse": "^0.4.1", + "jsonpath-plus": "^4.0.0", + "junit-report-builder": "^3.0.0", + "lodash": "^4.17.21", + "md5-file": "^5.0.0", + "mkdirp": "^1.0.4", + "moment": "^2.29.3", + "mustache": "^4.2.0", + "newman": "^6.0.0", + "path-to-regexp": "^6.2.1", + "postman-collection": "^4.1.7", + "reflect-metadata": "^0.1.13", + "toposort": "^2.0.2", + "uuid": "^3.4.0", + "winston": "^3.3.4", + "yargs": "^15.4.1", + "z-schema": "^5.0.3" + }, + "bin": { + "oav": "dist/cli.js" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/oav/node_modules/@azure/abort-controller": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@azure/abort-controller/-/abort-controller-2.1.2.tgz", + "integrity": "sha512-nBrLsEWm4J2u5LpAPjxADTlq3trDgVZZXHNKabeXZtpq3d3AbN/KGO82R87rdDz5/lYB024rtEf10/q0urNgsA==", + "dev": true, + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/oav/node_modules/@azure/core-util": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@azure/core-util/-/core-util-1.7.0.tgz", + "integrity": "sha512-Zq2i3QO6k9DA8vnm29mYM4G8IE9u1mhF1GUabVEqPNX8Lj833gdxQ2NAFxt2BZsfAL+e9cT8SyVN7dFVJ/Hf0g==", + "dev": true, + "dependencies": { + "@azure/abort-controller": "^2.0.0", + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/oav/node_modules/@azure/logger": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@azure/logger/-/logger-1.0.4.tgz", + "integrity": "sha512-ustrPY8MryhloQj7OWGe+HrYx+aoiOxzbXTtgblbV3xwCqpzUK36phH3XNHQKj3EPonyFUuDTfR3qFhTEAuZEg==", + "dev": true, + "dependencies": { + "tslib": "^2.2.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/oav/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/oav/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/oav/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/oav/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/oav/node_modules/jsonpath-plus": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-4.0.0.tgz", + "integrity": "sha512-e0Jtg4KAzDJKKwzbLaUtinCn0RZseWBVRTRGihSpvFlM3wTR7ExSp+PTdeTsDrLNJUe7L7JYJe8mblHX5SCT6A==", + "dev": true, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/oav/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -3034,6 +4504,15 @@ "wrappy": "1" } }, + "node_modules/one-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", + "integrity": "sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==", + "dev": true, + "dependencies": { + "fn.name": "1.x.x" + } + }, "node_modules/onetime": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", @@ -3049,6 +4528,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/openapi-types": { + "version": "12.1.3", + "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-12.1.3.tgz", + "integrity": "sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==", + "dev": true, + "peer": true + }, "node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", @@ -3085,6 +4571,15 @@ "node": ">=6" } }, + "node_modules/parse-ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-2.1.0.tgz", + "integrity": "sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -3112,6 +4607,12 @@ "node": ">=8" } }, + "node_modules/path-to-regexp": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.2.tgz", + "integrity": "sha512-GQX3SSMokngb36+whdpRXE+3f9V8UzyAorlYvOGx87ufGHehNTn5lCxrKtLyZ4Yl/wEKnNnr98ZzOwwDZV5ogw==", + "dev": true + }, "node_modules/path-type": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", @@ -3139,6 +4640,12 @@ "node": "*" } }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, "node_modules/picocolors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", @@ -3182,27 +4689,203 @@ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postman-collection": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/postman-collection/-/postman-collection-4.4.0.tgz", + "integrity": "sha512-2BGDFcUwlK08CqZFUlIC8kwRJueVzPjZnnokWPtJCd9f2J06HBQpGL7t2P1Ud1NEsK9NHq9wdipUhWLOPj5s/Q==", + "dev": true, + "dependencies": { + "@faker-js/faker": "5.5.3", + "file-type": "3.9.0", + "http-reasons": "0.1.0", + "iconv-lite": "0.6.3", + "liquid-json": "0.3.1", + "lodash": "4.17.21", + "mime-format": "2.0.1", + "mime-types": "2.1.35", + "postman-url-encoder": "3.0.5", + "semver": "7.5.4", + "uuid": "8.3.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postman-collection-transformer": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/postman-collection-transformer/-/postman-collection-transformer-4.1.8.tgz", + "integrity": "sha512-smJ6X7Z7kbg6hp7JZPFixrSN3J3WkQed7DrWCC5tF7IxOMpFLqhtTtGssY8nD1inP8+mJf+N72Pf2ttUAHgBKw==", + "dev": true, + "dependencies": { + "commander": "8.3.0", + "inherits": "2.0.4", + "lodash": "4.17.21", + "semver": "7.5.4", + "strip-json-comments": "3.1.1" + }, + "bin": { + "postman-collection-transformer": "bin/transform-collection.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postman-collection-transformer/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "engines": { + "node": ">= 12" + } + }, + "node_modules/postman-collection-transformer/node_modules/semver": { + "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" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postman-collection/node_modules/semver": { + "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" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postman-request": { + "version": "2.88.1-postman.33", + "resolved": "https://registry.npmjs.org/postman-request/-/postman-request-2.88.1-postman.33.tgz", + "integrity": "sha512-uL9sCML4gPH6Z4hreDWbeinKU0p0Ke261nU7OvII95NU22HN6Dk7T/SaVPaj6T4TsQqGKIFw6/woLZnH7ugFNA==", + "dev": true, + "dependencies": { + "@postman/form-data": "~3.1.1", + "@postman/tough-cookie": "~4.1.3-postman.1", + "@postman/tunnel-agent": "^0.6.3", + "aws-sign2": "~0.7.0", + "aws4": "^1.12.0", + "brotli": "^1.3.3", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "har-validator": "~5.1.3", + "http-signature": "~1.3.1", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "^2.1.35", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.3", + "safe-buffer": "^5.1.2", + "stream-length": "^1.0.2", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/postman-runtime": { + "version": "7.39.0", + "resolved": "https://registry.npmjs.org/postman-runtime/-/postman-runtime-7.39.0.tgz", + "integrity": "sha512-FMfHHdbBlCB7hno8AHWEfVItVHk+/NaV3NeedVMNEtLnTeNTjKtDZ29LMmIikW4O+mmToh2l46qYH2iw72TtEQ==", + "dev": true, + "dependencies": { + "@postman/tough-cookie": "4.1.3-postman.1", + "async": "3.2.5", + "aws4": "1.12.0", + "handlebars": "4.7.8", + "httpntlm": "1.8.13", + "jose": "4.14.4", + "js-sha512": "0.9.0", + "lodash": "4.17.21", + "mime-types": "2.1.35", + "node-forge": "1.3.1", + "node-oauth1": "1.3.0", + "performance-now": "2.1.0", + "postman-collection": "4.4.0", + "postman-request": "2.88.1-postman.33", + "postman-sandbox": "4.7.1", + "postman-url-encoder": "3.0.5", + "serialised-error": "1.1.3", + "strip-json-comments": "3.1.1", + "uuid": "8.3.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/postman-runtime/node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "node_modules/postman-sandbox": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/postman-sandbox/-/postman-sandbox-4.7.1.tgz", + "integrity": "sha512-H2wYSLK0mB588IaxoLrLoPbpmxsIcwFtgaK2c8gAsAQ+TgYFePwb4qdeVcYDMqmwrLd77/ViXkjasP/sBMz1sQ==", + "dev": true, + "dependencies": { + "lodash": "4.17.21", + "postman-collection": "4.4.0", + "teleport-javascript": "1.0.0", + "uvm": "2.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postman-url-encoder": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postman-url-encoder/-/postman-url-encoder-3.0.5.tgz", + "integrity": "sha512-jOrdVvzUXBC7C+9gkIkpDJ3HIxOHTIqjpQ4C1EMt1ZGeMvSEpbFCKq23DEfgsj46vMnDgyQf+1ZLp2Wm+bKSsA==", + "dev": true, "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.2.0" + "punycode": "^2.1.1" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">=10" } }, "node_modules/prettier": { @@ -3246,6 +4929,30 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/pretty-ms": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-7.0.1.tgz", + "integrity": "sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==", + "dev": true, + "dependencies": { + "parse-ms": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -3259,6 +4966,12 @@ "node": ">= 6" } }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", @@ -3268,6 +4981,21 @@ "node": ">=6" } }, + "node_modules/qs": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -3294,6 +5022,26 @@ "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/reflect-metadata": { + "version": "0.1.14", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.14.tgz", + "integrity": "sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==", + "dev": true + }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -3318,6 +5066,12 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, "node_modules/retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", @@ -3395,6 +5149,47 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "dev": true + }, "node_modules/semver": { "version": "7.6.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", @@ -3407,6 +5202,27 @@ "node": ">=10" } }, + "node_modules/serialised-error": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/serialised-error/-/serialised-error-1.1.3.tgz", + "integrity": "sha512-vybp3GItaR1ZtO2nxZZo8eOo7fnVaNtP3XE2vJKgzkKR2bagCkdJ1EpYYhEMd3qu/80DwQk9KjsNSxE3fXWq0g==", + "dev": true, + "dependencies": { + "object-hash": "^1.1.2", + "stack-trace": "0.0.9", + "uuid": "^3.0.0" + } + }, + "node_modules/serialised-error/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -3473,6 +5289,15 @@ "url": "https://github.com/steveukx/git-js?sponsor=1" } }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", @@ -3491,6 +5316,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/source-map-js": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", @@ -3506,6 +5340,40 @@ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", "dev": true }, + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stack-trace": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz", + "integrity": "sha512-vjUc6sfgtgY0dxCdnc40mK6Oftjo9+2K8H/NG81TMhgL392FtiPA9tn9RLyTxXmTLPJPjF3VyzFp6bsWFLisMQ==", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/stackback": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", @@ -3518,6 +5386,24 @@ "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true }, + "node_modules/stream-length": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/stream-length/-/stream-length-1.0.2.tgz", + "integrity": "sha512-aI+qKFiwoDV4rsXiS7WRoCt+v2RX1nUj17+KJC5r2gfh5xoSJIfP6Y3Do/HtvesFcTSWthIuJ3l1cvKQY/+nZg==", + "dev": true, + "dependencies": { + "bluebird": "^2.6.2" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -3562,6 +5448,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-literal": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.1.0.tgz", @@ -3596,6 +5494,12 @@ "resolved": "eng/tools/suppressions", "link": true }, + "node_modules/teleport-javascript": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/teleport-javascript/-/teleport-javascript-1.0.0.tgz", + "integrity": "sha512-j1llvWVFyEn/6XIFDfX5LAU43DXe0GCt3NfXDwJ8XpRRMkS+i50SAkonAONBy+vxwPFBd50MFU8a2uj8R/ccLg==", + "dev": true + }, "node_modules/test-exclude": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", @@ -3610,6 +5514,12 @@ "node": ">=8" } }, + "node_modules/text-hex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", + "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", + "dev": true + }, "node_modules/tinybench": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", @@ -3655,18 +5565,47 @@ "node": ">=8.0" } }, + "node_modules/toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==", + "dev": true + }, "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", "dev": true }, + "node_modules/triple-beam": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/triple-beam/-/triple-beam-1.4.1.tgz", + "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", + "dev": true, + "engines": { + "node": ">= 14.0.0" + } + }, "node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", "dev": true, - "peer": true + "engines": { + "node": ">=0.6.11 <=0.7.0 || >=0.7.3" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true }, "node_modules/type-detect": { "version": "4.0.8", @@ -3696,6 +5635,25 @@ "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", "dev": true }, + "node_modules/uglify-js": { + "version": "3.18.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.18.0.tgz", + "integrity": "sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==", + "dev": true + }, "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", @@ -3714,6 +5672,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", @@ -3723,6 +5690,22 @@ "punycode": "^2.1.0" } }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, "node_modules/uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", @@ -3732,6 +5715,41 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/uvm": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/uvm/-/uvm-2.1.1.tgz", + "integrity": "sha512-BZ5w8adTpNNr+zczOBRpaX/hH8UPKAf7fmCnidrcsqt3bn8KT9bDIfuS7hgRU9RXgiN01su2pwysBONY6w8W5w==", + "dev": true, + "dependencies": { + "flatted": "3.2.6" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/validator": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.12.0.tgz", + "integrity": "sha512-c1Q0mCiPlgdTVVVIJIrBuxNicYE+t/7oKeI9MWLj3fh/uq2Pxh/3eeWbVZ4OcGW1TUf53At0njHw5SMdA3tmMg==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, "node_modules/vite-node": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.6.0.tgz", @@ -3925,6 +5943,69 @@ "node": ">=8" } }, + "node_modules/winston": { + "version": "3.13.0", + "resolved": "https://registry.npmjs.org/winston/-/winston-3.13.0.tgz", + "integrity": "sha512-rwidmA1w3SE4j0E5MuIufFhyJPBDG7Nu71RkZor1p2+qHvJSZ9GYDA81AyleQcZbh/+V6HjeBdfnTZJm9rSeQQ==", + "dev": true, + "dependencies": { + "@colors/colors": "^1.6.0", + "@dabh/diagnostics": "^2.0.2", + "async": "^3.2.3", + "is-stream": "^2.0.0", + "logform": "^2.4.0", + "one-time": "^1.0.0", + "readable-stream": "^3.4.0", + "safe-stable-stringify": "^2.3.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.7.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston-transport": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/winston-transport/-/winston-transport-4.7.0.tgz", + "integrity": "sha512-ajBj65K5I7denzer2IYW6+2bNIVqLGDHqDw3Ow8Ohh+vdW+rv4MZ6eiDvHoKhfJFZ2auyN8byXieDDJ96ViONg==", + "dev": true, + "dependencies": { + "logform": "^2.3.2", + "readable-stream": "^3.6.0", + "triple-beam": "^1.3.0" + }, + "engines": { + "node": ">= 12.0.0" + } + }, + "node_modules/winston/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, "node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -3978,12 +6059,49 @@ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, + "node_modules/xml2js": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.5.0.tgz", + "integrity": "sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==", + "dev": true, + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "dev": true, + "engines": { + "node": ">=8.0" + } + }, "node_modules/y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", "dev": true }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/yaml": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.2.tgz", @@ -4043,6 +6161,36 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/z-schema": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.5.tgz", + "integrity": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==", + "dev": true, + "dependencies": { + "lodash.get": "^4.4.2", + "lodash.isequal": "^4.5.0", + "validator": "^13.7.0" + }, + "bin": { + "z-schema": "bin/z-schema" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "commander": "^9.4.1" + } + }, + "node_modules/z-schema/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "optional": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, "node_modules/zod": { "version": "3.23.8", "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", diff --git a/package.json b/package.json index 117036efce61..9b953df05fc1 100644 --- a/package.json +++ b/package.json @@ -2,20 +2,21 @@ "name": "azure-rest-api-specs", "devDependencies": { "@azure-tools/typespec-apiview": "0.4.8", - "@azure-tools/typespec-autorest": "0.42.1", - "@azure-tools/typespec-azure-core": "0.42.0", - "@azure-tools/typespec-azure-portal-core": "0.42.0", - "@azure-tools/typespec-azure-resource-manager": "0.42.1", - "@azure-tools/typespec-client-generator-core": "0.42.3", - "@azure-tools/typespec-azure-rulesets": "0.42.1", + "@azure-tools/typespec-autorest": "0.43.0", + "@azure-tools/typespec-azure-core": "0.43.0", + "@azure-tools/typespec-azure-portal-core": "0.43.0", + "@azure-tools/typespec-azure-resource-manager": "0.43.0", + "@azure-tools/typespec-client-generator-core": "0.43.0", + "@azure-tools/typespec-azure-rulesets": "0.43.0", "@azure/avocado": "^0.8.4", - "@typespec/compiler": "0.56.0", - "@typespec/http": "0.56.0", - "@typespec/openapi": "0.56.0", - "@typespec/openapi3": "0.56.0", - "@typespec/rest": "0.56.0", - "@typespec/versioning": "0.56.0", + "@typespec/compiler": "0.57.0", + "@typespec/http": "0.57.0", + "@typespec/openapi": "0.57.0", + "@typespec/openapi3": "0.57.0", + "@typespec/rest": "0.57.0", + "@typespec/versioning": "0.57.0", "azure-rest-api-specs-eng-tools": "file:eng/tools", + "oav": "^3.3.7", "prettier": "~3.2.5", "typescript": "~5.4.5" }, diff --git a/specification/ai/DocumentIntelligence/models.tsp b/specification/ai/DocumentIntelligence/models.tsp index 6a5ceeaff2ad..601541e2a649 100644 --- a/specification/ai/DocumentIntelligence/models.tsp +++ b/specification/ai/DocumentIntelligence/models.tsp @@ -18,18 +18,18 @@ union StringIndexType { string, @doc(""" - User-perceived display character, or grapheme cluster, as defined by Unicode - 8.0.0. - """) + User-perceived display character, or grapheme cluster, as defined by Unicode + 8.0.0. + """) textElements: "textElements", @doc("Character unit represented by a single unicode code point. Used by Python 3.") unicodeCodePoint: "unicodeCodePoint", @doc(""" - Character unit represented by a 16-bit Unicode code unit. Used by JavaScript, - Java, and .NET. - """) + Character unit represented by a 16-bit Unicode code unit. Used by JavaScript, + Java, and .NET. + """) utf16CodeUnit: "utf16CodeUnit", } @@ -41,9 +41,9 @@ union ContentFormat { text: "text", @doc(""" - Markdown representation of the document content with section headings, tables, - etc. - """) + Markdown representation of the document content with section headings, tables, + etc. + """) markdown: "markdown", } @@ -85,9 +85,9 @@ union DocumentSelectionMarkState { string, @doc(""" - The selection mark is selected, often indicated by a check ✓ or cross X inside - the selection mark. - """) + The selection mark is selected, often indicated by a check ✓ or cross X inside + the selection mark. + """) "selected", @doc("The selection mark is not selected.") @@ -279,9 +279,9 @@ union OperationKind { documentModelCompose: "documentModelCompose", @doc(""" - Copy an existing document model to potentially a different resource, region, or - subscription. - """) + Copy an existing document model to potentially a different resource, region, or + subscription. + """) documentModelCopyTo: "documentModelCopyTo", @doc("Build a new custom classifier model.") @@ -354,9 +354,9 @@ model AnalyzeDocumentRequest { urlSource?: url; @doc(""" - Base64 encoding of the document to analyze. Either urlSource or base64Source - must be specified. - """) + Base64 encoding of the document to analyze. Either urlSource or base64Source + must be specified. + """) base64Source?: bytes; } @@ -448,9 +448,9 @@ model AnalyzeResult { contentFormat?: ContentFormat; @doc(""" - Concatenate string representation of all textual and visual elements in reading - order. - """) + Concatenate string representation of all textual and visual elements in reading + order. + """) content: string; @doc("Analyzed pages.") @@ -491,9 +491,9 @@ model DocumentPage { pageNumber: int32; @doc(""" - The general orientation of the content in clockwise direction, measured in - degrees between (-180, 180]. - """) + The general orientation of the content in clockwise direction, measured in + degrees between (-180, 180]. + """) @minValueExclusive(-180) @maxValue(180) angle?: float32; @@ -507,9 +507,9 @@ model DocumentPage { height?: float32; @doc(""" - The unit used by the width, height, and polygon properties. For images, the - unit is \"pixel\". For PDF, the unit is \"inch\". - """) + The unit used by the width, height, and polygon properties. For images, the + unit is \"pixel\". For PDF, the unit is \"inch\". + """) unit?: LengthUnit; @doc("Location of the page in the reading order concatenated content.") @@ -522,9 +522,9 @@ model DocumentPage { selectionMarks?: DocumentSelectionMark[]; @doc(""" - Extracted lines from the page, potentially containing both textual and visual - elements. - """) + Extracted lines from the page, potentially containing both textual and visual + elements. + """) lines?: DocumentLine[]; @doc("Extracted barcodes from the page.") @@ -535,9 +535,9 @@ model DocumentPage { } @doc(""" -Contiguous region of the concatenated content property, specified as an offset -and length. -""") + Contiguous region of the concatenated content property, specified as an offset + and length. + """) model DocumentSpan { @doc("Zero-based index of the content represented by the span.") @minValue(0) @@ -549,21 +549,21 @@ model DocumentSpan { } @doc(""" -A word object consisting of a contiguous sequence of characters. For non-space -delimited languages, such as Chinese, Japanese, and Korean, each character is -represented as its own word. -""") + A word object consisting of a contiguous sequence of characters. For non-space + delimited languages, such as Chinese, Japanese, and Korean, each character is + represented as its own word. + """) model DocumentWord { @doc("Text content of the word.") content: string; // FIXME: No way to specify constraints on array elements without creating new scalar types. @doc(""" - Bounding polygon of the word, with coordinates specified relative to the - top-left of the page. The numbers represent the x, y values of the polygon - vertices, clockwise from the left (-180 degrees inclusive) relative to the - element orientation. - """) + Bounding polygon of the word, with coordinates specified relative to the + top-left of the page. The numbers represent the x, y values of the polygon + vertices, clockwise from the left (-180 degrees inclusive) relative to the + element orientation. + """) polygon?: float32[]; @doc("Location of the word in the reading order concatenated content.") @@ -576,19 +576,19 @@ model DocumentWord { } @doc(""" -A selection mark object representing check boxes, radio buttons, and other -elements indicating a selection. -""") + A selection mark object representing check boxes, radio buttons, and other + elements indicating a selection. + """) model DocumentSelectionMark { @doc("State of the selection mark.") state: DocumentSelectionMarkState; @doc(""" - Bounding polygon of the selection mark, with coordinates specified relative - to the top-left of the page. The numbers represent the x, y values of the - polygon vertices, clockwise from the left (-180 degrees inclusive) relative - to the element orientation. - """) + Bounding polygon of the selection mark, with coordinates specified relative + to the top-left of the page. The numbers represent the x, y values of the + polygon vertices, clockwise from the left (-180 degrees inclusive) relative + to the element orientation. + """) polygon?: float32[]; @doc("Location of the selection mark in the reading order concatenated content.") @@ -601,19 +601,19 @@ model DocumentSelectionMark { } @doc(""" -A content line object consisting of an adjacent sequence of content elements, -such as words and selection marks. -""") + A content line object consisting of an adjacent sequence of content elements, + such as words and selection marks. + """) model DocumentLine { @doc("Concatenated content of the contained elements in reading order.") content: string; @doc(""" - Bounding polygon of the line, with coordinates specified relative to the - top-left of the page. The numbers represent the x, y values of the polygon - vertices, clockwise from the left (-180 degrees inclusive) relative to the - element orientation. - """) + Bounding polygon of the line, with coordinates specified relative to the + top-left of the page. The numbers represent the x, y values of the polygon + vertices, clockwise from the left (-180 degrees inclusive) relative to the + element orientation. + """) polygon?: float32[]; @doc("Location of the line in the reading order concatenated content.") @@ -629,11 +629,11 @@ model DocumentBarcode { value: string; @doc(""" - Bounding polygon of the barcode, with coordinates specified relative to the - top-left of the page. The numbers represent the x, y values of the polygon - vertices, clockwise from the left (-180 degrees inclusive) relative to the - element orientation. - """) + Bounding polygon of the barcode, with coordinates specified relative to the + top-left of the page. The numbers represent the x, y values of the polygon + vertices, clockwise from the left (-180 degrees inclusive) relative to the + element orientation. + """) polygon?: float32[]; @doc("Location of the barcode in the reading order concatenated content.") @@ -654,11 +654,11 @@ model DocumentFormula { value: string; @doc(""" - Bounding polygon of the formula, with coordinates specified relative to the - top-left of the page. The numbers represent the x, y values of the polygon - vertices, clockwise from the left (-180 degrees inclusive) relative to the - element orientation. - """) + Bounding polygon of the formula, with coordinates specified relative to the + top-left of the page. The numbers represent the x, y values of the polygon + vertices, clockwise from the left (-180 degrees inclusive) relative to the + element orientation. + """) polygon?: float32[]; @doc("Location of the formula in the reading order concatenated content.") @@ -671,9 +671,9 @@ model DocumentFormula { } @doc(""" -A paragraph object consisting with contiguous lines generally with common -alignment and spacing. -""") + A paragraph object consisting with contiguous lines generally with common + alignment and spacing. + """) model DocumentParagraph { @doc("Semantic role of the paragraph.") role?: ParagraphRole; @@ -695,11 +695,11 @@ model BoundingRegion { pageNumber: int32; @doc(""" - Bounding polygon on the page, or the entire page if not specified. - Coordinates specified relative to the top-left of the page. The numbers - represent the x, y values of the polygon vertices, clockwise from the left - (-180 degrees inclusive) relative to the element orientation. - """) + Bounding polygon on the page, or the entire page if not specified. + Coordinates specified relative to the top-left of the page. The numbers + represent the x, y values of the polygon vertices, clockwise from the left + (-180 degrees inclusive) relative to the element orientation. + """) polygon: float32[]; } @@ -848,15 +848,15 @@ model DocumentFootnote { } @doc(""" -An JSON pointer referencing an element of the document, such as paragraph, -table, section, etc. -""") + An JSON pointer referencing an element of the document, such as paragraph, + table, section, etc. + """) scalar DocumentElement extends string; @doc(""" -An object representing a form field with distinct field label (key) and field -value (may be empty). -""") + An object representing a form field with distinct field label (key) and field + value (may be empty). + """) model DocumentKeyValuePair { @doc("Field label of the key-value pair.") key: DocumentKeyValueElement; @@ -888,9 +888,9 @@ model DocumentStyle { isHandwritten?: boolean; @doc(""" - Visually most similar font from among the set of supported font families, with - fallback fonts following CSS convention (ex. 'Arial, sans-serif'). - """) + Visually most similar font from among the set of supported font families, with + fallback fonts following CSS convention (ex. 'Arial, sans-serif'). + """) similarFontFamily?: string; @doc("Font style.") @@ -919,15 +919,15 @@ model DocumentStyle { @doc("An object representing the detected language for a given text span.") model DocumentLanguage { @doc(""" - Detected language. Value may an ISO 639-1 language code (ex. \"en\", \"fr\") - or BCP 47 language tag (ex. \"zh-Hans\"). - """) + Detected language. Value may an ISO 639-1 language code (ex. \"en\", \"fr\") + or BCP 47 language tag (ex. \"zh-Hans\"). + """) locale: string; @doc(""" - Location of the text elements in the concatenated content the language applies - to. - """) + Location of the text elements in the concatenated content the language applies + to. + """) spans: DocumentSpan[]; @doc("Confidence of correctly identifying the language.") @@ -1067,9 +1067,9 @@ model AddressValue { unit?: string; @doc(""" - Districts or boroughs within a city, such as Brooklyn in New York City or City - of Westminster in London. - """) + Districts or boroughs within a city, such as Brooklyn in New York City or City + of Westminster in London. + """) cityDistrict?: string; @doc("Second-level administrative division used in certain locales.") @@ -1099,15 +1099,15 @@ model BuildDocumentModelRequest { buildMode: DocumentBuildMode; @doc(""" - Azure Blob Storage location containing the training data. Either - azureBlobSource or azureBlobFileListSource must be specified. - """) + Azure Blob Storage location containing the training data. Either + azureBlobSource or azureBlobFileListSource must be specified. + """) azureBlobSource?: AzureBlobContentSource; @doc(""" - Azure Blob Storage file list specifying the training data. Either - azureBlobSource or azureBlobFileListSource must be specified. - """) + Azure Blob Storage file list specifying the training data. Either + azureBlobSource or azureBlobFileListSource must be specified. + """) azureBlobFileListSource?: AzureBlobFileListContentSource; @doc("List of key-value tag attributes associated with the document model.") @@ -1172,18 +1172,18 @@ model AuthorizeCopyRequest { } @doc(""" -Authorization to copy a document model to the specified target resource and -modelId. -""") + Authorization to copy a document model to the specified target resource and + modelId. + """) model CopyAuthorization { @doc("ID of the target Azure resource where the document model should be copied to.") @extension("x-ms-azure-resource", true) targetResourceId: string; @doc(""" - Location of the target Azure resource where the document model should be copied - to. - """) + Location of the target Azure resource where the document model should be copied + to. + """) targetResourceRegion: string; @doc("Identifier of the target document model.") @@ -1268,15 +1268,15 @@ model DocumentModelDetails { buildMode?: DocumentBuildMode; @doc(""" - Azure Blob Storage location containing the training data. Either - azureBlobSource or azureBlobFileListSource must be specified. - """) + Azure Blob Storage location containing the training data. Either + azureBlobSource or azureBlobFileListSource must be specified. + """) azureBlobSource?: AzureBlobContentSource; @doc(""" - Azure Blob Storage file list specifying the training data. Either - azureBlobSource or azureBlobFileListSource must be specified. - """) + Azure Blob Storage file list specifying the training data. Either + azureBlobSource or azureBlobFileListSource must be specified. + """) azureBlobFileListSource?: AzureBlobFileListContentSource; @doc("Supported document types.") @@ -1348,17 +1348,17 @@ model ClassifierDocumentTypeDetails { sourceKind?: ContentSourceKind; @doc(""" - Azure Blob Storage location containing the training data for a classifier - document type. Either azureBlobSource or azureBlobFileListSource must be - specified. - """) + Azure Blob Storage location containing the training data for a classifier + document type. Either azureBlobSource or azureBlobFileListSource must be + specified. + """) azureBlobSource?: AzureBlobContentSource; @doc(""" - Azure Blob Storage file list specifying the training data for a classifier - document type. Either azureBlobSource or azureBlobFileListSource must be - specified. - """) + Azure Blob Storage file list specifying the training data for a classifier + document type. Either azureBlobSource or azureBlobFileListSource must be + specified. + """) azureBlobFileListSource?: AzureBlobFileListContentSource; } @@ -1404,9 +1404,9 @@ model ClassifyDocumentRequest { urlSource?: url; @doc(""" - Base64 encoding of the document to classify. Either urlSource or base64Source - must be specified. - """) + Base64 encoding of the document to classify. Either urlSource or base64Source + must be specified. + """) base64Source?: bytes; } diff --git a/specification/ai/DocumentIntelligence/routes.tsp b/specification/ai/DocumentIntelligence/routes.tsp index 4b2e61453ada..f97b79eb289c 100644 --- a/specification/ai/DocumentIntelligence/routes.tsp +++ b/specification/ai/DocumentIntelligence/routes.tsp @@ -52,9 +52,9 @@ model DocumentModelAnalyzeRequestParams { pages?: string; @doc(""" - Locale hint for text recognition and document analysis. Value may contain only - the language code (ex. \"en\", \"fr\") or BCP 47 language tag (ex. \"en-US\"). - """) + Locale hint for text recognition and document analysis. Value may contain only + the language code (ex. \"en\", \"fr\") or BCP 47 language tag (ex. \"en-US\"). + """) @query locale?: string; @@ -208,9 +208,9 @@ interface DocumentModels { #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Doesn't fit standard ops" @doc(""" - Generates authorization to copy a document model to this location with - specified modelId and optional description. - """) + Generates authorization to copy a document model to this location with + specified modelId and optional description. + """) @route("/documentModels:authorizeCopy") @post authorizeModelCopy is DocumentIntelligenceOperation< diff --git a/specification/ai/DocumentIntelligence/tspconfig.yaml b/specification/ai/DocumentIntelligence/tspconfig.yaml index b277824c6845..a86f2a3c185e 100644 --- a/specification/ai/DocumentIntelligence/tspconfig.yaml +++ b/specification/ai/DocumentIntelligence/tspconfig.yaml @@ -13,6 +13,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "examples" omit-unreachable-types: true diff --git a/specification/ai/Face/main.tsp b/specification/ai/Face/main.tsp index 069b23ed0899..c0a19f5c2b1a 100644 --- a/specification/ai/Face/main.tsp +++ b/specification/ai/Face/main.tsp @@ -23,9 +23,9 @@ using TypeSpec.Versioning; "Azure AI Face API", { @doc(""" -Supported Cognitive Services endpoints (protocol and hostname, for example: -https://{resource-name}.cognitiveservices.azure.com). -""") + Supported Cognitive Services endpoints (protocol and hostname, for example: + https://{resource-name}.cognitiveservices.azure.com). + """) endpoint: url, @doc("API Version") diff --git a/specification/ai/Face/models.common.tsp b/specification/ai/Face/models.common.tsp index 26168c088e12..e99fe295e601 100644 --- a/specification/ai/Face/models.common.tsp +++ b/specification/ai/Face/models.common.tsp @@ -259,30 +259,30 @@ model GroupingResult { } alias AddFaceDescriptionInList = """ -> -* - * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger. - * Each person entry can hold up to 248 faces. - * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB. - * "targetFace" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided "targetFace" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully. - * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures. - * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size. - * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model -"""; + > + * + * Higher face image quality means better recognition precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger. + * Each person entry can hold up to 248 faces. + * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB. + * "targetFace" rectangle should contain one face. Zero or multiple faces will be regarded as an error. If the provided "targetFace" rectangle is not returned from \"Detect\", there's no guarantee to detect and add the face successfully. + * Out of detectable face size (36x36 - 4096x4096 pixels), large head-pose, or large occlusions will cause failures. + * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size. + * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model + """; alias ListRequestOptionsDescriptionInList = """ -> -* - * "start" parameter (string, optional) specifies an ID value from which returned entries will have larger IDs based on string comparison. Setting "start" to an empty value indicates that entries should be returned starting from the first item. - * "top" parameter (int, optional) determines the maximum number of entries to be returned, with a limit of up to 1000 entries per call. To retrieve additional entries beyond this limit, specify "start" with the personId of the last entry returned in the current call. - -> [!TIP] -> -> * For example, there are total 5 items with their IDs: "itemId1", ..., "itemId5". -> * "start=&top=" will return all 5 items. -> * "start=&top=2" will return "itemId1", "itemId2". -> * "start=itemId2&top=3" will return "itemId3", "itemId4", "itemId5". -"""; + > + * + * "start" parameter (string, optional) specifies an ID value from which returned entries will have larger IDs based on string comparison. Setting "start" to an empty value indicates that entries should be returned starting from the first item. + * "top" parameter (int, optional) determines the maximum number of entries to be returned, with a limit of up to 1000 entries per call. To retrieve additional entries beyond this limit, specify "start" with the personId of the last entry returned in the current call. + + > [!TIP] + > + > * For example, there are total 5 items with their IDs: "itemId1", ..., "itemId5". + > * "start=&top=" will return all 5 items. + > * "start=&top=2" will return "itemId1", "itemId2". + > * "start=itemId2&top=3" will return "itemId3", "itemId4", "itemId5". + """; @doc("The error object. For comprehensive details on error codes and messages returned by the Face Service, please refer to the following link: https://aka.ms/face-error-codes-and-messages.") model FaceError { @@ -294,3 +294,14 @@ model FaceError { } model FaceErrorResponse is Azure.Core.Foundations.ErrorResponseBase; + +alias BodyParameter< + T, + TName extends valueof string = "body", + TDoc extends valueof string = "Body parameter." +> = { + @doc(TDoc) + @friendlyName(TName) + @bodyRoot + body: T; +}; diff --git a/specification/ai/Face/routes.detection.tsp b/specification/ai/Face/routes.detection.tsp index 503df02d894a..18a54399cfb8 100644 --- a/specification/ai/Face/routes.detection.tsp +++ b/specification/ai/Face/routes.detection.tsp @@ -15,21 +15,21 @@ namespace Face; @summary("Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.") @doc(""" -> [!IMPORTANT] -> To mitigate potential misuse that can subject people to stereotyping, discrimination, or unfair denial of services, we are retiring Face API attributes that predict emotion, gender, age, smile, facial hair, hair, and makeup. Read more about this decision https://azure.microsoft.com/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/. - -* - * No image will be stored. Only the extracted face feature(s) will be stored on server. The faceId is an identifier of the face feature and will be used in \"Identify\", \"Verify\", and \"Find Similar\". The stored face features will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call. - * Optional parameters include faceId, landmarks, and attributes. Attributes include headPose, glasses, occlusion, accessories, blur, exposure, noise, mask, and qualityForRecognition. Some of the results returned for specific attributes may not be highly accurate. - * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB. - * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size. - * Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small. - * For optimal results when querying \"Identify\", \"Verify\", and \"Find Similar\" ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes). - * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model - * 'detection_02': Face attributes and landmarks are disabled if you choose this detection model. - * 'detection_03': Face attributes (mask, blur, and headPose) and landmarks are supported if you choose this detection model. - * Different 'recognitionModel' values are provided. If follow-up operations like \"Verify\", \"Identify\", \"Find Similar\" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-recognition-model. -""") + > [!IMPORTANT] + > Microsoft has retired or restricted facial recognition capabilities that can be used to try to infer emotional states and identity attributes which, if misused, can subject people to stereotyping, discrimination or unfair denial of services. The retired capabilities are emotion and gender. The restricted capabilities are age, smile, facial hair, hair and makeup. Email Azure Face API if you have a responsible use case that would benefit from the use of any of the restricted capabilities. Read more about this decision https://azure.microsoft.com/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/. + + * + * No image will be stored. Only the extracted face feature(s) will be stored on server. The faceId is an identifier of the face feature and will be used in \"Identify\", \"Verify\", and \"Find Similar\". The stored face features will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call. + * Optional parameters include faceId, landmarks, and attributes. Attributes include headPose, glasses, occlusion, accessories, blur, exposure, noise, mask, and qualityForRecognition. Some of the results returned for specific attributes may not be highly accurate. + * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB. + * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size. + * Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small. + * For optimal results when querying \"Identify\", \"Verify\", and \"Find Similar\" ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes). + * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model + * 'detection_02': Face attributes and landmarks are disabled if you choose this detection model. + * 'detection_03': Face attributes (mask, blur, and headPose) and landmarks are supported if you choose this detection model. + * Different 'recognitionModel' values are provided. If follow-up operations like \"Verify\", \"Identify\", \"Find Similar\" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-recognition-model. + """) @returnsDoc("A successful call returns an array of face entries ranked by face rectangle size in descending order. An empty response indicates no faces detected.") @post @sharedRoute diff --git a/specification/ai/Face/routes.facelist.tsp b/specification/ai/Face/routes.facelist.tsp index 08ed2d4303e3..04c3d3994864 100644 --- a/specification/ai/Face/routes.facelist.tsp +++ b/specification/ai/Face/routes.facelist.tsp @@ -14,17 +14,17 @@ namespace Face; alias AddFaceListFaceSummary = "Add a face to a specified Face List, up to 1,000 faces."; alias AddFaceListFaceDescription = """ To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Face List Face\" or \"Delete Face List\" is called. - + Note that persistedFaceId is different from faceId generated by \"Detect\". ${AddFaceDescriptionInList} """; alias AddLargeFaceListFaceSummary = "Add a face to a specified Large Face List, up to 1,000,000 faces."; alias AddLargeFaceListFaceDescription = """ To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Large Face List Face\" or \"Delete Large Face List\" is called. - + Note that persistedFaceId is different from faceId generated by \"Detect\". ${AddFaceDescriptionInList} - + > [!NOTE] > > * @@ -36,13 +36,13 @@ interface FaceListOperations { @summary("Create an empty Face List with user-specified faceListId, name, an optional userData and recognitionModel.") @doc(""" Up to 64 Face Lists are allowed in one subscription. - + Face List is a list of faces, up to 1,000 faces, and used by \"Find Similar From Face List\". - + After creation, user should use \"Add Face List Face\" to import the faces. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Face List\" is called. - + \"Find Similar\" is used for scenario like finding celebrity-like faces, similar face filtering, or as a light way face identification. But if the actual use is to identify person, please use Person Group / Large Person Group and \"Identify\". - + Please consider Large Face List when the face number is large. It can support up to 1,000,000 faces. """) @returnsDoc(SuccessfulCallWithEmptyBody) @@ -62,7 +62,7 @@ interface FaceListOperations { @doc(""" List Face Lists' faceListId, name, userData and recognitionModel. - + To get face information inside Face List use \"Get Face List\". """) @returnsDoc("A successful call returns an array of Face Lists.") @@ -93,11 +93,11 @@ interface FaceListOperations { @summary("Create an empty Large Face List with user-specified largeFaceListId, name, an optional userData and recognitionModel.") @doc(""" Large Face List is a list of faces, up to 1,000,000 faces, and used by \"Find Similar From Large Face List\". - + After creation, user should use Add Large Face List Face to import the faces and Train Large Face List to make it ready for \"Find Similar\". No image will be stored. Only the extracted face feature(s) will be stored on server until Delete Large Face List is called. - + \"Find Similar\" is used for scenario like finding celebrity-like faces, similar face filtering, or as a light way face identification. But if the actual use is to identify person, please use Person Group / Large Person Group and \"Identify\". - + > [!NOTE] > > * @@ -121,14 +121,12 @@ interface FaceListOperations { updateLargeFaceList is FaceResourceUpdateOperation; @summary("List Large Face Lists' information of largeFaceListId, name, userData and recognitionModel.") - @doc( - """ + @doc(""" To get face information inside largeFaceList use \"Get Large Face List Face\". - + Large Face Lists are stored in alphabetical order of largeFaceListId. ${ListRequestOptionsDescriptionInList} - """ - ) + """) @returnsDoc("A successful call returns an array of Large Face Lists and their information (largeFaceListId, name and userData).") getLargeFaceLists is FaceResourceListOperation< LargeFaceList, @@ -138,7 +136,7 @@ interface FaceListOperations { @doc(""" To check the Large Face List training status completed or still ongoing. Large Face List training is an asynchronous operation triggered by \"Train Large Face List\". - + Training time depends on the number of face entries in a Large Face List. It could be in seconds, or up to half an hour for 1,000,000 faces. """) @returnsDoc("A successful call returns the Large Face List's training status.") @@ -146,9 +144,9 @@ interface FaceListOperations { @summary("Submit a Large Face List training task.") @doc(""" - + Training is a crucial step that only a trained Large Face List can be used by \"Find Similar From Large Face List\". - + The training task is an asynchronous task. Training time depends on the number of face entries in a Large Face List. It could be in seconds, or up to half an hour for 1,000,000 faces. To check training completion, please use \"Get Large Face List Training Status\". """) @returnsDoc(SuccessfulCallWithEmptyBody) @@ -182,12 +180,10 @@ interface FaceListOperations { >; @summary("List faces' persistedFaceId and userData in a specified Large Face List.") - @doc( - """ + @doc(""" Faces are stored in alphabetical order of persistedFaceId created in \"Add Large Face List Face\". ${ListRequestOptionsDescriptionInList} - """ - ) + """) @returnsDoc("A successful call returns an array of persisted faces and their information (persistedFaceId and userData).") getLargeFaceListFaces is FaceResourceListOperation; } diff --git a/specification/ai/Face/routes.persondirectory.tsp b/specification/ai/Face/routes.persondirectory.tsp index 5b54231cac35..7e8a1db5d5a8 100644 --- a/specification/ai/Face/routes.persondirectory.tsp +++ b/specification/ai/Face/routes.persondirectory.tsp @@ -14,17 +14,15 @@ namespace Face; #suppress "@azure-tools/typespec-azure-core/long-running-polling-operation-required" "This is a template, polling operation should be defined in the operation instance." @summary("Add a face to a person (see Person Directory \"Create Person\") for face identification or verification.") -@doc( - """ +@doc(""" To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until Person Directory \"Delete Person Face\" or \"Delete Person\" is called. - + Note that persistedFaceId is different from faceId generated by \"Detect\". ${AddFaceDescriptionInList} * * Adding/deleting faces to/from a same person will be processed sequentially. Adding/deleting faces to/from different persons are processed in parallel. * This is a long running operation. Use Response Header "Operation-Location" to determine when the AddFace operation has successfully propagated for future requests to \"Identify\". For further information about Operation-Locations see \"Get Face Operation Status\". - """ -) + """) @returnsDoc(PersonModificationAccepted) @pollingOperation(getOperationResult) @sharedRoute @@ -92,14 +90,14 @@ alias DynamicPersonGroupModificationAccepted = "A successful call returns an emp alias CreateDynamicPersonGroupSummary = "Creates a new Dynamic Person Group with specified dynamicPersonGroupId, name, and user-provided userData."; alias CreateDynamicPersonGroupDescription = """ -A Dynamic Person Group is a container that references Person Directory "Create Person". After creation, use Person Directory "Update Dynamic Person Group" to add/remove persons to/from the Dynamic Person Group. - -Dynamic Person Group and user data will be stored on server until Person Directory "Delete Dynamic Person Group" is called. Use "Identify From Dynamic Person Group" with the dynamicPersonGroupId parameter to identify against persons. - -No image will be stored. Only the person's extracted face feature(s) and userData will be stored on server until Person Directory "Delete Person" or "Delete Person Face" is called. - -'recognitionModel' does not need to be specified with Dynamic Person Groups. Dynamic Person Groups are references to Person Directory "Create Person" and therefore work with most all 'recognitionModels'. The faceId's provided during "Identify" determine the 'recognitionModel' used. -"""; + A Dynamic Person Group is a container that references Person Directory "Create Person". After creation, use Person Directory "Update Dynamic Person Group" to add/remove persons to/from the Dynamic Person Group. + + Dynamic Person Group and user data will be stored on server until Person Directory "Delete Dynamic Person Group" is called. Use "Identify From Dynamic Person Group" with the dynamicPersonGroupId parameter to identify against persons. + + No image will be stored. Only the person's extracted face feature(s) and userData will be stored on server until Person Directory "Delete Person" or "Delete Person Face" is called. + + 'recognitionModel' does not need to be specified with Dynamic Person Groups. Dynamic Person Groups are references to Person Directory "Create Person" and therefore work with most all 'recognitionModels'. The faceId's provided during "Identify" determine the 'recognitionModel' used. + """; alias UpdateDynamicPersonGroupSummary = "Update the name or userData of an existing Dynamic Person Group, and manage its members by adding or removing persons."; alias UpdateDynamicPersonGroupDescription = "The properties keep unchanged if they are not in request body."; @@ -139,23 +137,19 @@ interface PersonDirectoryOperations { @returnsDoc(SuccessfulCallWithEmptyBody) updatePerson is FaceResourceUpdateOperation; - @doc( - """ + @doc(""" Persons are stored in alphabetical order of personId created in Person Directory \"Create Person\". ${ListRequestOptionsDescriptionInList} - """ - ) + """) @returnsDoc("A successful call returns an array of Person Directory Persons contained in the Dynamic Person Group.") @summary("List all persons' information in Person Directory, including personId, name, and userData.") getPersons is FaceResourceListOperation; @summary("List all Dynamic Person Groups a person has been referenced by in Person Directory.") - @doc( - """ + @doc(""" Dynamic Person Groups are stored in alphabetical order of Dynamic Person Group ID created in Person Directory \"Create Dynamic Person Group\". ${ListRequestOptionsDescriptionInList} - """ - ) + """) @returnsDoc("A successful call returns an array of dynamicPersonGroups information that reference the provided personId.") @get @action("dynamicPersonGroupReferences") @@ -257,22 +251,18 @@ interface PersonDirectoryOperations { updateDynamicPersonGroup is DynamicPersonGroupOperation; @summary("List all existing Dynamic Person Groups by dynamicPersonGroupId along with name and userData.") - @doc( - """ + @doc(""" Dynamic Person Groups are stored in alphabetical order of dynamicPersonGroupId. ${ListRequestOptionsDescriptionInList} - """ - ) + """) @returnsDoc("A successful call returns an array of Dynamic Person Groups and their information (dynamicPersonGroupId, name and userData).") getDynamicPersonGroups is FaceResourceListOperation; @summary("List all persons in the specified Dynamic Person Group.") - @doc( - """ + @doc(""" Persons are stored in alphabetical order of personId created in Person Directory \"Create Person\". ${ListRequestOptionsDescriptionInList} - """ - ) + """) @returnsDoc("A successful call returns an array of person information in the Person Directory.") @get @action("persons") diff --git a/specification/ai/Face/routes.persongroup.tsp b/specification/ai/Face/routes.persongroup.tsp index b6614083944a..7ef3b13b52e9 100644 --- a/specification/ai/Face/routes.persongroup.tsp +++ b/specification/ai/Face/routes.persongroup.tsp @@ -14,14 +14,14 @@ namespace Face; alias AddPersonGroupPersonFaceSummary = "Add a face to a person into a Person Group for face identification or verification."; alias AddPersonGroupPersonFaceDescription = """ To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Person Group Person Face\", \"Delete Person Group Person\" or \"Delete Person Group\" is called. - + Note that persistedFaceId is different from faceId generated by \"Detect\". ${AddFaceDescriptionInList} """; alias AddLargePersonGroupPersonFaceSummary = "Add a face to a person into a Large Person Group for face identification or verification."; alias AddLargePersonGroupPersonFaceDescription = """ To deal with an image containing multiple faces, input face can be specified as an image with a targetFace rectangle. It returns a persistedFaceId representing the added face. No image will be stored. Only the extracted face feature(s) will be stored on server until \"Delete Large Person Group Person Face\", \"Delete Large Person Group Person\" or \"Delete Large Person Group\" is called. - + Note that persistedFaceId is different from faceId generated by \"Detect\". ${AddFaceDescriptionInList} """; @@ -33,13 +33,13 @@ interface PersonGroupOperations { @summary("Create a new Person Group with specified personGroupId, name, user-provided userData and recognitionModel.") @doc(""" A Person Group is a container holding the uploaded person data, including face recognition features. - + After creation, use \"Create Person Group Person\" to add persons into the group, and then call \"Train Person Group\" to get this group ready for \"Identify From Person Group\". - + No image will be stored. Only the person's extracted face feature(s) and userData will be stored on server until \"Delete Person Group Person\" or \"Delete Person Group\" is called. - + 'recognitionModel' should be specified to associate with this Person Group. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing Person Group will use the recognition model that's already associated with the collection. Existing face feature(s) in a Person Group can't be updated to features extracted by another version of recognition model. - + > [!NOTE] > > * @@ -63,12 +63,10 @@ interface PersonGroupOperations { updatePersonGroup is FaceResourceUpdateOperation; @summary("List Person Groups' personGroupId, name, userData and recognitionModel.") - @doc( - """ + @doc(""" Person Groups are stored in alphabetical order of personGroupId. ${ListRequestOptionsDescriptionInList} - """ - ) + """) @returnsDoc("A successful call returns an array of Person Groups and their information (personGroupId, name and userData).") getPersonGroups is FaceResourceListOperation< PersonGroup, @@ -120,12 +118,10 @@ interface PersonGroupOperations { updatePersonGroupPerson is FaceResourceUpdateOperation; @summary("List all persons' information in the specified Person Group, including personId, name, userData and persistedFaceIds of registered person faces.") - @doc( - """ + @doc(""" Persons are stored in alphabetical order of personId created in \"Create Person Group Person\". ${ListRequestOptionsDescriptionInList} - """ - ) + """) @returnsDoc("A successful call returns an array of person information that belong to the Person Group.") getPersonGroupPersons is FaceResourceListOperation; @@ -161,13 +157,13 @@ interface PersonGroupOperations { @summary("Create a new Large Person Group with user-specified largePersonGroupId, name, an optional userData and recognitionModel.") @doc(""" A Large Person Group is a container holding the uploaded person data, including the face recognition features. It can hold up to 1,000,000 entities. - + After creation, use \"Create Large Person Group Person\" to add person into the group, and call \"Train Large Person Group\" to get this group ready for \"Identify From Large Person Group\". - + No image will be stored. Only the person's extracted face feature(s) and userData will be stored on server until \"Delete Large Person Group Person\" or \"Delete Large Person Group\" is called. - + 'recognitionModel' should be specified to associate with this Large Person Group. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing Large Person Group will use the recognition model that's already associated with the collection. Existing face feature(s) in a Large Person Group can't be updated to features extracted by another version of recognition model. - + > [!NOTE] > > * @@ -190,12 +186,10 @@ interface PersonGroupOperations { updateLargePersonGroup is FaceResourceUpdateOperation; @summary("List all existing Large Person Groups' largePersonGroupId, name, userData and recognitionModel.") - @doc( - """ + @doc(""" Large Person Groups are stored in alphabetical order of largePersonGroupId. ${ListRequestOptionsDescriptionInList} - """ - ) + """) @returnsDoc("A successful call returns an array of Large Person Groups and their information (largePersonGroupId, name and userData).") getLargePersonGroups is FaceResourceListOperation< LargePersonGroup, @@ -250,12 +244,10 @@ interface PersonGroupOperations { updateLargePersonGroupPerson is FaceResourceUpdateOperation; @summary("List all persons' information in the specified Large Person Group, including personId, name, userData and persistedFaceIds of registered person faces.") - @doc( - """ + @doc(""" Persons are stored in alphabetical order of personId created in \"Create Large Person Group Person\". ${ListRequestOptionsDescriptionInList} - """ - ) + """) @returnsDoc("A successful call returns an array of person information that belong to the Large Person Group.") getLargePersonGroupPersons is FaceResourceListOperation; diff --git a/specification/ai/Face/routes.recognition.tsp b/specification/ai/Face/routes.recognition.tsp index 04c9b296b6c1..70148cee57ae 100644 --- a/specification/ai/Face/routes.recognition.tsp +++ b/specification/ai/Face/routes.recognition.tsp @@ -13,29 +13,29 @@ using Foundations; namespace Face; alias IdentifyDocumentNote = """ -> [!NOTE] -> -> * -> * The algorithm allows more than one face to be identified independently at the same request, but no more than 10 faces. -> * Each person could have more than one face, but no more than 248 faces. -> * Higher face image quality means better identification precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger. -> * Number of candidates returned is restricted by maxNumOfCandidatesReturned and confidenceThreshold. If no person is identified, the returned candidates will be an empty array. -"""; + > [!NOTE] + > + > * + > * The algorithm allows more than one face to be identified independently at the same request, but no more than 10 faces. + > * Each person could have more than one face, but no more than 248 faces. + > * Higher face image quality means better identification precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger. + > * Number of candidates returned is restricted by maxNumOfCandidatesReturned and confidenceThreshold. If no person is identified, the returned candidates will be an empty array. + """; alias VerifyDocumentNote = """ -> [!NOTE] -> -> * -> * Higher face image quality means better identification precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger. -> * For the scenarios that are sensitive to accuracy please make your own judgment. -"""; + > [!NOTE] + > + > * + > * Higher face image quality means better identification precision. Please consider high-quality faces: frontal, clear, and face size is 200x200 pixels (100 pixels between eyes) or bigger. + > * For the scenarios that are sensitive to accuracy please make your own judgment. + """; alias FindSimilarDocument = """ -Depending on the input the returned similar faces list contains faceIds or persistedFaceIds ranked by similarity. - -Find similar has two working modes, "matchPerson" and "matchFace". "matchPerson" is the default mode that it tries to find faces of the same person as possible by using internal same-person thresholds. It is useful to find a known person's other photos. Note that an empty list will be returned if no faces pass the internal thresholds. "matchFace" mode ignores same-person thresholds and returns ranked similar faces anyway, even the similarity is low. It can be used in the cases like searching celebrity-looking faces. - -"""; + Depending on the input the returned similar faces list contains faceIds or persistedFaceIds ranked by similarity. + + Find similar has two working modes, "matchPerson" and "matchFace". "matchPerson" is the default mode that it tries to find faces of the same person as possible by using internal same-person thresholds. It is useful to find a known person's other photos. Note that an empty list will be returned if no faces pass the internal thresholds. "matchFace" mode ignores same-person thresholds and returns ranked similar faces anyway, even the similarity is low. It can be used in the cases like searching celebrity-looking faces. + + """; @returnsDoc("A successful call returns the identified candidate person(s) for each query face.") @sharedRoute @@ -102,78 +102,66 @@ op FindSimilarOperation is Azure.Core.RpcOp interface FaceRecognitionOperations { @summary("Given query face's faceId, to search the similar-looking faces from a faceId array. A faceId array contains the faces created by Detect.") - @doc( - """ + @doc(""" ${FindSimilarDocument} The 'recognitionModel' associated with the query faceId should be the same as the 'recognitionModel' used by the target faceId array. - """ - ) + """) findSimilar is FindSimilarOperation<{ @doc("An array of candidate faceIds. All of them are created by \"Detect\" and the faceIds will expire 24 hours after the detection call. The number of faceIds is limited to 1000.") faceIds: uuid[]; }>; @summary("Given query face's faceId, to search the similar-looking faces from a Face List. A 'faceListId' is created by Create Face List.") - @doc( - """ + @doc(""" ${FindSimilarDocument} The 'recognitionModel' associated with the query faceId should be the same as the 'recognitionModel' used by the target Face List. - """ - ) + """) findSimilarFromFaceList is FindSimilarOperation<{ @doc("An existing user-specified unique candidate Face List, created in \"Create Face List\". Face List contains a set of persistedFaceIds which are persisted and will never expire.") faceListId: string; }>; @summary("Given query face's faceId, to search the similar-looking faces from a Large Face List. A 'largeFaceListId' is created by Create Large Face List.") - @doc( - """ + @doc(""" ${FindSimilarDocument} The 'recognitionModel' associated with the query faceId should be the same as the 'recognitionModel' used by the target Large Face List. - """ - ) + """) findSimilarFromLargeFaceList is FindSimilarOperation<{ @doc("An existing user-specified unique candidate Large Face List, created in \"Create Large Face List\". Large Face List contains a set of persistedFaceIds which are persisted and will never expire.") largeFaceListId: string; }>; @summary("1-to-many identification to find the closest matches of the specific query person face from a Person Group.") - @doc( - """ + @doc(""" For each face in the faceIds array, Face Identify will compute similarities between the query face and all the faces in the Person Group (given by personGroupId), and return candidate person(s) for that face ranked by similarity confidence. The Person Group should be trained to make it ready for identification. See more in \"Train Person Group\". ${IdentifyDocumentNote} > * Try \"Find Similar\" when you need to find similar faces from a Face List/Large Face List instead of a Person Group. > * The 'recognitionModel' associated with the query faces' faceIds should be the same as the 'recognitionModel' used by the target Person Group. - """ - ) + """) identifyFromPersonGroup is IdentifyOperation<{ @doc("personGroupId of the target Person Group, created by \"Create Person Group\". Parameter personGroupId and largePersonGroupId should not be provided at the same time.") personGroupId: string; }>; @summary("1-to-many identification to find the closest matches of the specific query person face from a Large Person Group.") - @doc( - """ + @doc(""" For each face in the faceIds array, Face Identify will compute similarities between the query face and all the faces in the Large Person Group (given by largePersonGroupId), and return candidate person(s) for that face ranked by similarity confidence. The Large Person Group should be trained to make it ready for identification. See more in \"Train Large Person Group\". ${IdentifyDocumentNote} > * Try \"Find Similar\" when you need to find similar faces from a Face List/Large Face List instead of a Person Group/Large Person Group. > * The 'recognitionModel' associated with the query faces' faceIds should be the same as the 'recognitionModel' used by the target Person Group or Large Person Group. - """ - ) + """) identifyFromLargePersonGroup is IdentifyOperation<{ @doc("largePersonGroupId of the target Large Person Group, created by \"Create Large Person Group\". Parameter personGroupId and largePersonGroupId should not be provided at the same time.") largePersonGroupId: string; }>; @summary("1-to-many identification to find the closest matches of the specific query person face from a person directory personIds array.") - @doc( - """ + @doc(""" For each face in the faceIds array, Face Identify will compute similarities between the query face and all the faces in the Person Directory Persons (given by personIds), and return candidate person(s) for that face ranked by similarity confidence. Passing personIds with an array with one element "*" can perform the operation over entire person directory. ${IdentifyDocumentNote} > * The Identify operation can only match faces obtained with the same recognition model, that is associated with the query faces. - """ - ) + """) identifyFromPersonDirectory is IdentifyOperation<{ @doc("Array of personIds created in Person Directory \"Create Person\". The valid number of personIds is between [1,30].") @minItems(1) @@ -182,25 +170,21 @@ interface FaceRecognitionOperations { }>; @summary("1-to-many identification to find the closest matches of the specific query person face from a Dynamic Person Group.") - @doc( - """ + @doc(""" For each face in the faceIds array, Face Identify will compute similarities between the query face and all the faces in the Dynamic Person Group (given by dynamicPersonGroupId), and return candidate person(s) for that face ranked by similarity confidence. ${IdentifyDocumentNote} > * The Identify operation can only match faces obtained with the same recognition model, that is associated with the query faces. - """ - ) + """) identifyFromDynamicPersonGroup is IdentifyOperation<{ @doc("DynamicPersonGroupId of the target PersonDirectory DynamicPersonGroup to match against.") dynamicPersonGroupId: string; }>; @summary("Verify whether two faces belong to a same person.") - @doc( - """ + @doc(""" ${VerifyDocumentNote} > * The 'recognitionModel' associated with the both faces should be the same. - """ - ) + """) verifyFaceToFace is VerifyOperation<{ @doc("The faceId of one face, come from \"Detect\".") faceId1: uuid; @@ -210,12 +194,10 @@ interface FaceRecognitionOperations { }>; @summary("Verify whether a face belongs to a person in a Person Group.") - @doc( - """ + @doc(""" ${VerifyDocumentNote} > * The 'recognitionModel' associated with the query face should be the same as the 'recognitionModel' used by the Person Group. - """ - ) + """) verifyFromPersonGroup is VerifyOperation<{ @doc("The faceId of the face, come from \"Detect\".") faceId: uuid; @@ -228,12 +210,10 @@ interface FaceRecognitionOperations { }>; @summary("Verify whether a face belongs to a person in a Large Person Group.") - @doc( - """ + @doc(""" ${VerifyDocumentNote} > * The 'recognitionModel' associated with the query face should be the same as the 'recognitionModel' used by the Large Person Group. - """ - ) + """) verifyFromLargePersonGroup is VerifyOperation<{ @doc("The faceId of the face, come from \"Detect\".") faceId: uuid; @@ -245,12 +225,10 @@ interface FaceRecognitionOperations { personId: uuid; }>; - @doc( - """ + @doc(""" ${VerifyDocumentNote} > * The Verify operation can only match faces obtained with the same recognition model, that is associated with the query face. - """ - ) + """) @summary("Verify whether a face belongs to a person in Person Directory.") verifyFromPersonDirectory is VerifyOperation<{ @doc("The faceId of the face, come from \"Detect\".") diff --git a/specification/ai/Face/routes.session.tsp b/specification/ai/Face/routes.session.tsp index eff89082a2e6..4c5c59085f75 100644 --- a/specification/ai/Face/routes.session.tsp +++ b/specification/ai/Face/routes.session.tsp @@ -13,32 +13,32 @@ namespace Face; alias SessionCommonDescription = "A session is best for client device scenarios where developers want to authorize a client device to perform only a liveness detection without granting full access to their resource. Created sessions have a limited life span and only authorize clients to perform the desired action before access is expired."; alias LivenessSessionWithVerifyDescription = """ -${SessionCommonDescription} - -Permissions includes... -> -* - * Ability to call /detectLivenessWithVerify/singleModal for up to 3 retries. - * A token lifetime of 10 minutes. - -> [!NOTE] -> -> * -> * Client access can be revoked by deleting the session using the Delete Liveness With Verify Session operation. -> * To retrieve a result, use the Get Liveness With Verify Session. -> * To audit the individual requests that a client has made to your resource, use the List Liveness With Verify Session Audit Entries. -"""; + ${SessionCommonDescription} + + Permissions includes... + > + * + * Ability to call /detectLivenessWithVerify/singleModal for up to 3 retries. + * A token lifetime of 10 minutes. + + > [!NOTE] + > + > * + > * Client access can be revoked by deleting the session using the Delete Liveness With Verify Session operation. + > * To retrieve a result, use the Get Liveness With Verify Session. + > * To audit the individual requests that a client has made to your resource, use the List Liveness With Verify Session Audit Entries. + """; alias SessionCreationSuccess = "A successful call create a session for a client device and provide an authorization token for use by the client application for a limited purpose and time."; alias DeleteSessionSummary = "Delete all session related information for matching the specified session id."; alias DeleteSessionDescription = """ -> [!NOTE] -> Deleting a session deactivates the Session Auth Token by blocking future API calls made with that Auth Token. While this can be used to remove any access for that token, those requests will still count towards overall resource rate limits. It's best to leverage TokenTTL to limit length of tokens in the case that it is misused. -"""; + > [!NOTE] + > Deleting a session deactivates the Session Auth Token by blocking future API calls made with that Auth Token. While this can be used to remove any access for that token, those requests will still count towards overall resource rate limits. It's best to leverage TokenTTL to limit length of tokens in the case that it is misused. + """; alias ListSessionDescription = """ -List sessions from the last sessionId greater than the 'start'. - -The result should be ordered by sessionId in ascending order. -"""; + List sessions from the last sessionId greater than the 'start'. + + The result should be ordered by sessionId in ascending order. + """; alias ListSessionAuditEntriesDescription = "Gets session requests and response body for the session."; @get @@ -53,25 +53,23 @@ op FaceLivenessSessionListAuditEntries; interface LivenessSessionOperations { - @doc( - """ + @doc(""" ${SessionCommonDescription} - + Permissions includes... > * * Ability to call /detectLiveness/singleModal for up to 3 retries. * A token lifetime of 10 minutes. - + > [!NOTE] > Client access can be revoked by deleting the session using the Delete Liveness Session operation. To retrieve a result, use the Get Liveness Session. To audit the individual requests that a client has made to your resource, use the List Liveness Session Audit Entries. - """ - ) + """) @summary("Create a new detect liveness session.") @returnsDoc(SessionCreationSuccess) createLivenessSession is FaceResourceCreateWithServiceProvidedName< LivenessSession, - CreateLivenessSessionContent, + BodyParameter, CreateLivenessSessionResult >; @@ -94,13 +92,11 @@ interface LivenessSessionOperations { getLivenessSessionAuditEntries is FaceLivenessSessionListAuditEntries; #suppress "@azure-tools/typespec-azure-core/byos" "Representation of existing multipart/form-data operation" - @doc( - """ + @doc(""" ${LivenessSessionWithVerifyDescription} - + Recommended Option: VerifyImage is provided during session creation. - """ - ) + """) @summary("Create a new liveness session with verify. Provide the verify image during session creation.") @returnsDoc(SessionCreationSuccess) @sharedRoute @@ -110,21 +106,19 @@ interface LivenessSessionOperations { CreateLivenessWithVerifySessionResult >; - @doc( - """ + @doc(""" ${LivenessSessionWithVerifyDescription} - + Alternative Option: Client device submits VerifyImage during the /detectLivenessWithVerify/singleModal call. > [!NOTE] > Extra measures should be taken to validate that the client is sending the expected VerifyImage. - """ - ) + """) @summary("Create a new liveness session with verify. Client device submits VerifyImage during the /detectLivenessWithVerify/singleModal call.") @returnsDoc(SessionCreationSuccess) @sharedRoute createLivenessWithVerifySession is FaceResourceCreateWithServiceProvidedName< LivenessWithVerifySession, - CreateLivenessSessionContent, + BodyParameter, CreateLivenessWithVerifySessionResult >; @@ -139,7 +133,7 @@ interface LivenessSessionOperations { @summary("Lists sessions for /detectLivenessWithVerify/SingleModal.") @doc(""" List sessions from the last sessionId greater than the \"start\". - + The result should be ordered by sessionId in ascending order. """) getLivenessWithVerifySessions is FaceResourceListOperation< diff --git a/specification/ai/Face/tspconfig.yaml b/specification/ai/Face/tspconfig.yaml index f0b397a84bed..b96f9c05c0aa 100644 --- a/specification/ai/Face/tspconfig.yaml +++ b/specification/ai/Face/tspconfig.yaml @@ -9,6 +9,7 @@ emit: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "examples" omit-unreachable-types: true diff --git a/specification/ai/HealthInsights/HealthInsights.Common/model.common.fhir.elements.tsp b/specification/ai/HealthInsights/HealthInsights.Common/model.common.fhir.elements.tsp index 0f07ddb14e67..e76df9708d54 100644 --- a/specification/ai/HealthInsights/HealthInsights.Common/model.common.fhir.elements.tsp +++ b/specification/ai/HealthInsights/HealthInsights.Common/model.common.fhir.elements.tsp @@ -54,9 +54,9 @@ alias value_x = { #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Keep is much as close to FHIR Spec" @doc(""" -Base for all elements -Based on [FHIR Element](https://www.hl7.org/fhir/datatypes.html#Element) -""") + Base for all elements + Based on [FHIR Element](https://www.hl7.org/fhir/R4/element.html) + """) model Extension extends Element { @doc("Source of the definition for the extension code - a logical name or a URL.") url: fhirUri; @@ -71,9 +71,9 @@ model Extendible { } @doc(""" -The base definition for all elements contained inside a resource. -Based on [FHIR Element](https://www.hl7.org/fhir/R4/element.html) -""") + The base definition for all elements contained inside a resource. + Based on [FHIR Element](https://www.hl7.org/fhir/R4/element.html) + """) model Element { @doc("Unique id for inter-element referencing") id?: string; @@ -85,9 +85,9 @@ model Element { #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Keep is much as close to FHIR Spec" @doc(""" -A Coding is a representation of a defined concept using a symbol from a defined "code system". -Based on [FHIR Coding](https://www.hl7.org/fhir/R4/datatypes.html#Coding) -""") + A Coding is a representation of a defined concept using a symbol from a defined "code system". + Based on [FHIR Coding](https://www.hl7.org/fhir/R4/datatypes.html#Coding) + """) model Coding extends Element { @doc("Identity of the terminology system") system?: fhirUri; @@ -104,9 +104,9 @@ model Coding extends Element { #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Keep is much as close to FHIR Spec" @doc(""" -Concept - reference to a terminology or just text -Based on [FHIR CodeableConcept](https://www.hl7.org/fhir/R4/datatypes.html#CodeableConcept) -""") + Concept - reference to a terminology or just text + Based on [FHIR CodeableConcept](https://www.hl7.org/fhir/R4/datatypes.html#CodeableConcept) + """) model CodeableConcept extends Element { @doc("Code defined by a terminology system") coding?: Array; @@ -118,9 +118,9 @@ model CodeableConcept extends Element { alias canonical = fhirUri; @doc(""" -Metadata about a resource -Based on [FHIR Meta](https://www.hl7.org/fhir/R4/resource.html#Meta) -""") + Metadata about a resource + Based on [FHIR Meta](https://www.hl7.org/fhir/R4/resource.html#Meta) + """) model Meta { @doc("The version specific identifier, as it appears in the version portion of the URL. This value changes when the resource is created, updated, or deleted.") versionId?: string; @@ -144,9 +144,9 @@ model Meta { alias xhtml = string; #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Keep is much as close to FHIR Spec" @doc(""" -Any resource that is a [DomainResource](https://www.hl7.org/fhir/domainresource.html) may include a human-readable narrative that contains a summary of the resource and may be used to represent the content of the resource to a human. -Based on [FHIR Narrative](https://www.hl7.org/fhir/R4/narrative.html#Narrative) -""") + Any resource that is a [DomainResource](https://www.hl7.org/fhir/domainresource.html) may include a human-readable narrative that contains a summary of the resource and may be used to represent the content of the resource to a human. + Based on [FHIR Narrative](https://www.hl7.org/fhir/R4/narrative.html#Narrative) + """) model Narrative extends Element { @doc("generated, extensions, additional, empty") status: string; @@ -157,9 +157,9 @@ model Narrative extends Element { #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Keep is much as close to FHIR Spec" @doc(""" -A reference from one resource to another -Based on [FHIR Reference](https://www.hl7.org/fhir/R4/references.html) -""") + A reference from one resource to another + Based on [FHIR Reference](https://www.hl7.org/fhir/R4/references.html) + """) model Reference extends Element { #suppress "@azure-tools/typespec-azure-core/property-name-conflict" "must keep the name 'reference' for compatibility with FHIR" @doc("Literal reference, Relative, internal or absolute URL") @@ -177,9 +177,9 @@ model Reference extends Element { #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Keep is much as close to FHIR Spec" @doc(""" -An identifier intended for computation -Based on [FHIR Identifier](https://www.hl7.org/fhir/R4/identifier.html) -""") + An identifier intended for computation + Based on [FHIR Identifier](https://www.hl7.org/fhir/R4/identifier.html) + """) model Identifier extends Element { @doc("usual | official | temp | secondary | old (If known)") use?: string; @@ -202,9 +202,9 @@ model Identifier extends Element { #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Keep is much as close to FHIR Spec" @doc(""" -A time period defined by a start and end date and optionally time -Based on [FHIR Period](https://www.hl7.org/fhir/R4/datatypes.html#Period) -""") + A time period defined by a start and end date and optionally time + Based on [FHIR Period](https://www.hl7.org/fhir/R4/datatypes.html#Period) + """) model Period extends Element { @doc("Starting time with inclusive boundary") start?: fhirDateTime; @@ -215,9 +215,9 @@ model Period extends Element { #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Keep is much as close to FHIR Spec" @doc(""" -A measured or measurable amount -Based on [FHIR Quantity](https://www.hl7.org/fhir/R4/datatypes.html#Quantity) -""") + A measured or measurable amount + Based on [FHIR Quantity](https://www.hl7.org/fhir/R4/datatypes.html#Quantity) + """) model Quantity extends Element { @doc("Numerical value (with implicit precision)") value?: float64; @@ -237,9 +237,9 @@ model Quantity extends Element { #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Keep is much as close to FHIR Spec" @doc(""" -A set of ordered Quantities defined by a low and high limit -Based on [FHIR Range](https://www.hl7.org/fhir/R4/datatypes.html#Range) -""") + A set of ordered Quantities defined by a low and high limit + Based on [FHIR Range](https://www.hl7.org/fhir/R4/datatypes.html#Range) + """) model Range extends Element { @doc("Low limit") low?: Quantity; @@ -250,9 +250,9 @@ model Range extends Element { #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Keep is much as close to FHIR Spec" @doc(""" -A ratio of two Quantity values - a numerator and a denominator -Based on [FHIR Ratio](https://www.hl7.org/fhir/R4/datatypes.html#Ratio) -""") + A ratio of two Quantity values - a numerator and a denominator + Based on [FHIR Ratio](https://www.hl7.org/fhir/R4/datatypes.html#Ratio) + """) model Ratio extends Element { @doc("Numerator value") numerator?: Quantity; @@ -263,9 +263,9 @@ model Ratio extends Element { #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Keep is much as close to FHIR Spec" @doc(""" -A text note which also contains information about who made the statement and when -Based on [FHIR Annotation](https://www.hl7.org/fhir/R4/datatypes.html#Annotation) -""") + A text note which also contains information about who made the statement and when + Based on [FHIR Annotation](https://www.hl7.org/fhir/R4/datatypes.html#Annotation) + """) model Annotation extends Element { @doc("Individual responsible for the annotation") authorString?: string; @@ -279,9 +279,9 @@ model Annotation extends Element { #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Keep is much as close to FHIR Spec" @doc(""" -A series of measurements taken by a device -Based on [FHIR SampledData](https://www.hl7.org/fhir/R4/datatypes.html#SampledData) -""") + A series of measurements taken by a device + Based on [FHIR SampledData](https://www.hl7.org/fhir/R4/datatypes.html#SampledData) + """) model SampledData extends Element { @doc("Zero value and units") origin: Quantity; @@ -308,8 +308,8 @@ model SampledData extends Element { #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Keep is much as close to FHIR Spec" @doc(""" -Contact details (See: https://www.hl7.org/fhir/R4/metadatatypes.html#ContactDetail) -""") + Contact details (See: https://www.hl7.org/fhir/R4/metadatatypes.html#ContactDetail) + """) model ContactDetail extends Element { @doc("Name of an individual to contact") name?: string; @@ -319,9 +319,9 @@ model ContactDetail extends Element { } @doc(""" -Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. -See https://www.hl7.org/fhir/R4/datatypes.html#ContactPoint -""") + Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. + See https://www.hl7.org/fhir/R4/datatypes.html#ContactPoint + """) model ContactPoint { @doc("phone | fax | email | pager | url | sms | other") system?: ContactPointSystem; @@ -340,9 +340,9 @@ model ContactPoint { } @doc(""" -Contact Point System -see https://www.hl7.org/fhir/R4/valueset-contact-point-system.html -""") + Contact Point System + see https://www.hl7.org/fhir/R4/valueset-contact-point-system.html + """) union ContactPointSystem { string, @@ -369,9 +369,9 @@ union ContactPointSystem { } @doc(""" -Contact Point Use -See: http://hl7.org/fhir/ValueSet/contact-point-use -""") + Contact Point Use + See: http://hl7.org/fhir/ValueSet/contact-point-use + """) union ContactPointUse { string, diff --git a/specification/ai/HealthInsights/HealthInsights.Common/model.common.fhir.resources.tsp b/specification/ai/HealthInsights/HealthInsights.Common/model.common.fhir.resources.tsp index 7608f74be812..a113644a1a8c 100644 --- a/specification/ai/HealthInsights/HealthInsights.Common/model.common.fhir.resources.tsp +++ b/specification/ai/HealthInsights/HealthInsights.Common/model.common.fhir.resources.tsp @@ -6,9 +6,9 @@ namespace Fhir.R4; #suppress "@azure-tools/typespec-azure-core/bad-record-type" "model should have additionalProperties" @doc(""" -Resource is the ancestor of DomainResource from which most resources are derived. Bundle, Parameters, and Binary extend Resource directly. -Based on [FHIR Resource](https://www.hl7.org/fhir/r4/resource.html -""") + Resource is the ancestor of DomainResource from which most resources are derived. Bundle, Parameters, and Binary extend Resource directly. + Based on [FHIR Resource](https://www.hl7.org/fhir/r4/resource.html + """) model Resource is Record { @doc("The type of resource") resourceType: string; @@ -28,10 +28,11 @@ model Resource is Record { #suppress "@azure-tools/typespec-azure-core/bad-record-type" "model should have additionalProperties" #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "must extends Resource to be able use clientName in both Resource and DomainResource" +#suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc(""" -A resource with narrative, extensions, and contained resources -Based on [FHIR DomainResource](https://www.hl7.org/fhir/domainresource.html) -""") + A resource with narrative, extensions, and contained resources + Based on [FHIR DomainResource](https://www.hl7.org/fhir/domainresource.html) + """) @discriminator("resourceType") model DomainResource extends Resource { @doc("Text summary of the resource, for human interpretation") @@ -49,9 +50,9 @@ model DomainResource extends Resource { #suppress "@azure-tools/typespec-azure-core/bad-record-type" "model should have additionalProperties" @doc(""" -Detailed information about conditions, problems or diagnoses -Based on [FHIR Condition](https://www.hl7.org/fhir/R4/condition.html) -""") + Detailed information about conditions, problems or diagnoses + Based on [FHIR Condition](https://www.hl7.org/fhir/R4/condition.html) + """) model Condition extends DomainResource { @doc("resourceType") resourceType: "Condition"; @@ -121,9 +122,9 @@ model Condition extends DomainResource { } @doc(""" -Stage/grade, usually assessed formally -Based on [FHIR Condition.Stage](https://www.hl7.org/fhir/R4/condition.html) -""") + Stage/grade, usually assessed formally + Based on [FHIR Condition.Stage](https://www.hl7.org/fhir/R4/condition.html) + """) model ConditionStage { @doc("Simple summary (disease specific)") summary?: CodeableConcept; @@ -134,9 +135,9 @@ model ConditionStage { #suppress "@azure-tools/typespec-azure-core/bad-record-type" "model should have additionalProperties" @doc(""" -Detailed information about observations -Based on [FHIR Observation](https://www.hl7.org/fhir/R4/observation.html) -""") + Detailed information about observations + Based on [FHIR Observation](https://www.hl7.org/fhir/R4/observation.html) + """) model Observation extends DomainResource { @doc("resourceType") resourceType: "Observation"; @@ -233,9 +234,9 @@ model Observation extends DomainResource { } @doc(""" -Provides guide for interpretation of component result -Based on [FHIR Observation.referenceRange](https://www.hl7.org/fhir/R4/observation.html) -""") + Provides guide for interpretation of component result + Based on [FHIR Observation.referenceRange](https://www.hl7.org/fhir/R4/observation.html) + """) model ObservationReferenceRange { @doc("Low Range, if relevant") low?: Quantity; @@ -258,9 +259,9 @@ model ObservationReferenceRange { #suppress "@azure-tools/typespec-azure-core/composition-over-inheritance" "Keep is much as close to FHIR Spec" @doc(""" -Component results -Based on [FHIR Observation.component](https://www.hl7.org/fhir/R4/observation.html) -""") + Component results + Based on [FHIR Observation.component](https://www.hl7.org/fhir/R4/observation.html) + """) model ObservationComponent extends Element { @doc("Type of component observation (code / type)") code: CodeableConcept; @@ -278,9 +279,9 @@ model ObservationComponent extends Element { } @doc(""" -Observation Status -Based on [FHIR ObservationStatus](https://www.hl7.org/fhir/R4/valueset-observation-status.html) -""") + Observation Status + Based on [FHIR ObservationStatus](https://www.hl7.org/fhir/R4/valueset-observation-status.html) + """) union ObservationStatusCodeType { string, @@ -311,9 +312,9 @@ union ObservationStatusCodeType { #suppress "@azure-tools/typespec-azure-core/bad-record-type" "model should have additionalProperties" @doc(""" -Detailed information about Research Study -Based on [FHIR ResearchStudy](https://www.hl7.org/fhir/R4/researchstudy.html) -""") + Detailed information about Research Study + Based on [FHIR ResearchStudy](https://www.hl7.org/fhir/R4/researchstudy.html) + """) model ResearchStudy extends DomainResource { @doc("resourceType") resourceType: "ResearchStudy"; @@ -408,8 +409,8 @@ alias ResearchStudyObjective = { }; @doc(""" -https://www.hl7.org/fhir/R4/codesystem-research-study-status.html -""") + https://www.hl7.org/fhir/R4/codesystem-research-study-status.html + """) union ResearchStudyStatusCodeType { string, diff --git a/specification/ai/HealthInsights/HealthInsights.Common/model.common.request.tsp b/specification/ai/HealthInsights/HealthInsights.Common/model.common.request.tsp index 0905aa8ac2da..a03306566784 100644 --- a/specification/ai/HealthInsights/HealthInsights.Common/model.common.request.tsp +++ b/specification/ai/HealthInsights/HealthInsights.Common/model.common.request.tsp @@ -22,14 +22,14 @@ alias ModelConfiguration = { @doc("A patient record, including their clinical information and data.") model PatientRecord { @doc(""" -A given identifier for the patient. Has to be unique across all patients in a single request. -""") + A given identifier for the patient. Has to be unique across all patients in a single request. + """) @minLength(1) id: string; @doc(""" -Patient structured information, including demographics and known structured clinical information. -""") + Patient structured information, including demographics and known structured clinical information. + """) details?: PatientDetails; @doc("Patient encounters/visits.") @@ -86,10 +86,10 @@ union ClinicalDocumentType { #suppress "@azure-tools/typespec-azure-core/documentation-required" "MUST fix in next update" @doc(""" -The type of the content's source. -In case the source type is 'inline', the content is given as a string (for instance, text). -In case the source type is 'reference', the content is given as a URI. -""") + The type of the content's source. + In case the source type is 'inline', the content is given as a string (for instance, text). + In case the source type is 'reference', the content is given as a URI. + """) union DocumentContentSourceType { string, @@ -149,9 +149,9 @@ model PatientEncounter { id: string; @doc(""" - Time period of the visit. - In case of admission, use timePeriod.start to indicate the admission time and timePeriod.end to indicate the discharge time. - """) + Time period of the visit. + In case of admission, use timePeriod.start to indicate the admission time and timePeriod.end to indicate the discharge time. + """) period?: TimePeriod; @doc("The class of the encounter.") @@ -163,33 +163,33 @@ union EncounterClass { string, @doc(""" - A patient encounter where a patient is admitted by a hospital or equivalent facility, assigned to a location where patients generally stay at least overnight and provided with room, board, and continuous nursing service. - """) + A patient encounter where a patient is admitted by a hospital or equivalent facility, assigned to a location where patients generally stay at least overnight and provided with room, board, and continuous nursing service. + """) InPatient: "inpatient", @doc(""" - The term ambulatory usually implies that the patient has come to the location and is not assigned to a bed. Sometimes referred to as an outpatient encounter. - """) + The term ambulatory usually implies that the patient has come to the location and is not assigned to a bed. Sometimes referred to as an outpatient encounter. + """) Ambulatory: "ambulatory", @doc(""" - An encounter where the patient usually will start in different encounter, such as one in the emergency department but then transition to this type of encounter because they require a significant period of treatment and monitoring to determine whether or not their condition warrants an inpatient admission or discharge. - """) + An encounter where the patient usually will start in different encounter, such as one in the emergency department but then transition to this type of encounter because they require a significant period of treatment and monitoring to determine whether or not their condition warrants an inpatient admission or discharge. + """) Observation: "observation", @doc(""" - A patient encounter that takes place at a dedicated healthcare service delivery location where the patient receives immediate evaluation and treatment, provided until the patient can be discharged or responsibility for the patient's care is transferred elsewhere (for example, the patient could be admitted as an inpatient or transferred to another facility. - """) + A patient encounter that takes place at a dedicated healthcare service delivery location where the patient receives immediate evaluation and treatment, provided until the patient can be discharged or responsibility for the patient's care is transferred elsewhere (for example, the patient could be admitted as an inpatient or transferred to another facility. + """) Emergency: "emergency", @doc(""" - A patient encounter where the patient is not physically present for the encounter, such as in a telehealth encounter, phone call, or electronic communication. - """) + A patient encounter where the patient is not physically present for the encounter, such as in a telehealth encounter, phone call, or electronic communication. + """) Virtual: "virtual", @doc(""" - Healthcare encounter that takes place in the residence of the patient or a designee - """) + Healthcare encounter that takes place in the residence of the patient or a designee + """) HealthHome: "healthHome", } @@ -216,14 +216,14 @@ model DocumentAuthor { @doc("The content of the patient document.") model DocumentContent { @doc(""" -The type of the content's source. -In case the source type is 'inline', the content is given as a string (for instance, text). -In case the source type is 'reference', the content is given as a URI. -""") + The type of the content's source. + In case the source type is 'inline', the content is given as a string (for instance, text). + In case the source type is 'reference', the content is given as a URI. + """) sourceType: DocumentContentSourceType; @doc(""" -The content of the document, given either inline (as a string) or as a reference (URI). -""") + The content of the document, given either inline (as a string) or as a reference (URI). + """) value: string; } diff --git a/specification/ai/HealthInsights/HealthInsights.Common/model.common.response.tsp b/specification/ai/HealthInsights/HealthInsights.Common/model.common.response.tsp index 46692658bb8f..433c1532519f 100644 --- a/specification/ai/HealthInsights/HealthInsights.Common/model.common.response.tsp +++ b/specification/ai/HealthInsights/HealthInsights.Common/model.common.response.tsp @@ -63,9 +63,9 @@ model InferenceEvidence { patientDataEvidence?: ClinicalNoteEvidence; @doc(""" -A piece of clinical information, expressed as a code in a clinical coding -system. -""") + A piece of clinical information, expressed as a code in a clinical coding + system. + """) patientInfoEvidence?: ClinicalCodedElement; @doc("A value indicating how important this piece of evidence is for the inference.") diff --git a/specification/ai/HealthInsights/HealthInsights.Common/model.common.shared.tsp b/specification/ai/HealthInsights/HealthInsights.Common/model.common.shared.tsp index 3c8a9fa7aca1..e7829bde8c95 100644 --- a/specification/ai/HealthInsights/HealthInsights.Common/model.common.shared.tsp +++ b/specification/ai/HealthInsights/HealthInsights.Common/model.common.shared.tsp @@ -39,15 +39,15 @@ model HealthInsightsJobBase { @doc("ConditionStage") model ConditionStage { @doc(""" - Simple summary (disease specific) - see: https://www.hl7.org/fhir/valueset-condition-stage.html -""") + Simple summary (disease specific) + see: https://www.hl7.org/fhir/valueset-condition-stage.html + """) summary: Fhir.R4.CodeableConcept; @doc(""" - Kind of staging - see: https://www.hl7.org/fhir/valueset-condition-stage-kind.html - """) + Kind of staging + see: https://www.hl7.org/fhir/valueset-condition-stage-kind.html + """) type?: Fhir.R4.CodeableConcept; } @@ -87,9 +87,9 @@ union InterpretationType { } @doc(""" -ObservationStatusType based on FHIR valueset observation-status -see: https://www.hl7.org/fhir/codesystem-observation-status.html -""") + ObservationStatusType based on FHIR valueset observation-status + see: https://www.hl7.org/fhir/codesystem-observation-status.html + """) union ObservationStatusType { string, @@ -100,9 +100,9 @@ union ObservationStatusType { Preliminary: "preliminary", @doc(""" - The observation is complete and there are no further actions needed. Additional information such as 'released', 'signed', etc would be represented using [Provenance](provenance.html) which provides not only the act but also the actors and dates and other related data. - These act states would be associated with an observation status of `preliminary` until they are all completed and then a status of `final` would be applied. - """) + The observation is complete and there are no further actions needed. Additional information such as 'released', 'signed', etc would be represented using [Provenance](provenance.html) which provides not only the act but also the actors and dates and other related data. + These act states would be associated with an observation status of `preliminary` until they are all completed and then a status of `final` would be applied. + """) Final: "final", @doc("Subsequent to being Final, the observation has been modified subsequent. This includes updates/new information and corrections.") @@ -122,9 +122,9 @@ union ObservationStatusType { } @doc(""" -ConditionDiagnosisSeverityType based on SNOMED CT International edition 31-July 2022 -see: http://snomed.info/sct -""") + ConditionDiagnosisSeverityType based on SNOMED CT International edition 31-July 2022 + see: http://snomed.info/sct + """) union ConditionDiagnosisSeverityType { string, @@ -139,8 +139,8 @@ union ConditionDiagnosisSeverityType { } @doc(""" -ConditionCategoryType based on FHIR valueset condition-category -""") + ConditionCategoryType based on FHIR valueset condition-category + """) union ConditionCategoryType { string, @@ -152,9 +152,9 @@ union ConditionCategoryType { } @doc(""" -VerificationStatusType based of FHIR valueset condition-ver-status. -see: https://terminology.hl7.org/5.1.0/CodeSystem-condition-ver-status.html -""") + VerificationStatusType based of FHIR valueset condition-ver-status. + see: https://terminology.hl7.org/5.1.0/CodeSystem-condition-ver-status.html + """) union VerificationStatusType { string, @@ -178,10 +178,10 @@ union VerificationStatusType { } @doc(""" -A location given as a combination of city, state and country/region. It could specify a city, a state or a country/region. -In case a city is specified, either state +country/region or country/region (for countries/regions where there are no states) should be added. -In case a state is specified (without a city), country/region should be added. -""") + A location given as a combination of city, state and country/region. It could specify a city, a state or a country/region. + In case a city is specified, either state +country/region or country/region (for countries/regions where there are no states) should be added. + In case a state is specified (without a city), country/region should be added. + """) model GeographicLocation { @doc("City name.") city?: string; @@ -214,8 +214,8 @@ model OrderedProcedure { } @doc(""" -A piece of clinical information, expressed as a code in a clinical coding system. -""") + A piece of clinical information, expressed as a code in a clinical coding system. + """) model ClinicalCodedElement { @doc("The clinical coding system, e.g. ICD-10, SNOMED-CT, UMLS.") system: string; @@ -229,3 +229,14 @@ model ClinicalCodedElement { @doc("A value associated with the code within the given clinical coding system.") value?: string; } + +alias BodyParameter< + T, + TName extends valueof string = "body", + TDoc extends valueof string = "Body parameter." +> = { + @doc(TDoc) + @friendlyName(TName) + @bodyRoot + body: T; +}; diff --git a/specification/ai/HealthInsights/HealthInsights.OncoPhenotype/model.oncophenotype.tsp b/specification/ai/HealthInsights/HealthInsights.OncoPhenotype/model.oncophenotype.tsp index b9d4ad3e8be5..4523bb0b3283 100644 --- a/specification/ai/HealthInsights/HealthInsights.OncoPhenotype/model.oncophenotype.tsp +++ b/specification/ai/HealthInsights/HealthInsights.OncoPhenotype/model.oncophenotype.tsp @@ -49,8 +49,8 @@ model OncoPhenotypeInference { evidence?: InferenceEvidence[]; @doc(""" -An identifier for a clinical case, if there are multiple clinical cases regarding the same patient. -""") + An identifier for a clinical case, if there are multiple clinical cases regarding the same patient. + """) caseId?: string; } @@ -59,15 +59,15 @@ model OncoPhenotypeModelConfiguration { ...ModelConfiguration; @doc(""" -A list of inference types to be inferred for the current request. -This could be used if only part of the Onco Phenotype inferences are required. -If this list is omitted or empty, the model will return all the inference types. -""") + A list of inference types to be inferred for the current request. + This could be used if only part of the Onco Phenotype inferences are required. + If this list is omitted or empty, the model will return all the inference types. + """) inferenceTypes?: OncoPhenotypeInferenceType[]; @doc(""" -An indication whether to perform a preliminary step on the patient's documents to determine whether they relate to a Cancer case. -""") + An indication whether to perform a preliminary step on the patient's documents to determine whether they relate to a Cancer case. + """) checkForCancerCase?: boolean = false; } diff --git a/specification/ai/HealthInsights/HealthInsights.OncoPhenotype/route.oncophenotype.tsp b/specification/ai/HealthInsights/HealthInsights.OncoPhenotype/route.oncophenotype.tsp index f60da4e7484a..3bcfdf2454b3 100644 --- a/specification/ai/HealthInsights/HealthInsights.OncoPhenotype/route.oncophenotype.tsp +++ b/specification/ai/HealthInsights/HealthInsights.OncoPhenotype/route.oncophenotype.tsp @@ -19,7 +19,7 @@ interface OncoPhenotype { @doc("Gets the status and details of the Onco Phenotype job.") @get @route("/onco-phenotype/jobs/{id}") - getJob is HealthInsightsLongRunningPollOperation; + getJob is HealthInsightsLongRunningPollOperation>; #suppress "@azure-tools/typespec-azure-core/long-running-polling-operation-required" "Polling through operation-location" #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "There is no long-running RPC template in Azure.Core" diff --git a/specification/ai/HealthInsights/HealthInsights.OpenAPI/tspconfig.yaml b/specification/ai/HealthInsights/HealthInsights.OpenAPI/tspconfig.yaml index 9b6557360eef..4594c77237d3 100644 --- a/specification/ai/HealthInsights/HealthInsights.OpenAPI/tspconfig.yaml +++ b/specification/ai/HealthInsights/HealthInsights.OpenAPI/tspconfig.yaml @@ -11,6 +11,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/../.." examples-directory: examples omit-unreachable-types: true diff --git a/specification/ai/HealthInsights/HealthInsights.PatientTimeline/model.patienttimeline.tsp b/specification/ai/HealthInsights/HealthInsights.PatientTimeline/model.patienttimeline.tsp index ef954eb7f203..6e7f0bdfe3d2 100644 --- a/specification/ai/HealthInsights/HealthInsights.PatientTimeline/model.patienttimeline.tsp +++ b/specification/ai/HealthInsights/HealthInsights.PatientTimeline/model.patienttimeline.tsp @@ -51,10 +51,10 @@ model PatientTimelineInference is Fhir.R4.Extendible { #suppress "@azure-tools/typespec-azure-core/bad-record-type" "model should have additionalProperties" @doc(""" - FHIR 4.0 representation of the piece of clinical info. - additional dependent resources maybe contained (e.g. MedicationStatement may contain Medication) - -- In the SDK we will have custom mapping to map this type to JsonObject - """) + FHIR 4.0 representation of the piece of clinical info. + additional dependent resources maybe contained (e.g. MedicationStatement may contain Medication) + -- In the SDK we will have custom mapping to map this type to JsonObject + """) resource?: Fhir.R4.DomainResource; @doc("Time range relevant to this Timeline inference.") diff --git a/specification/ai/HealthInsights/HealthInsights.PatientTimeline/route.patienttimeline.tsp b/specification/ai/HealthInsights/HealthInsights.PatientTimeline/route.patienttimeline.tsp index 1514a76dbe88..bbb9c165dd4e 100644 --- a/specification/ai/HealthInsights/HealthInsights.PatientTimeline/route.patienttimeline.tsp +++ b/specification/ai/HealthInsights/HealthInsights.PatientTimeline/route.patienttimeline.tsp @@ -19,7 +19,7 @@ interface PatientTimeline { @doc("Gets the status and details of the Patient Timeline job.") @get @route("/patient-timeline/jobs/{id}") - getJob is HealthInsightsLongRunningPollOperation; + getJob is HealthInsightsLongRunningPollOperation>; #suppress "@azure-tools/typespec-azure-core/long-running-polling-operation-required" "Polling through operation-location" #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "There is no long-running RPC template in Azure.Core" diff --git a/specification/ai/HealthInsights/HealthInsights.RadiologyInsights/model.radiologyinsights.tsp b/specification/ai/HealthInsights/HealthInsights.RadiologyInsights/model.radiologyinsights.tsp index d1565e982c84..fe7f8d8b4d27 100644 --- a/specification/ai/HealthInsights/HealthInsights.RadiologyInsights/model.radiologyinsights.tsp +++ b/specification/ai/HealthInsights/HealthInsights.RadiologyInsights/model.radiologyinsights.tsp @@ -93,19 +93,20 @@ model RadiologyInsightsPatientResult { inferences: RadiologyInsightsInference[]; } +#suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc(""" -An inference made by the Radiology Insights model regarding a patient. - - AgeMismatch - - SexMismatch - - LateralityDiscrepancy - - CompleteOrderDiscrepancy - - LimitedOrderDiscrepancy - - Finding - - CriticalResult - - FollowupRecommendation - - RadiologyProcedure - - FollowupCommunication -""") + An inference made by the Radiology Insights model regarding a patient. + - AgeMismatch + - SexMismatch + - LateralityDiscrepancy + - CompleteOrderDiscrepancy + - LimitedOrderDiscrepancy + - Finding + - CriticalResult + - FollowupRecommendation + - RadiologyProcedure + - FollowupCommunication + """) @discriminator("kind") model RadiologyInsightsInference { ...Fhir.R4.Extendible; @@ -246,6 +247,7 @@ model FollowupRecommendationInference extends RadiologyInsightsInference { recommendedProcedure: ProcedureRecommendation; } +#suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The procedure recommendation can be a generic procedure or an imaging procedure.") @discriminator("kind") model ProcedureRecommendation { diff --git a/specification/ai/HealthInsights/HealthInsights.RadiologyInsights/model.radiologyinsights.valuesets.tsp b/specification/ai/HealthInsights/HealthInsights.RadiologyInsights/model.radiologyinsights.valuesets.tsp index 1ead3a3230b1..17184393b37d 100644 --- a/specification/ai/HealthInsights/HealthInsights.RadiologyInsights/model.radiologyinsights.valuesets.tsp +++ b/specification/ai/HealthInsights/HealthInsights.RadiologyInsights/model.radiologyinsights.valuesets.tsp @@ -159,9 +159,9 @@ union RecommendationFindingStatusType { } @doc(""" -DiseaseCourseType value set system url = http://github.com/Azure/HealthInsights/RadiologyInsights/ValueSet/condition-course -The below values can be used for binding in DiseaseCourseExtension.valueCodeableConcept -""") + DiseaseCourseType value set system url = http://github.com/Azure/HealthInsights/RadiologyInsights/ValueSet/condition-course + The below values can be used for binding in DiseaseCourseExtension.valueCodeableConcept + """) union DiseaseCourseType { string, diff --git a/specification/ai/HealthInsights/HealthInsights.TrialMatcher/model.trialmatcher.tsp b/specification/ai/HealthInsights/HealthInsights.TrialMatcher/model.trialmatcher.tsp index 36d86b442f3c..058ea91474e2 100644 --- a/specification/ai/HealthInsights/HealthInsights.TrialMatcher/model.trialmatcher.tsp +++ b/specification/ai/HealthInsights/HealthInsights.TrialMatcher/model.trialmatcher.tsp @@ -20,11 +20,11 @@ model TrialMatcherModelConfiguration { ...ModelConfiguration; @doc(""" -The clinical trials that the patient(s) should be matched to.
The trial -selection can be given as a list of custom clinical trials and/or a list of -filters to known clinical trial registries. In case both are given, the -resulting trial set is a union of the two sets. -""") + The clinical trials that the patient(s) should be matched to. The trial + selection can be given as a list of custom clinical trials and/or a list of + filters to known clinical trial registries. In case both are given, the + resulting trial set is a union of the two sets. + """) clinicalTrials: ClinicalTrials; } @@ -49,19 +49,19 @@ model TrialMatcherInferenceResult { model NeededClinicalInfo is ExtendedClinicalCodedElement[]; @doc(""" -A piece of clinical information, expressed as a code in a clinical coding system, extended by semantic information. -""") + A piece of clinical information, expressed as a code in a clinical coding system, extended by semantic information. + """) model ExtendedClinicalCodedElement { ...ClinicalCodedElement; @doc(""" -The [UMLS semantic type](https://www.nlm.nih.gov/research/umls/META3_current_semantic_types.html) associated with the coded concept. -""") + The [UMLS semantic type](https://www.nlm.nih.gov/research/umls/META3_current_semantic_types.html) associated with the coded concept. + """) semanticType?: string; @doc(""" -The bio-medical category related to the coded concept, e.g. Diagnosis, Symptom, Medication, Examination. -""") + The bio-medical category related to the coded concept, e.g. Diagnosis, Symptom, Medication, Examination. + """) category?: string; } @@ -74,8 +74,8 @@ model TrialMatcherPatientResult { inferences: Array; @doc(""" - Clinical information which is needed to provide better trial matching results for the patient. - """) + Clinical information which is needed to provide better trial matching results for the patient. + """) neededClinicalInfo?: NeededClinicalInfo; } @@ -109,97 +109,97 @@ model TrialMatcherInference { } @doc(""" -The clinical trials that the patient(s) should be matched to. -The trial selection can be given as a list of custom clinical trials and/or a list of filters to known clinical trial registries. -In case both are given, the resulting trial set is a union of the two sets. -""") + The clinical trials that the patient(s) should be matched to. + The trial selection can be given as a list of custom clinical trials and/or a list of filters to known clinical trial registries. + In case both are given, the resulting trial set is a union of the two sets. + """) model ClinicalTrials { @doc("A list of clinical trials.") @minItems(1) customTrials?: Array; @doc(""" - A list of filters, each one creating a selection of trials from a given - clinical trial registry. - """) + A list of filters, each one creating a selection of trials from a given + clinical trial registry. + """) @minItems(1) registryFilters?: ClinicalTrialRegistryFilter[]; } @doc(""" -A filter defining a subset of clinical trials from a given clinical trial registry (e.g. clinicaltrials.gov). -""") + A filter defining a subset of clinical trials from a given clinical trial registry (e.g. clinicaltrials.gov). + """) model ClinicalTrialRegistryFilter { @doc(""" -Trials with any of the given medical conditions will be included in the selection (provided that other limitations are satisfied). -Leaving this list empty will not limit the medical conditions. -""") + Trials with any of the given medical conditions will be included in the selection (provided that other limitations are satisfied). + Leaving this list empty will not limit the medical conditions. + """) conditions?: string[]; @doc(""" -Trials with any of the given study types will be included in the selection (provided that other limitations are satisfied). -Leaving this list empty will not limit the study types. -""") + Trials with any of the given study types will be included in the selection (provided that other limitations are satisfied). + Leaving this list empty will not limit the study types. + """) studyTypes?: ClinicalTrialStudyType[]; @doc(""" -Trials with any of the given recruitment statuses will be included in the selection (provided that other limitations are satisfied). -Leaving this list empty will not limit the recruitment statuses. -""") + Trials with any of the given recruitment statuses will be included in the selection (provided that other limitations are satisfied). + Leaving this list empty will not limit the recruitment statuses. + """) recruitmentStatuses?: ClinicalTrialRecruitmentStatus[]; @doc(""" -Trials with any of the given sponsors will be included in the selection (provided that other limitations are satisfied). -Leaving this list empty will not limit the sponsors. -""") + Trials with any of the given sponsors will be included in the selection (provided that other limitations are satisfied). + Leaving this list empty will not limit the sponsors. + """) sponsors?: string[]; @doc(""" -Trials with any of the given phases will be included in the selection (provided that other limitations are satisfied). -Leaving this list empty will not limit the phases. -""") + Trials with any of the given phases will be included in the selection (provided that other limitations are satisfied). + Leaving this list empty will not limit the phases. + """) phases?: ClinicalTrialPhase[]; @doc(""" -Trials with any of the given purposes will be included in the selection (provided that other limitations are satisfied). -Leaving this list empty will not limit the purposes. -""") + Trials with any of the given purposes will be included in the selection (provided that other limitations are satisfied). + Leaving this list empty will not limit the purposes. + """) purposes?: ClinicalTrialPurpose[]; @doc(""" -Trials with any of the given identifiers will be included in the selection (provided that other limitations are satisfied). -Leaving this list empty will not limit the trial identifiers. -""") + Trials with any of the given identifiers will be included in the selection (provided that other limitations are satisfied). + Leaving this list empty will not limit the trial identifiers. + """) ids?: string[]; @doc(""" -Trials with any of the given sources will be included in the selection (provided that other limitations are satisfied). -Leaving this list empty will not limit the sources. -""") + Trials with any of the given sources will be included in the selection (provided that other limitations are satisfied). + Leaving this list empty will not limit the sources. + """) sources?: ClinicalTrialSource[]; @doc(""" -Trials with any of the given facility names will be included in the selection (provided that other limitations are satisfied). -Leaving this list empty will not limit the trial facility names. -""") + Trials with any of the given facility names will be included in the selection (provided that other limitations are satisfied). + Leaving this list empty will not limit the trial facility names. + """) facilityNames?: string[]; @doc(""" -Trials with any of the given facility locations will be included in the selection (provided that other limitations are satisfied). -Leaving this list empty will not limit the trial facility locations. -""") + Trials with any of the given facility locations will be included in the selection (provided that other limitations are satisfied). + Leaving this list empty will not limit the trial facility locations. + """) facilityLocations?: GeographicLocation[]; @doc(""" -Trials with any of the given facility area boundaries will be included in the selection (provided that other limitations are satisfied). -Leaving this list empty will not limit the trial facility area boundaries. -""") + Trials with any of the given facility area boundaries will be included in the selection (provided that other limitations are satisfied). + Leaving this list empty will not limit the trial facility area boundaries. + """) facilityAreas?: GeographicArea[]; } @doc(""" -A geographic area, expressed as a `Circle` geometry represented using a `GeoJSON Feature` (see [GeoJSON spec](https://tools.ietf.org/html/rfc7946)). -""") + A geographic area, expressed as a `Circle` geometry represented using a `GeoJSON Feature` (see [GeoJSON spec](https://tools.ietf.org/html/rfc7946)). + """) model GeographicArea { @doc("`GeoJSON` type.") type: GeoJsonType; @@ -217,9 +217,9 @@ model AreaGeometry { type: GeoJsonGeometryType; @doc(""" -Coordinates of the area circle's center, represented according to the `GeoJSON` standard. -This is an array of 2 decimal numbers, longitude and latitude (precisely in this order). -""") + Coordinates of the area circle's center, represented according to the `GeoJSON` standard. + This is an array of 2 decimal numbers, longitude and latitude (precisely in this order). + """) @minItems(2) @maxItems(2) coordinates: float32[]; @@ -238,9 +238,9 @@ model AreaProperties { @doc("Trial data which is of interest to the potential participant.") model ClinicalTrialMetadata { @doc(""" -Phases which are relevant for the clinical trial. -Each clinical trial can be in a certain phase or in multiple phases. -""") + Phases which are relevant for the clinical trial. + Each clinical trial can be in a certain phase or in multiple phases. + """) phases?: ClinicalTrialPhase[]; @doc("Possible study types of a clinical trial.") @@ -250,8 +250,8 @@ Each clinical trial can be in a certain phase or in multiple phases. recruitmentStatus?: ClinicalTrialRecruitmentStatus; @doc(""" -Medical conditions and their synonyms which are relevant for the clinical trial, given as strings. -""") + Medical conditions and their synonyms which are relevant for the clinical trial, given as strings. + """) @minItems(1) conditions: string[]; @@ -259,8 +259,8 @@ Medical conditions and their synonyms which are relevant for the clinical trial, sponsors?: string[]; @doc(""" -Contact details of the trial administrators, for patients that want to participate in the trial. -""") + Contact details of the trial administrators, for patients that want to participate in the trial. + """) contacts?: ContactDetails[]; @doc("Research facilities where the clinical trial is conducted.") diff --git a/specification/ai/HealthInsights/HealthInsights.TrialMatcher/route.trialmatcher.tsp b/specification/ai/HealthInsights/HealthInsights.TrialMatcher/route.trialmatcher.tsp index 7f31371b01c9..4e627e65e67c 100644 --- a/specification/ai/HealthInsights/HealthInsights.TrialMatcher/route.trialmatcher.tsp +++ b/specification/ai/HealthInsights/HealthInsights.TrialMatcher/route.trialmatcher.tsp @@ -18,7 +18,7 @@ interface TrialMatcher { @doc("Gets the status and details of the Trial Matcher job.") @get @route("/trial-matcher/jobs/{id}") - getJob is HealthInsightsLongRunningPollOperation; + getJob is HealthInsightsLongRunningPollOperation>; #suppress "@azure-tools/typespec-azure-core/long-running-polling-operation-required" "Polling through operation-location" #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "There is no long-running RPC template in Azure.Core" diff --git a/specification/ai/ImageAnalysis/main.tsp b/specification/ai/ImageAnalysis/main.tsp index d21501ee098e..55a5bf9547a9 100644 --- a/specification/ai/ImageAnalysis/main.tsp +++ b/specification/ai/ImageAnalysis/main.tsp @@ -25,9 +25,9 @@ using Azure.Core; "Analyze an image to generate a description of its content, detect text, objects and more.", { @doc(""" -Azure AI Computer Vision endpoint (protocol and hostname, for example: -https://.cognitiveservices.azure.com). -""") + Azure AI Computer Vision endpoint (protocol and hostname, for example: + https://.cognitiveservices.azure.com). + """) endpoint: url, } ) diff --git a/specification/ai/ImageAnalysis/models.tsp b/specification/ai/ImageAnalysis/models.tsp index b637a1070578..61b804dff603 100644 --- a/specification/ai/ImageAnalysis/models.tsp +++ b/specification/ai/ImageAnalysis/models.tsp @@ -29,9 +29,9 @@ model ImageBoundingBox { @doc("Represents a generated phrase that describes the content of the whole image.") model CaptionResult { @doc(""" - A score, in the range of 0 to 1 (inclusive), representing the confidence that this description is accurate. - Higher values indicating higher confidence. - """) + A score, in the range of 0 to 1 (inclusive), representing the confidence that this description is accurate. + Higher values indicating higher confidence. + """) @minValue(0.0) @maxValue(1.0) confidence: float32; @@ -42,16 +42,16 @@ model CaptionResult { } @doc(""" -A region at the desired aspect ratio that can be used as image thumbnail. -The region preserves as much content as possible from the analyzed image, with priority given to detected faces. -""") + A region at the desired aspect ratio that can be used as image thumbnail. + The region preserves as much content as possible from the analyzed image, with priority given to detected faces. + """) model CropRegion { @doc(""" - The aspect ratio of the crop region. - Aspect ratio is calculated by dividing the width of the region in pixels by its height in pixels. - The aspect ratio will be in the range 0.75 to 1.8 (inclusive) if provided by the developer during the analyze call. - Otherwise, it will be in the range 0.5 to 2.0 (inclusive). - """) + The aspect ratio of the crop region. + Aspect ratio is calculated by dividing the width of the region in pixels by its height in pixels. + The aspect ratio will be in the range 0.75 to 1.8 (inclusive) if provided by the developer during the analyze call. + Otherwise, it will be in the range 0.5 to 2.0 (inclusive). + """) @minValue(0.0) aspectRatio: float32; @@ -62,9 +62,9 @@ model CropRegion { @doc("Represents a generated phrase that describes the content of the whole image or a region in the image") model DenseCaption { @doc(""" - A score, in the range of 0 to 1 (inclusive), representing the confidence that this description is accurate. - Higher values indicating higher confidence. - """) + A score, in the range of 0 to 1 (inclusive), representing the confidence that this description is accurate. + Higher values indicating higher confidence. + """) @minValue(0.0) @maxValue(1.0) confidence: float32; @@ -78,9 +78,9 @@ model DenseCaption { } @doc(""" -Represents a list of up to 10 image captions for different regions of the image. -The first caption always applies to the whole image. -""") + Represents a list of up to 10 image captions for different regions of the image. + The first caption always applies to the whole image. + """) model DenseCaptionsResult { @doc("The list of image captions.") @minItems(1) @@ -105,9 +105,9 @@ model DetectedPerson { boundingBox: ImageBoundingBox; @doc(""" - A score, in the range of 0 to 1 (inclusive), representing the confidence that this detection was accurate. - Higher values indicating higher confidence. - """) + A score, in the range of 0 to 1 (inclusive), representing the confidence that this detection was accurate. + Higher values indicating higher confidence. + """) @visibility("read") @minValue(0.0) @maxValue(1.0) @@ -172,9 +172,9 @@ model ImageAnalysisResult { caption?: CaptionResult; @doc(""" - The up to 10 generated phrases, the first describing the content of the whole image, - and the others describing the content of different regions of the image. - """) + The up to 10 generated phrases, the first describing the content of the whole image, + and the others describing the content of different regions of the image. + """) @encodedName("application/json", "denseCaptionsResult") denseCaptions?: DenseCaptionsResult; @@ -197,9 +197,9 @@ model ImageAnalysisResult { read?: ReadResult; @doc(""" - A list of crop regions at the desired as aspect ratios (if provided) that can be used as image thumbnails. - These regions preserve as much content as possible from the analyzed image, with priority given to detected faces. - """) + A list of crop regions at the desired as aspect ratios (if provided) that can be used as image thumbnails. + These regions preserve as much content as possible from the analyzed image, with priority given to detected faces. + """) @encodedName("application/json", "smartCropsResult") smartCrops?: SmartCropsResult; @@ -244,9 +244,9 @@ model ReadResult { } @doc(""" -Smart cropping result. A list of crop regions at the desired as aspect ratios (if provided) that can be used as image thumbnails. -These regions preserve as much content as possible from the analyzed image, with priority given to detected faces. -""") + Smart cropping result. A list of crop regions at the desired as aspect ratios (if provided) that can be used as image thumbnails. + These regions preserve as much content as possible from the analyzed image, with priority given to detected faces. + """) model SmartCropsResult { @doc("A list of crop regions.") @minItems(1) @@ -255,14 +255,14 @@ model SmartCropsResult { } @doc(""" -A content entity observation in the image. A tag can be a physical object, living being, scenery, or action -that appear in the image. -""") + A content entity observation in the image. A tag can be a physical object, living being, scenery, or action + that appear in the image. + """) model DetectedTag { @doc(""" - A score, in the range of 0 to 1 (inclusive), representing the confidence that this entity was observed. - Higher values indicating higher confidence. - """) + A score, in the range of 0 to 1 (inclusive), representing the confidence that this entity was observed. + Higher values indicating higher confidence. + """) @minValue(0.0) @maxValue(1.0) confidence: float32; @@ -273,9 +273,9 @@ model DetectedTag { } @doc(""" -A list of entities observed in the image. Tags can be physical objects, living being, scenery, or actions -that appear in the image. -""") + A list of entities observed in the image. Tags can be physical objects, living being, scenery, or actions + that appear in the image. + """) model TagsResult { @doc("A list of tags.") @minItems(0) diff --git a/specification/ai/ImageAnalysis/routes.tsp b/specification/ai/ImageAnalysis/routes.tsp index 7038a5d38bb7..5500500c4c34 100644 --- a/specification/ai/ImageAnalysis/routes.tsp +++ b/specification/ai/ImageAnalysis/routes.tsp @@ -20,28 +20,28 @@ alias SharedAnalyzeQuery = { format: "csv", }) @doc(""" - A list of visual features to analyze. - Seven visual features are supported: Caption, DenseCaptions, Read (OCR), Tags, Objects, SmartCrops, and People. - At least one visual feature must be specified. - """) + A list of visual features to analyze. + Seven visual features are supported: Caption, DenseCaptions, Read (OCR), Tags, Objects, SmartCrops, and People. + At least one visual feature must be specified. + """) @minItems(1) visualFeatures: Array; @query("language") @doc(""" - The desired language for result generation (a two-letter language code). - If this option is not specified, the default value 'en' is used (English). - See https://aka.ms/cv-languages for a list of supported languages. - """) + The desired language for result generation (a two-letter language code). + If this option is not specified, the default value 'en' is used (English). + See https://aka.ms/cv-languages for a list of supported languages. + """) @minLength(2) language?: string = "en"; @query("gender-neutral-caption") @doc(""" - Boolean flag for enabling gender-neutral captioning for Caption and Dense Captions features. - By default captions may contain gender terms (for example: 'man', 'woman', or 'boy', 'girl'). - If you set this to \"true\", those will be replaced with gender-neutral terms (for example: 'person' or 'child'). - """) + Boolean flag for enabling gender-neutral captioning for Caption and Dense Captions features. + By default captions may contain gender terms (for example: 'man', 'woman', or 'boy', 'girl'). + If you set this to \"true\", those will be replaced with gender-neutral terms (for example: 'person' or 'child'). + """) genderNeutralCaption?: boolean = false; @query({ @@ -49,21 +49,21 @@ alias SharedAnalyzeQuery = { format: "csv", }) @doc(""" - A list of aspect ratios to use for smart cropping. - Aspect ratios are calculated by dividing the target crop width in pixels by the height in pixels. - Supported values are between 0.75 and 1.8 (inclusive). - If this parameter is not specified, the service will return one crop region with an aspect - ratio it sees fit between 0.5 and 2.0 (inclusive). - """) + A list of aspect ratios to use for smart cropping. + Aspect ratios are calculated by dividing the target crop width in pixels by the height in pixels. + Supported values are between 0.75 and 1.8 (inclusive). + If this parameter is not specified, the service will return one crop region with an aspect + ratio it sees fit between 0.5 and 2.0 (inclusive). + """) smartCropsAspectRatios?: Array; @query("model-version") @doc(""" - The version of cloud AI-model used for analysis. - The format is the following: 'latest' (default value) or 'YYYY-MM-DD' or 'YYYY-MM-DD-preview', where 'YYYY', 'MM', 'DD' are the year, month and day associated with the model. - This is not commonly set, as the default always gives the latest AI model with recent improvements. - If however you would like to make sure analysis results do not change over time, set this value to a specific model version. - """) + The version of cloud AI-model used for analysis. + The format is the following: 'latest' (default value) or 'YYYY-MM-DD' or 'YYYY-MM-DD-preview', where 'YYYY', 'MM', 'DD' are the year, month and day associated with the model. + This is not commonly set, as the default always gives the latest AI model with recent improvements. + If however you would like to make sure analysis results do not change over time, set this value to a specific model version. + """) @pattern("^(latest|\\d{4}-\\d{2}-\\d{2})(-preview)?$") @minLength(6) @maxLength(18) diff --git a/specification/ai/ImageAnalysis/tspconfig.yaml b/specification/ai/ImageAnalysis/tspconfig.yaml index 38492b8b6381..f2ff99a42d93 100644 --- a/specification/ai/ImageAnalysis/tspconfig.yaml +++ b/specification/ai/ImageAnalysis/tspconfig.yaml @@ -11,6 +11,7 @@ options: emitter-output-dir: "{project-root}/../" output-file: "{azure-resource-provider-folder}/ImageAnalysis/{version-status}/{version}/generated.json" azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" examples-directory: examples omit-unreachable-types: true "@azure-tools/typespec-python": diff --git a/specification/ai/OpenAI.Assistants/assistants/models.tsp b/specification/ai/OpenAI.Assistants/assistants/models.tsp index 1ecff00e2e15..3c892cd75990 100644 --- a/specification/ai/OpenAI.Assistants/assistants/models.tsp +++ b/specification/ai/OpenAI.Assistants/assistants/models.tsp @@ -40,7 +40,7 @@ model Assistant { instructions: string | null; @doc("The collection of tools enabled for the assistant.") - tools: ToolDefinition[] = []; + tools: ToolDefinition[] = #[]; /** * A set of resources that are used by the assistant's tools. The resources are specific to the type of tool. For example, the `code_interpreter` @@ -103,7 +103,7 @@ model AssistantCreationOptions { #suppress "@azure-tools/typespec-azure-core/no-nullable" "OpenAI uses explicit nullability, distinct from optionality" @doc("The collection of tools to enable for the new assistant.") - tools?: ToolDefinition[] = []; + tools?: ToolDefinition[] = #[]; /** * A set of resources that are used by the assistant's tools. The resources are specific to the type of tool. For example, the `code_interpreter` @@ -169,7 +169,7 @@ model UpdateAssistantOptions { instructions?: string | null; @doc("The modified collection of tools to enable for the assistant.") - tools?: ToolDefinition[] = []; + tools?: ToolDefinition[] = #[]; /** * A set of resources that are used by the assistant's tools. The resources are specific to the type of tool. For example, diff --git a/specification/ai/OpenAI.Assistants/assistants/routes.tsp b/specification/ai/OpenAI.Assistants/assistants/routes.tsp index cdefb9fd6aa5..e8746c12abf6 100644 --- a/specification/ai/OpenAI.Assistants/assistants/routes.tsp +++ b/specification/ai/OpenAI.Assistants/assistants/routes.tsp @@ -20,7 +20,7 @@ namespace Azure.AI.OpenAI.Assistants; @post @added(ServiceApiVersions.v2024_02_15_preview) @route("/assistants") -op createAssistant(...AssistantCreationOptions): Assistant; +op createAssistant(...BodyParameter): Assistant; /** * Gets a list of assistants that were previously created. @@ -63,7 +63,7 @@ op getAssistant(@path assistantId: string): Assistant; @post @route("/assistants/{assistantId}") @added(ServiceApiVersions.v2024_02_15_preview) -op updateAssistant(...UpdateAssistantOptions): Assistant; +op updateAssistant(...BodyParameter): Assistant; /** * Deletes an assistant. diff --git a/specification/ai/OpenAI.Assistants/common/models.tsp b/specification/ai/OpenAI.Assistants/common/models.tsp index 5c446a1d1d42..85fb2d648611 100644 --- a/specification/ai/OpenAI.Assistants/common/models.tsp +++ b/specification/ai/OpenAI.Assistants/common/models.tsp @@ -148,3 +148,14 @@ union ApiResponseFormat { /** Using `json_object` format will limit the usage of ToolCall to only functions. */ jsonObject: "json_object", } + +alias BodyParameter< + T, + TName extends valueof string = "body", + TDoc extends valueof string = "Body parameter." +> = { + @doc(TDoc) + @friendlyName(TName) + @bodyRoot + body: T; +}; diff --git a/specification/ai/OpenAI.Assistants/messages/models.tsp b/specification/ai/OpenAI.Assistants/messages/models.tsp index ebce66ef29c4..118cdf5a0d73 100644 --- a/specification/ai/OpenAI.Assistants/messages/models.tsp +++ b/specification/ai/OpenAI.Assistants/messages/models.tsp @@ -120,6 +120,7 @@ union MessageAttachmentToolDefinition { @doc("An abstract representation of a single item of thread message content.") @added(ServiceApiVersions.v2024_02_15_preview) model MessageContent { + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The object type.") type: string; } @@ -163,6 +164,7 @@ model MessageTextDetails { @doc("An abstract representation of an annotation to text thread message content.") @added(ServiceApiVersions.v2024_02_15_preview) model MessageTextAnnotation { + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The object type.") type: string; @@ -180,9 +182,9 @@ model MessageTextFileCitationAnnotation extends MessageTextAnnotation { @encodedName("application/json", "file_citation") @doc(""" - A citation within the message that points to a specific quote from a specific file. - Generated when the assistant uses the "file_search" tool to search files. - """) + A citation within the message that points to a specific quote from a specific file. + Generated when the assistant uses the "file_search" tool to search files. + """) fileCitation: MessageTextFileCitationDetails; @encodedName("application/json", "start_index") @@ -322,6 +324,7 @@ model MessageDeltaContent { index: int32; /** The type of content for this content part. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" type: string; } @@ -372,6 +375,7 @@ model MessageDeltaTextAnnotation { index: int32; /** The type of the text content annotation. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" type: string; } diff --git a/specification/ai/OpenAI.Assistants/run_steps/models.tsp b/specification/ai/OpenAI.Assistants/run_steps/models.tsp index 89d15c2ea2bf..5ed19fc6a082 100644 --- a/specification/ai/OpenAI.Assistants/run_steps/models.tsp +++ b/specification/ai/OpenAI.Assistants/run_steps/models.tsp @@ -219,6 +219,7 @@ model RunStepDelta { @added(ServiceApiVersions.v2024_02_15_preview) model RunStepDeltaDetail { /** The object type for the run step detail object. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" type: string; } @@ -263,6 +264,7 @@ model RunStepDeltaToolCall { id: string; /** The type of the tool call detail item in a streaming run step's details. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" type: string; } @@ -334,6 +336,7 @@ model RunStepDeltaCodeInterpreterOutput { index: int32; /** The type of the streaming run step tool call's Code Interpreter output. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" type: string; } diff --git a/specification/ai/OpenAI.Assistants/runs/models.tsp b/specification/ai/OpenAI.Assistants/runs/models.tsp index 08cd8e08355b..4ae34b106f92 100644 --- a/specification/ai/OpenAI.Assistants/runs/models.tsp +++ b/specification/ai/OpenAI.Assistants/runs/models.tsp @@ -51,7 +51,7 @@ model ThreadRun { instructions: string; @doc("The overridden enabled tools used for this assistant thread run.") - tools: ToolDefinition[] = []; + tools: ToolDefinition[] = #[]; @encodedName("application/json", "created_at") @encode(DateTimeKnownEncoding.unixTimestamp, int32) @@ -195,9 +195,9 @@ model CreateRunOptions { #suppress "@azure-tools/typespec-azure-core/no-nullable" "OpenAI uses explicit nullability, distinct from optionality" @encodedName("application/json", "additional_instructions") @doc(""" - Additional instructions to append at the end of the instructions for the run. This is useful for modifying the behavior - on a per-run basis without overriding other instructions. - """) + Additional instructions to append at the end of the instructions for the run. This is useful for modifying the behavior + on a per-run basis without overriding other instructions. + """) additionalInstructions?: string | null; /** Adds additional messages to the thread before creating the run. */ @@ -328,6 +328,7 @@ union RunStatus { @doc("An abstract representation of a required action for an assistant thread run to continue.") @added(ServiceApiVersions.v2024_02_15_preview) model RequiredAction { + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The object type.") type: string; } diff --git a/specification/ai/OpenAI.Assistants/runs/routes.tsp b/specification/ai/OpenAI.Assistants/runs/routes.tsp index c65c2d07fa06..45847257a2e7 100644 --- a/specification/ai/OpenAI.Assistants/runs/routes.tsp +++ b/specification/ai/OpenAI.Assistants/runs/routes.tsp @@ -139,4 +139,4 @@ op cancelRun(@path threadId: string, @path runId: string): ThreadRun; @route("/threads/runs") @doc("Creates a new assistant thread and immediately starts a run using that new thread.") @added(ServiceApiVersions.v2024_02_15_preview) -op createThreadAndRun(...CreateAndRunThreadOptions): ThreadRun; +op createThreadAndRun(...BodyParameter): ThreadRun; diff --git a/specification/ai/OpenAI.Assistants/streaming/events.tsp b/specification/ai/OpenAI.Assistants/streaming/events.tsp index 22d34453e587..0adca1d5ef08 100644 --- a/specification/ai/OpenAI.Assistants/streaming/events.tsp +++ b/specification/ai/OpenAI.Assistants/streaming/events.tsp @@ -5,23 +5,23 @@ using TypeSpec.Versioning; namespace Azure.AI.OpenAI.Assistants; @doc(""" -Each event in a server-sent events stream has an `event` and `data` property: - -``` -event: thread.created -data: {"id": "thread_123", "object": "thread", ...} -``` - -We emit events whenever a new object is created, transitions to a new state, or is being -streamed in parts (deltas). For example, we emit `thread.run.created` when a new run -is created, `thread.run.completed` when a run completes, and so on. When an Assistant chooses -to create a message during a run, we emit a `thread.message.created event`, a -`thread.message.in_progress` event, many `thread.message.delta` events, and finally a -`thread.message.completed` event. - -We may add additional events over time, so we recommend handling unknown events gracefully -in your code. -""") + Each event in a server-sent events stream has an `event` and `data` property: + + ``` + event: thread.created + data: {"id": "thread_123", "object": "thread", ...} + ``` + + We emit events whenever a new object is created, transitions to a new state, or is being + streamed in parts (deltas). For example, we emit `thread.run.created` when a new run + is created, `thread.run.completed` when a run completes, and so on. When an Assistant chooses + to create a message during a run, we emit a `thread.message.created event`, a + `thread.message.in_progress` event, many `thread.message.delta` events, and finally a + `thread.message.completed` event. + + We may add additional events over time, so we recommend handling unknown events gracefully + in your code. + """) union AssistantStreamEvent { string, diff --git a/specification/ai/OpenAI.Assistants/threads/routes.tsp b/specification/ai/OpenAI.Assistants/threads/routes.tsp index 53dbc7fa16de..2f06aacfb89d 100644 --- a/specification/ai/OpenAI.Assistants/threads/routes.tsp +++ b/specification/ai/OpenAI.Assistants/threads/routes.tsp @@ -20,7 +20,9 @@ namespace Azure.AI.OpenAI.Assistants; @post @added(ServiceApiVersions.v2024_02_15_preview) @route("/threads") -op createThread(...AssistantThreadCreationOptions): AssistantThread; +op createThread( + ...BodyParameter, +): AssistantThread; // list threads? @@ -52,7 +54,9 @@ op getThread(@path threadId: string): AssistantThread; @post @route("/threads/{threadId}") @added(ServiceApiVersions.v2024_02_15_preview) -op updateThread(...UpdateAssistantThreadOptions): AssistantThread; +op updateThread( + ...BodyParameter, +): AssistantThread; /** * Deletes an existing thread. diff --git a/specification/ai/OpenAI.Assistants/tools/models.tsp b/specification/ai/OpenAI.Assistants/tools/models.tsp index 72e17b73dae6..038c6271a1c3 100644 --- a/specification/ai/OpenAI.Assistants/tools/models.tsp +++ b/specification/ai/OpenAI.Assistants/tools/models.tsp @@ -14,6 +14,7 @@ namespace Azure.AI.OpenAI.Assistants; @discriminator("type") @added(ServiceApiVersions.v2024_02_15_preview) model ToolDefinition { + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The object type.") type: string; } @@ -64,10 +65,11 @@ model FunctionDefinition { @discriminator("type") @doc(""" -An abstract representation a a tool invocation needed by the model to continue a run. -""") + An abstract representation a a tool invocation needed by the model to continue a run. + """) @added(ServiceApiVersions.v2024_02_15_preview) model RequiredToolCall { + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The object type for the required tool call.") type: string; @@ -103,6 +105,7 @@ model RequiredFunctionToolCallDetails { @doc("An abstract representation of a detailed tool call as recorded within a run step for an existing run.") @added(ServiceApiVersions.v2024_02_15_preview) model RunStepToolCall { + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The object type.") type: string; @@ -111,9 +114,9 @@ model RunStepToolCall { } @doc(""" -A record of a call to a code interpreter tool, issued by the model in evaluation of a defined tool, that -represents inputs and outputs consumed and emitted by the code interpreter. -""") + A record of a call to a code interpreter tool, issued by the model in evaluation of a defined tool, that + represents inputs and outputs consumed and emitted by the code interpreter. + """) @added(ServiceApiVersions.v2024_02_15_preview) model RunStepCodeInterpreterToolCall extends RunStepToolCall { @doc("The object type, which is always 'code_interpreter'.") @@ -125,9 +128,9 @@ model RunStepCodeInterpreterToolCall extends RunStepToolCall { } @doc(""" -A record of a call to a file search tool, issued by the model in evaluation of a defined tool, that represents -executed file search. -""") + A record of a call to a file search tool, issued by the model in evaluation of a defined tool, that represents + executed file search. + """) @added(ServiceApiVersions.v2024_05_01_preview) model RunStepFileSearchToolCall extends RunStepToolCall { @doc("The object type, which is always 'file_search'.") @@ -139,9 +142,9 @@ model RunStepFileSearchToolCall extends RunStepToolCall { } @doc(""" -A record of a call to a function tool, issued by the model in evaluation of a defined tool, that represents the inputs -and output consumed and emitted by the specified function. -""") + A record of a call to a function tool, issued by the model in evaluation of a defined tool, that represents the inputs + and output consumed and emitted by the specified function. + """) @added(ServiceApiVersions.v2024_02_15_preview) model RunStepFunctionToolCall extends RunStepToolCall { @doc("The object type, which is always 'function'.") @@ -167,6 +170,7 @@ model RunStepCodeInterpreterToolCallDetails { @doc("An abstract representation of an emitted output from a code interpreter tool.") @added(ServiceApiVersions.v2024_02_15_preview) model RunStepCodeInterpreterToolCallOutput { + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The object type.") type: string; } diff --git a/specification/ai/OpenAI.Assistants/tools/tool_resources.tsp b/specification/ai/OpenAI.Assistants/tools/tool_resources.tsp index 55f43651c27f..22d4f532aced 100644 --- a/specification/ai/OpenAI.Assistants/tools/tool_resources.tsp +++ b/specification/ai/OpenAI.Assistants/tools/tool_resources.tsp @@ -39,7 +39,7 @@ model CodeInterpreterToolResource { */ @encodedName("application/json", "file_ids") @maxItems(20) - fileIds: string[] = []; + fileIds: string[] = #[]; } /** @@ -87,7 +87,7 @@ model CreateCodeInterpreterToolResourceOptions { /** A list of file IDs made available to the `code_interpreter` tool. */ @maxItems(20) @encodedName("application/json", "file_ids") - fileIds?: string[] = []; + fileIds?: string[] = #[]; } /** diff --git a/specification/ai/OpenAI.Assistants/tspconfig.yaml b/specification/ai/OpenAI.Assistants/tspconfig.yaml index 0fb0ba8bdd39..564b8e16d05f 100644 --- a/specification/ai/OpenAI.Assistants/tspconfig.yaml +++ b/specification/ai/OpenAI.Assistants/tspconfig.yaml @@ -14,6 +14,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/../" output-file: "data-plane/OpenAI.Assistants/OpenApiV2/{version-status}/{version}/assistants_generated.json" examples-directory: "{project-root}/examples" diff --git a/specification/ai/OpenAI.Assistants/vector_stores/routes.tsp b/specification/ai/OpenAI.Assistants/vector_stores/routes.tsp index a01dae88426f..da0395283ad6 100644 --- a/specification/ai/OpenAI.Assistants/vector_stores/routes.tsp +++ b/specification/ai/OpenAI.Assistants/vector_stores/routes.tsp @@ -34,7 +34,7 @@ op listVectorStores( @post @route("/vector_stores") @added(ServiceApiVersions.v2024_05_01_preview) -op createVectorStore(...VectorStoreOptions): VectorStore; +op createVectorStore(...BodyParameter): VectorStore; /** * Returns the vector store object matching the specified ID. diff --git a/specification/ai/data-plane/Face/preview/v1.1-preview.1/Face.json b/specification/ai/data-plane/Face/preview/v1.1-preview.1/Face.json index e24dd4411b38..f5f77b5d0d1b 100644 --- a/specification/ai/data-plane/Face/preview/v1.1-preview.1/Face.json +++ b/specification/ai/data-plane/Face/preview/v1.1-preview.1/Face.json @@ -88,7 +88,7 @@ "post": { "operationId": "FaceDetectionOperations_DetectFromUrl", "summary": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.", - "description": "> [!IMPORTANT]\n> To mitigate potential misuse that can subject people to stereotyping, discrimination, or unfair denial of services, we are retiring Face API attributes that predict emotion, gender, age, smile, facial hair, hair, and makeup. Read more about this decision https://azure.microsoft.com/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/.\n\n*\n * No image will be stored. Only the extracted face feature(s) will be stored on server. The faceId is an identifier of the face feature and will be used in \"Identify\", \"Verify\", and \"Find Similar\". The stored face features will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n * Optional parameters include faceId, landmarks, and attributes. Attributes include headPose, glasses, occlusion, accessories, blur, exposure, noise, mask, and qualityForRecognition. Some of the results returned for specific attributes may not be highly accurate.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n * For optimal results when querying \"Identify\", \"Verify\", and \"Find Similar\" ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model\n * 'detection_02': Face attributes and landmarks are disabled if you choose this detection model.\n * 'detection_03': Face attributes (mask, blur, and headPose) and landmarks are supported if you choose this detection model.\n * Different 'recognitionModel' values are provided. If follow-up operations like \"Verify\", \"Identify\", \"Find Similar\" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-recognition-model.", + "description": "> [!IMPORTANT]\n> Microsoft has retired or restricted facial recognition capabilities that can be used to try to infer emotional states and identity attributes which, if misused, can subject people to stereotyping, discrimination or unfair denial of services. The retired capabilities are emotion and gender. The restricted capabilities are age, smile, facial hair, hair and makeup. Email Azure Face API if you have a responsible use case that would benefit from the use of any of the restricted capabilities. Read more about this decision https://azure.microsoft.com/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/.\n\n*\n * No image will be stored. Only the extracted face feature(s) will be stored on server. The faceId is an identifier of the face feature and will be used in \"Identify\", \"Verify\", and \"Find Similar\". The stored face features will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n * Optional parameters include faceId, landmarks, and attributes. Attributes include headPose, glasses, occlusion, accessories, blur, exposure, noise, mask, and qualityForRecognition. Some of the results returned for specific attributes may not be highly accurate.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n * For optimal results when querying \"Identify\", \"Verify\", and \"Find Similar\" ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model\n * 'detection_02': Face attributes and landmarks are disabled if you choose this detection model.\n * 'detection_03': Face attributes (mask, blur, and headPose) and landmarks are supported if you choose this detection model.\n * Different 'recognitionModel' values are provided. If follow-up operations like \"Verify\", \"Identify\", \"Find Similar\" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-recognition-model.", "parameters": [ { "name": "detectionModel", @@ -408,6 +408,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/CreateLivenessSessionContent" @@ -5584,7 +5585,7 @@ "post": { "operationId": "FaceDetectionOperations_Detect", "summary": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.", - "description": "> [!IMPORTANT]\n> To mitigate potential misuse that can subject people to stereotyping, discrimination, or unfair denial of services, we are retiring Face API attributes that predict emotion, gender, age, smile, facial hair, hair, and makeup. Read more about this decision https://azure.microsoft.com/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/.\n\n*\n * No image will be stored. Only the extracted face feature(s) will be stored on server. The faceId is an identifier of the face feature and will be used in \"Identify\", \"Verify\", and \"Find Similar\". The stored face features will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n * Optional parameters include faceId, landmarks, and attributes. Attributes include headPose, glasses, occlusion, accessories, blur, exposure, noise, mask, and qualityForRecognition. Some of the results returned for specific attributes may not be highly accurate.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n * For optimal results when querying \"Identify\", \"Verify\", and \"Find Similar\" ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model\n * 'detection_02': Face attributes and landmarks are disabled if you choose this detection model.\n * 'detection_03': Face attributes (mask, blur, and headPose) and landmarks are supported if you choose this detection model.\n * Different 'recognitionModel' values are provided. If follow-up operations like \"Verify\", \"Identify\", \"Find Similar\" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-recognition-model.", + "description": "> [!IMPORTANT]\n> Microsoft has retired or restricted facial recognition capabilities that can be used to try to infer emotional states and identity attributes which, if misused, can subject people to stereotyping, discrimination or unfair denial of services. The retired capabilities are emotion and gender. The restricted capabilities are age, smile, facial hair, hair and makeup. Email Azure Face API if you have a responsible use case that would benefit from the use of any of the restricted capabilities. Read more about this decision https://azure.microsoft.com/blog/responsible-ai-investments-and-safeguards-for-facial-recognition/.\n\n*\n * No image will be stored. Only the extracted face feature(s) will be stored on server. The faceId is an identifier of the face feature and will be used in \"Identify\", \"Verify\", and \"Find Similar\". The stored face features will expire and be deleted at the time specified by faceIdTimeToLive after the original detection call.\n * Optional parameters include faceId, landmarks, and attributes. Attributes include headPose, glasses, occlusion, accessories, blur, exposure, noise, mask, and qualityForRecognition. Some of the results returned for specific attributes may not be highly accurate.\n * JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n * The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n * Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n * For optimal results when querying \"Identify\", \"Verify\", and \"Find Similar\" ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n * Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-detection-model\n * 'detection_02': Face attributes and landmarks are disabled if you choose this detection model.\n * 'detection_03': Face attributes (mask, blur, and headPose) and landmarks are supported if you choose this detection model.\n * Different 'recognitionModel' values are provided. If follow-up operations like \"Verify\", \"Identify\", \"Find Similar\" are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to https://learn.microsoft.com/azure/ai-services/computer-vision/how-to/specify-recognition-model.", "consumes": [ "application/octet-stream" ], @@ -5846,6 +5847,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/CreateLivenessSessionContent" diff --git a/specification/ai/data-plane/HealthInsights/stable/2024-04-01/openapi.json b/specification/ai/data-plane/HealthInsights/stable/2024-04-01/openapi.json index 9e49f8375fbd..0fbe1b6b7e3c 100644 --- a/specification/ai/data-plane/HealthInsights/stable/2024-04-01/openapi.json +++ b/specification/ai/data-plane/HealthInsights/stable/2024-04-01/openapi.json @@ -982,7 +982,7 @@ }, "Fhir.R4.Extension": { "type": "object", - "description": "Base for all elements\nBased on [FHIR Element](https://www.hl7.org/fhir/datatypes.html#Element)", + "description": "Base for all elements\nBased on [FHIR Element](https://www.hl7.org/fhir/R4/element.html)", "properties": { "url": { "$ref": "#/definitions/Fhir.R4.fhirUri", diff --git a/specification/ai/data-plane/OpenAI.Assistants/OpenApiV2/preview/2024-02-15-preview/assistants_generated.json b/specification/ai/data-plane/OpenAI.Assistants/OpenApiV2/preview/2024-02-15-preview/assistants_generated.json index e1a20fe445e2..6e871cf81b9c 100644 --- a/specification/ai/data-plane/OpenAI.Assistants/OpenApiV2/preview/2024-02-15-preview/assistants_generated.json +++ b/specification/ai/data-plane/OpenAI.Assistants/OpenApiV2/preview/2024-02-15-preview/assistants_generated.json @@ -174,6 +174,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/AssistantCreationOptions" @@ -217,11 +218,16 @@ "description": "Modifies an existing assistant.", "parameters": [ { - "$ref": "#/parameters/UpdateAssistantOptions.assistantId" + "name": "assistantId", + "in": "path", + "description": "The ID of the assistant to modify.", + "required": true, + "type": "string" }, { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/UpdateAssistantOptions" @@ -460,6 +466,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/AssistantThreadCreationOptions" @@ -503,11 +510,16 @@ "description": "Modifies an existing thread.", "parameters": [ { - "$ref": "#/parameters/UpdateAssistantThreadOptions.threadId" + "name": "threadId", + "in": "path", + "description": "The ID of the thread to modify.", + "required": true, + "type": "string" }, { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/UpdateAssistantThreadOptions" @@ -1235,6 +1247,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/CreateAndRunThreadOptions" @@ -3181,22 +3194,5 @@ } } }, - "parameters": { - "UpdateAssistantOptions.assistantId": { - "name": "assistantId", - "in": "path", - "description": "The ID of the assistant to modify.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "UpdateAssistantThreadOptions.threadId": { - "name": "threadId", - "in": "path", - "description": "The ID of the thread to modify.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - } - } + "parameters": {} } diff --git a/specification/ai/data-plane/OpenAI.Assistants/OpenApiV2/preview/2024-05-01-preview/assistants_generated.json b/specification/ai/data-plane/OpenAI.Assistants/OpenApiV2/preview/2024-05-01-preview/assistants_generated.json index b0fe2a911183..5fcda9a56c31 100644 --- a/specification/ai/data-plane/OpenAI.Assistants/OpenApiV2/preview/2024-05-01-preview/assistants_generated.json +++ b/specification/ai/data-plane/OpenAI.Assistants/OpenApiV2/preview/2024-05-01-preview/assistants_generated.json @@ -174,6 +174,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/AssistantCreationOptions" @@ -217,11 +218,16 @@ "description": "Modifies an existing assistant.", "parameters": [ { - "$ref": "#/parameters/UpdateAssistantOptions.assistantId" + "name": "assistantId", + "in": "path", + "description": "The ID of the assistant to modify.", + "required": true, + "type": "string" }, { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/UpdateAssistantOptions" @@ -496,6 +502,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/AssistantThreadCreationOptions" @@ -539,11 +546,16 @@ "description": "Modifies an existing thread.", "parameters": [ { - "$ref": "#/parameters/UpdateAssistantThreadOptions.threadId" + "name": "threadId", + "in": "path", + "description": "The ID of the thread to modify.", + "required": true, + "type": "string" }, { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/UpdateAssistantThreadOptions" @@ -1287,6 +1299,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/CreateAndRunThreadOptions" @@ -1418,6 +1431,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/VectorStoreOptions" @@ -5172,22 +5186,5 @@ } } }, - "parameters": { - "UpdateAssistantOptions.assistantId": { - "name": "assistantId", - "in": "path", - "description": "The ID of the assistant to modify.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - }, - "UpdateAssistantThreadOptions.threadId": { - "name": "threadId", - "in": "path", - "description": "The ID of the thread to modify.", - "required": true, - "type": "string", - "x-ms-parameter-location": "method" - } - } + "parameters": {} } diff --git a/specification/ai/data-plane/OpenAI.Assistants/OpenApiV3/2024-02-15-preview/assistants_generated.yaml b/specification/ai/data-plane/OpenAI.Assistants/OpenApiV3/2024-02-15-preview/assistants_generated.yaml index 5d101eb1cb50..50ff2a97ab68 100644 --- a/specification/ai/data-plane/OpenAI.Assistants/OpenApiV3/2024-02-15-preview/assistants_generated.yaml +++ b/specification/ai/data-plane/OpenAI.Assistants/OpenApiV3/2024-02-15-preview/assistants_generated.yaml @@ -18,6 +18,7 @@ paths: schema: $ref: '#/components/schemas/Assistant' requestBody: + description: Body parameter. required: true content: application/json: @@ -110,7 +111,12 @@ paths: operationId: updateAssistant description: Modifies an existing assistant. parameters: - - $ref: '#/components/parameters/UpdateAssistantOptions.assistantId' + - name: assistantId + in: path + required: true + description: The ID of the assistant to modify. + schema: + type: string responses: '200': description: The updated assistant instance. @@ -119,6 +125,7 @@ paths: schema: $ref: '#/components/schemas/Assistant' requestBody: + description: Body parameter. required: true content: application/json: @@ -257,6 +264,7 @@ paths: schema: $ref: '#/components/schemas/AssistantThread' requestBody: + description: Body parameter. required: true content: application/json: @@ -275,6 +283,7 @@ paths: schema: $ref: '#/components/schemas/ThreadRun' requestBody: + description: Body parameter. required: true content: application/json: @@ -302,7 +311,12 @@ paths: operationId: updateThread description: Modifies an existing thread. parameters: - - $ref: '#/components/parameters/UpdateAssistantThreadOptions.threadId' + - name: threadId + in: path + required: true + description: The ID of the thread to modify. + schema: + type: string responses: '200': description: Information about the modified thread. @@ -311,6 +325,7 @@ paths: schema: $ref: '#/components/schemas/AssistantThread' requestBody: + description: Body parameter. required: true content: application/json: @@ -817,21 +832,6 @@ security: - OAuth2Auth: - https://cognitiveservices.azure.com/.default components: - parameters: - UpdateAssistantOptions.assistantId: - name: assistantId - in: path - required: true - description: The ID of the assistant to modify. - schema: - type: string - UpdateAssistantThreadOptions.threadId: - name: threadId - in: path - required: true - description: The ID of the thread to modify. - schema: - type: string schemas: Assistant: type: object diff --git a/specification/ai/data-plane/OpenAI.Assistants/OpenApiV3/2024-05-01-preview/assistants_generated.yaml b/specification/ai/data-plane/OpenAI.Assistants/OpenApiV3/2024-05-01-preview/assistants_generated.yaml index bb72844194ac..e7a6f9691f97 100644 --- a/specification/ai/data-plane/OpenAI.Assistants/OpenApiV3/2024-05-01-preview/assistants_generated.yaml +++ b/specification/ai/data-plane/OpenAI.Assistants/OpenApiV3/2024-05-01-preview/assistants_generated.yaml @@ -18,6 +18,7 @@ paths: schema: $ref: '#/components/schemas/Assistant' requestBody: + description: Body parameter. required: true content: application/json: @@ -110,7 +111,12 @@ paths: operationId: updateAssistant description: Modifies an existing assistant. parameters: - - $ref: '#/components/parameters/UpdateAssistantOptions.assistantId' + - name: assistantId + in: path + required: true + description: The ID of the assistant to modify. + schema: + type: string responses: '200': description: The updated assistant instance. @@ -119,6 +125,7 @@ paths: schema: $ref: '#/components/schemas/Assistant' requestBody: + description: Body parameter. required: true content: application/json: @@ -257,6 +264,7 @@ paths: schema: $ref: '#/components/schemas/AssistantThread' requestBody: + description: Body parameter. required: true content: application/json: @@ -275,6 +283,7 @@ paths: schema: $ref: '#/components/schemas/ThreadRun' requestBody: + description: Body parameter. required: true content: application/json: @@ -302,7 +311,12 @@ paths: operationId: updateThread description: Modifies an existing thread. parameters: - - $ref: '#/components/parameters/UpdateAssistantThreadOptions.threadId' + - name: threadId + in: path + required: true + description: The ID of the thread to modify. + schema: + type: string responses: '200': description: Information about the modified thread. @@ -311,6 +325,7 @@ paths: schema: $ref: '#/components/schemas/AssistantThread' requestBody: + description: Body parameter. required: true content: application/json: @@ -903,6 +918,7 @@ paths: schema: $ref: '#/components/schemas/VectorStore' requestBody: + description: Body parameter. required: true content: application/json: @@ -1293,21 +1309,6 @@ security: - OAuth2Auth: - https://cognitiveservices.azure.com/.default components: - parameters: - UpdateAssistantOptions.assistantId: - name: assistantId - in: path - required: true - description: The ID of the assistant to modify. - schema: - type: string - UpdateAssistantThreadOptions.threadId: - name: threadId - in: path - required: true - description: The ID of the thread to modify. - schema: - type: string schemas: ApiResponseFormat: anyOf: diff --git a/specification/ai/data-plane/readme.md b/specification/ai/data-plane/readme.md new file mode 100644 index 000000000000..7abc736f3437 --- /dev/null +++ b/specification/ai/data-plane/readme.md @@ -0,0 +1,78 @@ +# OpenAI + +> see https://aka.ms/autorest + +This is the AutoRest configuration file for OpenAI. + +## 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 [OpenAI]. + +```yaml +openapi-type: data-plane +tag: package-2023-11-06-beta +``` + +### Tag: package-2023-11-06-beta + +These settings apply only when `--tag=package-2023-11-06-beta` is specified on the command line. + +```yaml $(tag) == 'package-2023-11-06-beta' +input-file: + - OpenAI.Assistants/OpenApiV2/stable/2023-11-06-beta/assistants_generated.json + - OpenAI.Assistants/OpenApiV2/stable/2023-11-06-beta/examples/create_assistant.json +``` + +### Tag: package-2023-02-15-preview + +These settings apply only when `--tag=package-2023-02-15-preview` is specified on the command line. + +```yaml $(tag) == 'package-2023-02-15-preview' +input-file: + - OpenAI.Assistants/OpenApiV2/preview/2023-02-15-preview/assistants_generated.json +``` + +### Tag: package-2024-02-15-preview + +These settings apply only when `--tag=package-2024-02-15-preview` is specified on the command line. + +```yaml $(tag) == 'package-2024-02-15-preview' +input-file: + - OpenAI.Assistants/OpenApiV2/preview/2024-02-15-preview/assistants_generated.json +``` + +### Tag: package-2024-05-01-preview + +These settings apply only when `--tag=package-2024-05-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2024-05-01-preview' +input-file: + - OpenAI.Assistants/OpenApiV2/preview/2024-05-01-preview/assistants_generated.json +``` + +### Suppression + +``` yaml +directive: + - suppress: XMS_EXAMPLE_NOTFOUND_ERROR + from: assistants_generated.json + reason: No existing examples. + - suppress: UNREFERENCED_JSON_FILE + from: +``` diff --git a/specification/apicenter/ApiCenter.DataApi/tspconfig.yaml b/specification/apicenter/ApiCenter.DataApi/tspconfig.yaml index 61f42734e25f..dc8e58bf03a4 100644 --- a/specification/apicenter/ApiCenter.DataApi/tspconfig.yaml +++ b/specification/apicenter/ApiCenter.DataApi/tspconfig.yaml @@ -9,6 +9,7 @@ emit: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/azure.apicenter.dataapi.json" diff --git a/specification/apicenter/ApiCenter.Management/models.tsp b/specification/apicenter/ApiCenter.Management/models.tsp index 23a5c2f92ca0..2f37764ae65d 100644 --- a/specification/apicenter/ApiCenter.Management/models.tsp +++ b/specification/apicenter/ApiCenter.Management/models.tsp @@ -160,9 +160,9 @@ union ApiSpecImportSourceFormat { @doc("The inlined content of a specification document.") "inline", @doc(""" -The link to a specification document hosted on a publicly accessible internet -address. -""") + The link to a specification document hosted on a publicly accessible internet + address. + """) "link", } @@ -377,16 +377,16 @@ model License { name?: string; @doc(""" -URL pointing to the license details. The URL field is mutually exclusive of the -identifier field. -""") + URL pointing to the license details. The URL field is mutually exclusive of the + identifier field. + """) @maxLength(200) url?: url; @doc(""" -SPDX license information for the API. The identifier field is mutually -exclusive of the URL field. -""") + SPDX license information for the API. The identifier field is mutually + exclusive of the URL field. + """) @maxLength(50) identifier?: url; } diff --git a/specification/apicenter/resource-manager/Microsoft.ApiCenter/preview/2024-03-15-preview/apicenter.json b/specification/apicenter/resource-manager/Microsoft.ApiCenter/preview/2024-03-15-preview/apicenter.json index b6905c6f97f3..99c8fd351591 100644 --- a/specification/apicenter/resource-manager/Microsoft.ApiCenter/preview/2024-03-15-preview/apicenter.json +++ b/specification/apicenter/resource-manager/Microsoft.ApiCenter/preview/2024-03-15-preview/apicenter.json @@ -3576,11 +3576,7 @@ "properties": { "$ref": "#/definitions/ApiProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -3596,11 +3592,7 @@ "properties": { "$ref": "#/definitions/ApiDefinitionProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -3910,11 +3902,7 @@ "properties": { "$ref": "#/definitions/ApiVersionProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -4026,6 +4014,7 @@ }, "CustomProperties": { "type": "object", + "title": "Custom Properties", "description": "The custom metadata defined for API catalog entities." }, "DeletedService": { @@ -4035,11 +4024,7 @@ "properties": { "$ref": "#/definitions/DeletedServiceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -4094,11 +4079,7 @@ "properties": { "$ref": "#/definitions/DeploymentProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -4211,11 +4192,7 @@ "properties": { "$ref": "#/definitions/EnvironmentProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -4584,11 +4561,7 @@ "properties": { "$ref": "#/definitions/MetadataSchemaProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -4775,11 +4748,7 @@ "properties": { "$ref": "#/definitions/ServiceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "identity": { "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity", @@ -4891,11 +4860,7 @@ "properties": { "$ref": "#/definitions/WorkspaceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/apicenter/resource-manager/Microsoft.ApiCenter/stable/2024-03-01/apicenter.json b/specification/apicenter/resource-manager/Microsoft.ApiCenter/stable/2024-03-01/apicenter.json index 3362ab052d6f..c33916a2bc68 100644 --- a/specification/apicenter/resource-manager/Microsoft.ApiCenter/stable/2024-03-01/apicenter.json +++ b/specification/apicenter/resource-manager/Microsoft.ApiCenter/stable/2024-03-01/apicenter.json @@ -3387,11 +3387,7 @@ "properties": { "$ref": "#/definitions/ApiProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -3407,11 +3403,7 @@ "properties": { "$ref": "#/definitions/ApiDefinitionProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -3721,11 +3713,7 @@ "properties": { "$ref": "#/definitions/ApiVersionProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -3837,6 +3825,7 @@ }, "CustomProperties": { "type": "object", + "title": "Custom Properties", "description": "The custom metadata defined for API catalog entities." }, "Deployment": { @@ -3846,11 +3835,7 @@ "properties": { "$ref": "#/definitions/DeploymentProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -3963,11 +3948,7 @@ "properties": { "$ref": "#/definitions/EnvironmentProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -4336,11 +4317,7 @@ "properties": { "$ref": "#/definitions/MetadataSchemaProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -4527,11 +4504,7 @@ "properties": { "$ref": "#/definitions/ServiceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "identity": { "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity", @@ -4623,11 +4596,7 @@ "properties": { "$ref": "#/definitions/WorkspaceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/AppResiliency.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/AppResiliency.json new file mode 100644 index 000000000000..8df69887e8f0 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/AppResiliency.json @@ -0,0 +1,312 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerApps API Client", + "version": "2024-02-02-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{appName}/resiliencyPolicies/{name}": { + "put": { + "tags": [ + "AppResiliency" + ], + "summary": "Create or update an application's resiliency policy.", + "description": "Create or update container app resiliency policy.", + "operationId": "AppResiliency_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "appName", + "description": "Name of the Container App.", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "description": "Name of the resiliency policy.", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "resiliencyEnvelope", + "in": "body", + "description": "The resiliency policy to create or update.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppResiliency" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppResiliency" + } + }, + "201": { + "description": "App Resiliency create or update has been started.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppResiliency" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update App Resiliency": { + "$ref": "./examples/AppResiliency_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "AppResiliency" + ], + "summary": "Update an application's resiliency policy.", + "description": "Update container app resiliency policy.", + "operationId": "AppResiliency_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "appName", + "description": "Name of the Container App.", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "description": "Name of the resiliency policy.", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "resiliencyEnvelope", + "in": "body", + "description": "The resiliency policy to update.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppResiliency" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppResiliency" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Update App Resiliency": { + "$ref": "./examples/AppResiliency_Patch.json" + } + } + }, + "delete": { + "tags": [ + "AppResiliency" + ], + "summary": "Delete an application's resiliency policy.", + "description": "Delete container app resiliency policy.", + "operationId": "AppResiliency_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "appName", + "description": "Name of the Container App.", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "description": "Name of the resiliency policy.", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Resiliency policy deleted successfully." + }, + "204": { + "description": "Resiliency policy does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete App Resiliency": { + "$ref": "./examples/AppResiliency_Delete.json" + } + } + }, + "get": { + "tags": [ + "AppResiliency" + ], + "summary": "Get an application's resiliency policy.", + "description": "Get container app resiliency policy.", + "operationId": "AppResiliency_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "appName", + "description": "Name of the Container App.", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "description": "Name of the resiliency policy.", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppResiliency" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get App Resiliency": { + "$ref": "./examples/AppResiliency_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{appName}/resiliencyPolicies": { + "get": { + "tags": [ + "AppResiliency" + ], + "summary": "List an application's resiliency policies.", + "description": "List container app resiliency policies.", + "operationId": "AppResiliency_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "appName", + "description": "Name of the Container App.", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/AppResiliencyCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List App Resiliency": { + "$ref": "./examples/AppResiliency_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/AuthConfigs.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/AuthConfigs.json new file mode 100644 index 000000000000..761332185ddc --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/AuthConfigs.json @@ -0,0 +1,1034 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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/v5/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." + }, + "encryptionSettings": { + "$ref": "#/definitions/EncryptionSettings", + "description": "The configuration settings of the secrets references of encryption key and signing key for 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." + } + } + }, + "EncryptionSettings": { + "description": "The configuration settings of the secrets references of encryption key and signing key for ContainerApp Service Authentication/Authorization.", + "type": "object", + "properties": { + "containerAppAuthEncryptionSecretName": { + "description": "The secret name which is referenced for EncryptionKey.", + "type": "string" + }, + "containerAppAuthSigningSecretName": { + "description": "The secret name which is referenced for SigningKey.", + "type": "string" + } + } + }, + "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." + }, + "tokenStore": { + "$ref": "#/definitions/TokenStore", + "description": "The configuration settings of the token store." + }, + "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" + } + } + }, + "TokenStore": { + "description": "The configuration settings of the token store.", + "type": "object", + "properties": { + "enabled": { + "description": "true to durably store platform-specific security tokens that are obtained during login flows; otherwise, false.\n The default is false.", + "type": "boolean" + }, + "tokenRefreshExtensionHours": { + "format": "double", + "description": "The number of hours after session token expiration that a session token can be used to\ncall the token refresh API. The default is 72 hours.", + "type": "number" + }, + "azureBlobStorage": { + "$ref": "#/definitions/BlobStorageTokenStore", + "description": "The configuration settings of the storage of the tokens if blob storage is used." + } + } + }, + "BlobStorageTokenStore": { + "description": "The configuration settings of the storage of the tokens if blob storage is used.", + "type": "object", + "required": [ + "sasUrlSettingName" + ], + "properties": { + "sasUrlSettingName": { + "description": "The name of the app secrets containing the SAS URL of the blob storage containing the tokens.", + "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/preview/2024-02-02-preview/AvailableWorkloadProfiles.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/AvailableWorkloadProfiles.json new file mode 100644 index 000000000000..450677e2c8db --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/AvailableWorkloadProfiles.json @@ -0,0 +1,149 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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/v5/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/v5/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." + }, + "gpus": { + "type": "integer", + "format": "int32", + "description": "Number of GPUs." + }, + "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/preview/2024-02-02-preview/BillingMeters.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/BillingMeters.json new file mode 100644 index 000000000000..9988b8ddc78c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/BillingMeters.json @@ -0,0 +1,128 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + }, + "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/preview/2024-02-02-preview/Builders.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Builders.json new file mode 100644 index 000000000000..dd4e6ae1fc18 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Builders.json @@ -0,0 +1,491 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerApps API Client", + "version": "2024-02-02-preview" + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.App/builders": { + "get": { + "tags": [ + "Builders" + ], + "operationId": "Builders_ListBySubscription", + "description": "List BuilderResource resources by subscription ID", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/BuilderCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Builders_ListBySubscription_0": { + "$ref": "./examples/Builders_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/builders": { + "get": { + "tags": [ + "Builders" + ], + "operationId": "Builders_ListByResourceGroup", + "description": "List BuilderResource resources by resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/BuilderCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Builders_ListByResourceGroup_0": { + "$ref": "./examples/Builders_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/builders/{builderName}": { + "get": { + "tags": [ + "Builders" + ], + "operationId": "Builders_Get", + "description": "Get a BuilderResource", + "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/BuilderNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/BuilderResource" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Builders_Get_0": { + "$ref": "./examples/Builders_Get.json" + } + } + }, + "put": { + "tags": [ + "Builders" + ], + "operationId": "Builders_CreateOrUpdate", + "description": "Create or update a BuilderResource", + "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/BuilderNameParameter" + }, + { + "name": "builderEnvelope", + "in": "body", + "required": true, + "description": "Resource create parameters.", + "schema": { + "$ref": "#/definitions/BuilderResource" + } + } + ], + "responses": { + "200": { + "description": "ARM create or update operation completed successfully.", + "schema": { + "$ref": "#/definitions/BuilderResource" + } + }, + "201": { + "description": "ARM create or update operation has been started.", + "schema": { + "$ref": "#/definitions/BuilderResource" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Builders_CreateOrUpdate_0": { + "$ref": "./examples/Builders_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "Builders" + ], + "operationId": "Builders_Update", + "description": "Update a BuilderResource", + "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/BuilderNameParameter" + }, + { + "name": "builderEnvelope", + "in": "body", + "required": true, + "description": "The resource properties to be updated.", + "schema": { + "$ref": "#/definitions/BuilderResourceUpdate" + } + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/BuilderResource" + } + }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Builders_Update_0": { + "$ref": "./examples/Builders_Update.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Builders" + ], + "operationId": "Builders_Delete", + "description": "Delete a BuilderResource", + "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/BuilderNameParameter" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Builders_Delete_0": { + "$ref": "./examples/Builders_Delete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "BuilderProperties": { + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/BuilderProvisioningState", + "description": "Provisioning state of a builder resource.", + "readOnly": true + }, + "environmentId": { + "type": "string", + "description": "Resource ID of the container apps environment that the builder is associated with.", + "format": "arm-id" + }, + "containerRegistries": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerRegistry" + }, + "x-ms-identifiers": [ + "containerRegistryServer" + ], + "description": "List of mappings of container registries and the managed identity used to connect to it." + } + }, + "description": "The builder properties.", + "required": [ + "environmentId" + ] + }, + "BuilderResource": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/BuilderProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "identity": { + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The managed service identities assigned to this resource." + } + }, + "description": "Information about the SourceToCloud builder resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ] + }, + "BuilderCollection": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BuilderResource" + }, + "description": "The BuilderResource items on this page" + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "description": "The response of a BuilderResource list operation.", + "required": [ + "value" + ] + }, + "BuilderResourceUpdate": { + "type": "object", + "properties": { + "identity": { + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The managed service identities assigned to this resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags." + }, + "properties": { + "$ref": "#/definitions/BuilderResourceUpdateProperties", + "x-ms-client-flatten": true + } + }, + "description": "The type used for update operations of the BuilderResource." + }, + "BuilderResourceUpdateProperties": { + "type": "object", + "properties": { + "environmentId": { + "type": "string", + "description": "Resource ID of the container apps environment that the builder is associated with.", + "format": "arm-id" + } + }, + "description": "The updatable properties of the BuilderResource." + }, + "ContainerRegistry": { + "type": "object", + "properties": { + "containerRegistryServer": { + "type": "string", + "description": "Login server of the container registry." + }, + "identityResourceId": { + "type": "string", + "description": "Resource ID of the managed identity.", + "format": "arm-id" + } + }, + "description": "Model representing a mapping from a container registry to the identity used to connect to it.", + "required": [ + "containerRegistryServer", + "identityResourceId" + ] + }, + "BuilderProvisioningState": { + "type": "string", + "description": "Resource instance provisioning state.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Updating", + "Deleting" + ], + "x-ms-enum": { + "name": "BuilderProvisioningState", + "modelAsString": true + }, + "readOnly": true + } + }, + "parameters": { + "BuilderNameParameter": { + "name": "builderName", + "in": "path", + "required": true, + "description": "The name of the builder.", + "minLength": 2, + "maxLength": 32, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Builds.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Builds.json new file mode 100644 index 000000000000..b83c6b14f0d0 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Builds.json @@ -0,0 +1,475 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerApps API Client", + "version": "2024-02-02-preview" + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/builders/{builderName}/builds": { + "get": { + "tags": [ + "Builds" + ], + "operationId": "BuildsByBuilderResource_List", + "description": "List BuildResource resources by BuilderResource", + "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": "./Builders.json#/parameters/BuilderNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/BuildCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Builds_ListByBuilderResource_0": { + "$ref": "./examples/Builds_ListByBuilderResource.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/builders/{builderName}/builds/{buildName}": { + "get": { + "tags": [ + "Builds" + ], + "operationId": "Builds_Get", + "description": "Get a BuildResource", + "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": "./Builders.json#/parameters/BuilderNameParameter" + }, + { + "$ref": "#/parameters/BuildNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/BuildResource" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Builds_Get_0": { + "$ref": "./examples/Builds_Get.json" + } + } + }, + "put": { + "tags": [ + "Builds" + ], + "operationId": "Builds_CreateOrUpdate", + "description": "Create a BuildResource", + "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": "./Builders.json#/parameters/BuilderNameParameter" + }, + { + "$ref": "#/parameters/BuildNameParameter" + }, + { + "name": "buildEnvelope", + "in": "body", + "required": true, + "description": "Resource create or update parameters.", + "schema": { + "$ref": "#/definitions/BuildResource" + } + } + ], + "responses": { + "200": { + "description": "ARM create or update operation completed successfully.", + "schema": { + "$ref": "#/definitions/BuildResource" + } + }, + "201": { + "description": "ARM create or update operation has been started.", + "schema": { + "$ref": "#/definitions/BuildResource" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string" + } + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Builds_CreateOrUpdate_WithConfig": { + "$ref": "./examples/Builds_CreateOrUpdate.json" + }, + "Builds_CreateOrUpdate_NoConfig": { + "$ref": "./examples/Builds_CreateOrUpdate_NoConfig.json" + } + } + }, + "delete": { + "tags": [ + "Builds" + ], + "operationId": "Builds_Delete", + "description": "Delete a BuildResource", + "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": "./Builders.json#/parameters/BuilderNameParameter" + }, + { + "$ref": "#/parameters/BuildNameParameter" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Builds_Delete_0": { + "$ref": "./examples/Builds_Delete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/builders/{builderName}/builds/{buildName}/listAuthToken": { + "post": { + "tags": [ + "Builds" + ], + "operationId": "BuildAuthToken_List", + "description": "Gets the token used to connect to the endpoint where source code can be uploaded for a build.", + "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": "./Builders.json#/parameters/BuilderNameParameter" + }, + { + "$ref": "#/parameters/BuildNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BuildToken" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Build Auth Token": { + "$ref": "./examples/Builds_ListAuthToken.json" + } + } + } + } + }, + "definitions": { + "BuildConfiguration": { + "type": "object", + "properties": { + "baseOs": { + "type": "string", + "description": "Base OS used to build and run the app." + }, + "platform": { + "type": "string", + "description": "Platform to be used to build and run the app." + }, + "platformVersion": { + "type": "string", + "description": "Platform version to be used to build and run the app." + }, + "environmentVariables": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/EnvironmentVariable" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "List of environment variables to be passed to the build, secrets should not be used in environment variable." + }, + "preBuildSteps": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/PreBuildStep" + }, + "x-ms-identifiers": [], + "description": "List of steps to perform before the build." + } + }, + "description": "Configuration of the build." + }, + "BuildProperties": { + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/BuildProvisioningState", + "description": "Build provisioning state.", + "readOnly": true + }, + "buildStatus": { + "$ref": "#/definitions/BuildStatus", + "description": "Status of the build once it has been provisioned.", + "readOnly": true + }, + "destinationContainerRegistry": { + "$ref": "./CommonDefinitions.json#/definitions/ContainerRegistryWithCustomImage", + "description": "Container registry that the final image will be uploaded to." + }, + "configuration": { + "$ref": "#/definitions/BuildConfiguration", + "description": "Configuration of the build." + }, + "uploadEndpoint": { + "type": "string", + "description": "Endpoint to which the source code should be uploaded.", + "readOnly": true + }, + "logStreamEndpoint": { + "type": "string", + "description": "Endpoint from which the build logs can be streamed.", + "readOnly": true + }, + "tokenEndpoint": { + "type": "string", + "description": "Endpoint to use to retrieve an authentication token for log streaming and uploading source code.", + "readOnly": true + } + }, + "description": "The build properties." + }, + "BuildResource": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/BuildProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "description": "Information pertaining to an individual build.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "BuildCollection": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BuildResource" + }, + "description": "The BuildResource items on this page" + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "description": "The response of a BuildResource list operation.", + "required": [ + "value" + ] + }, + "BuildStatus": { + "type": "string", + "description": "Status of the build once it has been provisioned.", + "enum": [ + "NotStarted", + "InProgress", + "Succeeded", + "Canceled", + "Failed" + ], + "x-ms-enum": { + "name": "BuildStatus", + "modelAsString": true + } + }, + "BuildToken": { + "description": "Build Auth Token.", + "type": "object", + "properties": { + "token": { + "type": "string", + "x-ms-secret": true, + "description": "Authentication token.", + "readOnly": true + }, + "expires": { + "format": "date-time", + "description": "Token expiration date.", + "type": "string", + "readOnly": true + } + } + }, + "BuildProvisioningState": { + "type": "string", + "description": "Resource instance provisioning state.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Updating", + "Deleting" + ], + "x-ms-enum": { + "name": "BuildProvisioningState", + "modelAsString": true + }, + "readOnly": true + } + }, + "parameters": { + "BuildNameParameter": { + "name": "buildName", + "in": "path", + "required": true, + "description": "The name of a build.", + "minLength": 2, + "maxLength": 64, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json new file mode 100644 index 000000000000..f74c1f325b6a --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json @@ -0,0 +1,2173 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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" + }, + "imageType": { + "description": "The type of the image. Set to CloudBuild to let the system manages the image, where user will not be able to update image through image field. Set to ContainerImage for user provided image.", + "type": "string", + "enum": [ + "CloudBuild", + "ContainerImage" + ], + "x-ms-enum": { + "name": "imageType", + "modelAsString": true + } + }, + "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 + } + } + } + }, + "ContainerRegistryWithCustomImage": { + "type": "object", + "properties": { + "server": { + "type": "string", + "description": "Login server of the container registry that the final image should be uploaded to. Builder resource needs to have this container registry defined along with an identity to use to access it." + }, + "image": { + "type": "string", + "description": "Full name that the final image should be uploaded as, including both image name and tag." + } + }, + "description": "Container registry that the final image will be uploaded to.", + "required": [ + "server" + ] + }, + "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" + ] + }, + "identity": { + "description": "The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for system-assigned identity.", + "type": "string" + } + } + }, + "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" + ] + }, + "certificateKeyVaultProperties": { + "description": "Certificate stored in Azure Key Vault.", + "$ref": "#/definitions/CertificateKeyVaultProperties" + }, + "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 + } + } + }, + "HttpGet": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "URL to make HTTP GET request against." + }, + "fileName": { + "type": "string", + "description": "Name of the file that the request should be saved to." + }, + "headers": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of headers to send with the request." + } + }, + "description": "Model representing a http get request.", + "required": [ + "url" + ] + }, + "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" + ] + }, + "identity": { + "description": "The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for system-assigned identity.", + "type": "string" + } + } + }, + "PreBuildStep": { + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of the pre-build step." + }, + "scripts": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of custom commands to run." + }, + "httpGet": { + "$ref": "./CommonDefinitions.json#/definitions/HttpGet", + "description": "Http get request to send before the build.", + "x-ms-identifiers": [] + } + }, + "description": "Model representing a pre-build step." + }, + "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" + ] + }, + "identity": { + "description": "The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for system-assigned identity.", + "type": "string" + } + } + }, + "QueueScaleRule": { + "description": "Container App container Azure Queue based scaling rule.", + "type": "object", + "properties": { + "accountName": { + "description": "Storage account name. required if using managed identity to authenticate", + "type": "string" + }, + "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" + ] + }, + "identity": { + "description": "The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for system-assigned identity.", + "type": "string" + } + } + }, + "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-identifiers": [ + "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", + "NfsAzureFile", + "Smb" + ], + "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 Azure file share or NFS Azure file share. 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/v5/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" + } + }, + "serviceComponentBind": { + "description": "List of container app services that are bound to the Dapr component", + "type": "array", + "items": { + "$ref": "#/definitions/DaprComponentServiceBinding" + }, + "x-ms-identifiers": [ + "name" + ] + } + }, + "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" + } + } + }, + "DaprComponentServiceBinding": { + "description": "Configuration to bind a Dapr Component to a dev ContainerApp Service", + "type": "object", + "properties": { + "name": { + "description": "Name of the service bind", + "type": "string" + }, + "serviceId": { + "description": "Resource id of the target service", + "type": "string" + }, + "metadata": { + "description": "Service bind metadata", + "type": "array", + "$ref": "#/definitions/DaprServiceBindMetadata" + } + } + }, + "DaprServiceBindMetadata": { + "description": "Dapr component metadata.", + "type": "object", + "properties": { + "name": { + "description": "Service bind metadata property name.", + "type": "string" + }, + "value": { + "description": "Service bind 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." + } + } + }, + "DaprComponentResiliencyPoliciesCollection": { + "description": "Dapr Component Resiliency Policies ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DaprComponentResiliencyPolicy" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "DaprComponentResiliencyPolicy": { + "description": "Dapr Component Resiliency Policy.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Dapr Component Resiliency Policy resource specific properties", + "type": "object", + "properties": { + "inboundPolicy": { + "description": "The optional inbound component resiliency policy configuration", + "$ref": "#/definitions/DaprComponentResiliencyPolicyConfiguration" + }, + "outboundPolicy": { + "description": "The optional outbound component resiliency policy configuration", + "$ref": "#/definitions/DaprComponentResiliencyPolicyConfiguration" + } + }, + "x-ms-client-flatten": true + } + } + }, + "DaprComponentResiliencyPolicyConfiguration": { + "description": "Dapr Component Resiliency Policy Configuration.", + "type": "object", + "properties": { + "httpRetryPolicy": { + "description": "The optional HTTP retry policy configuration", + "$ref": "#/definitions/DaprComponentResiliencyPolicyHttpRetryPolicyConfiguration" + }, + "timeoutPolicy": { + "description": "The optional timeout policy configuration", + "$ref": "#/definitions/DaprComponentResiliencyPolicyTimeoutPolicyConfiguration" + }, + "circuitBreakerPolicy": { + "description": "The optional circuit breaker policy configuration", + "$ref": "#/definitions/DaprComponentResiliencyPolicyCircuitBreakerPolicyConfiguration" + } + }, + "additionalProperties": false + }, + "DaprComponentResiliencyPolicyCircuitBreakerPolicyConfiguration": { + "description": "Dapr Component Resiliency Policy Circuit Breaker Policy Configuration.", + "type": "object", + "properties": { + "consecutiveErrors": { + "description": "The number of consecutive errors before the circuit is opened.", + "type": "integer", + "format": "int32" + }, + "timeoutInSeconds": { + "description": "The interval in seconds until a retry attempt is made after the circuit is opened.", + "type": "integer", + "format": "int32" + }, + "intervalInSeconds": { + "description": "The optional interval in seconds after which the error count resets to 0. An interval of 0 will never reset. If not specified, the timeoutInSeconds value will be used.", + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "DaprComponentResiliencyPolicyHttpRetryPolicyConfiguration": { + "description": "Dapr Component Resiliency Policy HTTP Retry Policy Configuration.", + "type": "object", + "properties": { + "maxRetries": { + "description": "The optional maximum number of retries", + "type": "integer", + "format": "int32" + }, + "retryBackOff": { + "description": "The optional retry backoff configuration", + "$ref": "#/definitions/DaprComponentResiliencyPolicyHttpRetryBackOffConfiguration" + } + }, + "additionalProperties": false + }, + "DaprComponentResiliencyPolicyHttpRetryBackOffConfiguration": { + "description": "Dapr Component Resiliency Policy HTTP Retry Backoff Configuration.", + "type": "object", + "properties": { + "initialDelayInMilliseconds": { + "description": "The optional initial delay in milliseconds before an operation is retried", + "type": "integer", + "format": "int32" + }, + "maxIntervalInMilliseconds": { + "description": "The optional maximum time interval in milliseconds between retry attempts", + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "DaprComponentResiliencyPolicyTimeoutPolicyConfiguration": { + "description": "Dapr Component Resiliency Policy Timeout Policy Configuration.", + "type": "object", + "properties": { + "responseTimeoutInSeconds": { + "description": "The optional response timeout in seconds", + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, + "DaprSubscriptionsCollection": { + "description": "Dapr Subscriptions ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DaprSubscription" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "DaprSubscription": { + "description": "Dapr PubSub Event Subscription.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Dapr PubSub Event Subscription resource specific properties", + "type": "object", + "properties": { + "pubsubName": { + "description": "Dapr PubSub component name", + "type": "string" + }, + "topic": { + "description": "Topic name", + "type": "string" + }, + "deadLetterTopic": { + "description": "Deadletter topic name", + "type": "string" + }, + "routes": { + "description": "Subscription routes", + "$ref": "#/definitions/DaprSubscriptionRoutes" + }, + "scopes": { + "description": "Application scopes to restrict the subscription to specific apps.", + "type": "array", + "items": { + "type": "string" + } + }, + "metadata": { + "description": "Subscription metadata", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "bulkSubscribe": { + "description": "Bulk subscription options", + "$ref": "#/definitions/DaprSubscriptionBulkSubscribeOptions" + } + }, + "x-ms-client-flatten": true + } + } + }, + "DaprSubscriptionBulkSubscribeOptions": { + "description": "Dapr PubSub Bulk Subscription Options.", + "type": "object", + "properties": { + "enabled": { + "description": "Enable bulk subscription", + "type": "boolean", + "default": false + }, + "maxMessagesCount": { + "description": "Maximum number of messages to deliver in a bulk message.", + "type": "integer", + "format": "int32" + }, + "maxAwaitDurationMs": { + "description": "Maximum duration in milliseconds to wait before a bulk message is sent to the app.", + "type": "integer", + "format": "int32" + } + } + }, + "DaprSubscriptionRoutes": { + "description": "Dapr PubSub Event Subscription Routes configuration.", + "type": "object", + "properties": { + "rules": { + "description": "The list of Dapr PubSub Event Subscription Route Rules.", + "type": "array", + "items": { + "$ref": "#/definitions/DaprSubscriptionRouteRule" + }, + "x-ms-identifiers": [] + }, + "default": { + "description": "The default path to deliver events that do not match any of the rules.", + "type": "string" + } + }, + "additionalProperties": false + }, + "DaprSubscriptionRouteRule": { + "description": "Dapr Pubsub Event Subscription Route Rule is used to specify the condition for sending a message to a specific path.", + "type": "object", + "properties": { + "match": { + "description": "The optional CEL expression used to match the event. If the match is not specified, then the route is considered the default. The rules are tested in the order specified, so they should be define from most-to-least specific. The default route should appear last in the list.", + "type": "string" + }, + "path": { + "description": "The path for events that match this rule", + "type": "string" + } + } + }, + "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" + } + } + }, + "NfsAzureFileProperties": { + "description": "NFS Azure File Properties.", + "type": "object", + "properties": { + "server": { + "description": "Server for NFS azure file.", + "type": "string" + }, + "accessMode": { + "description": "Access mode for storage", + "enum": [ + "ReadOnly", + "ReadWrite" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessMode", + "modelAsString": true + } + }, + "shareName": { + "description": "NFS Azure file share name.", + "type": "string" + } + } + }, + "SmbStorage": { + "description": "SMB storage properties", + "type": "object", + "properties": { + "host": { + "description": "The host name or IP address of the SMB server.", + "type": "string" + }, + "shareName": { + "description": "The path to the SMB shared folder.", + "type": "string" + }, + "username": { + "description": "The user to log on to the SMB server.", + "type": "string" + }, + "domain": { + "description": "The domain name for the user.", + "type": "string" + }, + "password": { + "description": "The password for the user.", + "type": "string", + "x-ms-secret": true + }, + "accessMode": { + "description": "Access mode for storage", + "enum": [ + "ReadOnly", + "ReadWrite" + ], + "type": "string", + "x-ms-enum": { + "name": "AccessMode", + "modelAsString": true + } + } + } + }, + "CertificateKeyVaultProperties": { + "description": "Properties for a certificate stored in a Key Vault.", + "type": "object", + "properties": { + "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": "URL pointing to the Azure Key Vault secret that holds the certificate.", + "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/v5/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 + } + }, + "certificateKeyVaultProperties": { + "description": "Properties for a certificate stored in a Key Vault.", + "$ref": "#/definitions/CertificateKeyVaultProperties" + }, + "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 + }, + "certificateType": { + "description": "The type of the certificate. Allowed values are `ServerSSLCertificate` and `ImagePullTrustedCA`", + "type": "string", + "enum": [ + "ServerSSLCertificate", + "ImagePullTrustedCA" + ], + "x-ms-enum": { + "name": "CertificateType", + "modelAsString": 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/v5/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" + }, + "clientType": { + "description": "Type of the client to be used to connect to the service", + "type": "string" + }, + "customizedKeys": { + "description": "Customized keys for customizing injected values to the app", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "AppResiliencyCollection": { + "description": "Collection of AppResiliency policies", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/AppResiliency" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "AppResiliency": { + "description": "Configuration to setup App Resiliency", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "type": "object", + "description": "App Resiliency resource specific properties", + "properties": { + "timeoutPolicy": { + "description": "Policy to set request timeouts", + "$ref": "#/definitions/TimeoutPolicy" + }, + "httpRetryPolicy": { + "description": "Policy that defines http request retry conditions", + "$ref": "#/definitions/HttpRetryPolicy" + }, + "tcpRetryPolicy": { + "description": "Policy that defines tcp request retry conditions", + "$ref": "#/definitions/TcpRetryPolicy" + }, + "circuitBreakerPolicy": { + "description": "Policy that defines circuit breaker conditions", + "$ref": "#/definitions/CircuitBreakerPolicy" + }, + "httpConnectionPool": { + "description": "Defines parameters for http connection pooling", + "$ref": "#/definitions/HttpConnectionPool" + }, + "tcpConnectionPool": { + "description": "Defines parameters for tcp connection pooling", + "$ref": "#/definitions/TcpConnectionPool" + } + }, + "x-ms-client-flatten": true + } + } + }, + "TimeoutPolicy": { + "description": "Policy to set request timeouts", + "type": "object", + "properties": { + "responseTimeoutInSeconds": { + "description": "Timeout, in seconds, for a request to respond", + "format": "int32", + "type": "integer" + }, + "connectionTimeoutInSeconds": { + "description": "Timeout, in seconds, for a request to initiate a connection", + "format": "int32", + "type": "integer" + } + } + }, + "HttpRetryPolicy": { + "description": "Policy that defines http request retry conditions", + "type": "object", + "properties": { + "maxRetries": { + "description": "Maximum number of times a request will retry", + "format": "int32", + "type": "integer" + }, + "retryBackOff": { + "description": "Settings for retry backoff characteristics", + "type": "object", + "properties": { + "initialDelayInMilliseconds": { + "description": "Initial delay, in milliseconds, before retrying a request", + "format": "int64", + "type": "integer" + }, + "maxIntervalInMilliseconds": { + "description": "Maximum interval, in milliseconds, between retries", + "format": "int64", + "type": "integer" + } + }, + "x-ms-client-flatten": true + }, + "matches": { + "description": "Conditions that must be met for a request to be retried", + "type": "object", + "properties": { + "headers": { + "description": "Headers that must be present for a request to be retried", + "type": "array", + "items": { + "$ref": "#/definitions/HeaderMatch" + }, + "x-ms-identifiers": [ + "header" + ] + }, + "httpStatusCodes": { + "description": "Additional http status codes that can trigger a retry", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + }, + "x-ms-identifiers": [] + }, + "errors": { + "description": "Errors that can trigger a retry", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-client-flatten": true + } + }, + "x-ms-client-flatten": true + }, + "TcpRetryPolicy": { + "description": "Policy that defines tcp request retry conditions", + "type": "object", + "properties": { + "maxConnectAttempts": { + "description": "Maximum number of attempts to connect to the tcp service", + "format": "int32", + "type": "integer" + } + } + }, + "CircuitBreakerPolicy": { + "description": "Policy that defines circuit breaker conditions", + "type": "object", + "properties": { + "consecutiveErrors": { + "description": "Number of consecutive errors before the circuit breaker opens", + "format": "int32", + "type": "integer" + }, + "intervalInSeconds": { + "description": "The time interval, in seconds, between endpoint checks. This can result in opening the circuit breaker if the check fails as well as closing the circuit breaker if the check succeeds. Defaults to 10s.", + "format": "int32", + "type": "integer" + }, + "maxEjectionPercent": { + "description": "Maximum percentage of hosts that will be ejected after failure threshold has been met", + "format": "int32", + "type": "integer" + } + } + }, + "HttpConnectionPool": { + "description": "Defines parameters for http connection pooling", + "type": "object", + "properties": { + "http1MaxPendingRequests": { + "description": "Maximum number of pending http1 requests allowed", + "format": "int32", + "type": "integer" + }, + "http2MaxRequests": { + "description": "Maximum number of http2 requests allowed", + "format": "int32", + "type": "integer" + } + } + }, + "TcpConnectionPool": { + "description": "Defines parameters for tcp connection pooling", + "type": "object", + "properties": { + "maxConnections": { + "description": "Maximum number of tcp connections allowed", + "format": "int32", + "type": "integer" + } + } + }, + "HeaderMatch": { + "description": "Conditions required to match a header", + "type": "object", + "properties": { + "header": { + "description": "Name of the header", + "type": "string" + }, + "match": { + "description": "Type of match to perform", + "type": "object", + "properties": { + "exactMatch": { + "description": "Exact value of the header", + "type": "string" + }, + "prefixMatch": { + "description": "Prefix value of the header", + "type": "string" + }, + "suffixMatch": { + "description": "Suffix value of the header", + "type": "string" + }, + "regexMatch": { + "description": "Regex value of the header", + "type": "string" + } + }, + "x-ms-client-flatten": true + } + } + }, + "EnvironmentVariable": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Environment variable name." + }, + "value": { + "type": "string", + "description": "Environment variable value." + } + }, + "description": "Model representing an environment variable.", + "required": [ + "name", + "value" + ] + }, + "PrivateEndpoint": { + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "format": "arm-id", + "description": "The ARM identifier for Private Endpoint" + } + }, + "description": "The Private Endpoint resource." + }, + "PrivateEndpointConnection": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateEndpointConnectionProperties": { + "type": "object", + "properties": { + "groupIds": { + "description": "The group ids for the private endpoint resource.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "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 private endpoint connection." + }, + "PrivateLinkServiceConnectionState": { + "type": "object", + "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." + }, + "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." + }, + "PrivateEndpointServiceConnectionStatus": { + "type": "string", + "description": "The private endpoint connection status.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Waiting", + "Updating", + "Deleting", + "Pending" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkResource": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/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": { + "type": "string", + "format": "uri", + "description": "URL to get the next set of operation list results (if there are any).", + "readOnly": true + } + }, + "description": "List of private endpoint connection associated with the specified resource" + }, + "PrivateLinkResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "URL to get the next set of operation list results (if there are any).", + "readOnly": true + } + }, + "description": "A list of private link resources" + }, + "IdentitySettings": { + "description": "Optional settings for a Managed Identity that is assigned to the Container App.", + "type": "object", + "required": [ + "identity" + ], + "properties": { + "identity": { + "description": "The resource ID of a user-assigned managed identity that is assigned to the Container App, or 'system' for system-assigned identity.", + "type": "string" + }, + "lifecycle": { + "description": "Use to select the lifecycle stages of a Container App during which the Managed Identity should be available.", + "enum": [ + "Init", + "Main", + "None", + "All" + ], + "type": "string", + "default": "All", + "x-ms-enum": { + "name": "IdentitySettingsLifeCycle", + "modelAsString": 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/preview/2024-02-02-preview/ConnectedEnvironments.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ConnectedEnvironments.json new file mode 100644 index 000000000000..1cf75ddbcaff --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ConnectedEnvironments.json @@ -0,0 +1,469 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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/v5/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/preview/2024-02-02-preview/ConnectedEnvironmentsCertificates.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ConnectedEnvironmentsCertificates.json new file mode 100644 index 000000000000..95e1ca51cd54 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ConnectedEnvironmentsCertificates.json @@ -0,0 +1,315 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/ConnectedEnvironmentsDaprComponents.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ConnectedEnvironmentsDaprComponents.json new file mode 100644 index 000000000000..c3bc637fc0cf --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ConnectedEnvironmentsDaprComponents.json @@ -0,0 +1,307 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/ConnectedEnvironmentsStorages.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ConnectedEnvironmentsStorages.json new file mode 100644 index 000000000000..f31ea3860897 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ConnectedEnvironmentsStorages.json @@ -0,0 +1,294 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Storage properties", + "type": "object", + "properties": { + "azureFile": { + "$ref": "./CommonDefinitions.json#/definitions/AzureFileProperties", + "description": "Azure file properties" + }, + "smb": { + "$ref": "./CommonDefinitions.json#/definitions/SmbStorage", + "description": "SMB storage 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/preview/2024-02-02-preview/ContainerApps.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ContainerApps.json new file mode 100644 index 000000000000..4127e12e03a3 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ContainerApps.json @@ -0,0 +1,1549 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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" + }, + "Create or Update App Kind": { + "$ref": "./examples/ContainerApps_Kind_CreateOrUpdate.json" + }, + "Create or Update App On A Connected Environment": { + "$ref": "./examples/ContainerApps_CreateOrUpdate_ConnectedEnvironment.json" + }, + "Create or Update SourceToCloud App": { + "$ref": "./examples/ContainerApps_SourceToCloudApp_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." + }, + "runtime": { + "$ref": "#/definitions/Runtime", + "description": "App runtime 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" + }, + "identitySettings": { + "description": "Optional settings for Managed Identities that are assigned to the Container App. If a Managed Identity is not specified here, default settings will be used.", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/IdentitySettings" + }, + "x-ms-identifiers": [ + "identity" + ] + } + } + }, + "ContainerApp": { + "description": "Container App.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/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." + }, + "kind": { + "type": "string", + "enum": [ + "workflowapp" + ], + "x-ms-mutability": [ + "read", + "create" + ], + "x-ms-enum": { + "name": "kind", + "modelAsString": true + }, + "description": "Metadata used to render different experiences for resources of the same type; e.g. WorkflowApp is a kind of Microsoft.App/ContainerApps type. If supported, the resource provider must validate and persist this value." + }, + "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." + }, + "patchingConfiguration": { + "description": "Container App auto patch configuration.", + "type": "object", + "properties": { + "patchingMode": { + "description": "Patching mode for the container app. Null or default in this field will be interpreted as Automatic by RP. Automatic mode will automatically apply available patches. Manual mode will require the user to manually apply patches. Disabled mode will stop patch detection and auto patching.", + "type": "string", + "enum": [ + "Automatic", + "Manual", + "Disabled" + ], + "x-ms-enum": { + "name": "patchingMode", + "modelAsString": true + } + } + } + }, + "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" + } + } + }, + "Runtime": { + "description": "Container App Runtime configuration.", + "type": "object", + "properties": { + "java": { + "description": "Java app configuration", + "type": "object", + "properties": { + "enableMetrics": { + "description": "Enable jmx core metrics for the java app", + "type": "boolean" + }, + "javaAgent": { + "description": "Diagnostic capabilities achieved by java agent", + "type": "object", + "properties": { + "enabled": { + "description": "Enable java agent injection for the java app.", + "type": "boolean" + }, + "logging": { + "description": "Capabilities on the java logging scenario.", + "type": "object", + "properties": { + "loggerSettings": { + "description": "Settings of the logger for the java app.", + "type": "array", + "items": { + "$ref": "#/definitions/LoggerSetting" + }, + "x-ms-identifiers": [ + "logger", + "level" + ] + } + } + } + } + } + } + }, + "dotnet": { + "description": ".NET app configuration", + "type": "object", + "properties": { + "autoConfigureDataProtection": { + "description": "Auto configure the ASP.NET Core Data Protection feature", + "type": "boolean" + } + } + } + } + }, + "LoggerSetting": { + "description": "Logger settings for java workloads.", + "type": "object", + "required": [ + "logger", + "level" + ], + "properties": { + "logger": { + "description": "Logger name.", + "type": "string" + }, + "level": { + "description": "The specified logger's log level.", + "enum": [ + "off", + "error", + "info", + "debug", + "trace", + "warn" + ], + "type": "string", + "x-ms-enum": { + "name": "level", + "modelAsString": true + } + } + } + }, + "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" + }, + "additionalPortMappings": { + "description": "Settings to expose additional ports on container app", + "type": "array", + "items": { + "$ref": "#/definitions/IngressPortMapping" + }, + "x-ms-identifiers": [ + "targetPort" + ] + }, + "targetPortHttpScheme": { + "description": "Whether an http app listens on http or https", + "enum": [ + "http", + "https" + ], + "type": "string", + "x-ms-enum": { + "name": "IngressTargetPortHttpScheme", + "modelAsString": 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" + } + } + }, + "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" + } + } + }, + "IngressPortMapping": { + "description": "Port mappings of container app ingress", + "type": "object", + "required": [ + "external", + "targetPort" + ], + "properties": { + "external": { + "description": "Specifies whether the app port is accessible outside of the environment", + "type": "boolean" + }, + "targetPort": { + "format": "int32", + "description": "Specifies the port user's container listens on", + "type": "integer" + }, + "exposedPort": { + "format": "int32", + "description": "Specifies the exposed port for the target port. If not specified, it defaults to target port", + "type": "integer" + } + } + }, + "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/v5/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/preview/2024-02-02-preview/ContainerAppsBuilds.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ContainerAppsBuilds.json new file mode 100644 index 000000000000..29ccd1df1772 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ContainerAppsBuilds.json @@ -0,0 +1,348 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerApps API Client", + "version": "2024-02-02-preview" + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/builds": { + "get": { + "tags": [ + "ContainerAppsBuilds" + ], + "operationId": "ContainerAppsBuildsByContainerApp_List", + "description": "List Container Apps Build resources by Container App", + "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/ContainerAppsNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/ContainerAppsBuildCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ContainerAppsBuilds_ListByContainerApp_0": { + "$ref": "./examples/ContainerAppsBuilds_ListByContainerApp.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/builds/{buildName}": { + "get": { + "tags": [ + "ContainerAppsBuilds" + ], + "operationId": "ContainerAppsBuilds_Get", + "description": "Get a Container Apps Build resource", + "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/ContainerAppsNameParameter" + }, + { + "$ref": "#/parameters/ContainerAppsBuildNameParameter" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/ContainerAppsBuildResource" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ContainerAppsBuilds_Get_0": { + "$ref": "./examples/ContainerAppsBuilds_Get.json" + } + } + }, + "delete": { + "tags": [ + "ContainerAppsBuilds" + ], + "operationId": "ContainerAppsBuilds_Delete", + "description": "Delete a Container Apps Build resource", + "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/ContainerAppsNameParameter" + }, + { + "$ref": "#/parameters/ContainerAppsBuildNameParameter" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource deleted successfully." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ContainerAppsBuilds_Delete_0": { + "$ref": "./examples/ContainerAppsBuilds_Delete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "ContainerAppsBuildConfiguration": { + "type": "object", + "properties": { + "baseOs": { + "type": "string", + "description": "Base OS used to build and run the app.", + "readOnly": true + }, + "platform": { + "type": "string", + "description": "Platform to be used to build and run the app.", + "readOnly": true + }, + "platformVersion": { + "type": "string", + "description": "Platform version to be used to build and run the app.", + "readOnly": true + }, + "environmentVariables": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/EnvironmentVariable" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "List of environment variables to be passed to the build, secrets should not be used in environment variable.", + "readOnly": true + }, + "preBuildSteps": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/PreBuildStep" + }, + "x-ms-identifiers": [], + "description": "List of steps to perform before the build.", + "readOnly": true + } + }, + "description": "Configuration of the build." + }, + "ContainerAppsBuildProperties": { + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/BuildProvisioningState", + "description": "Build provisioning state.", + "readOnly": true + }, + "buildStatus": { + "$ref": "#/definitions/BuildStatus", + "description": "Status of the build once it has been provisioned.", + "readOnly": true + }, + "destinationContainerRegistry": { + "$ref": "./CommonDefinitions.json#/definitions/ContainerRegistryWithCustomImage", + "description": "Container registry that the final image will be uploaded to.", + "readOnly": true + }, + "configuration": { + "$ref": "#/definitions/ContainerAppsBuildConfiguration", + "description": "Configuration of the build.", + "readOnly": true + }, + "logStreamEndpoint": { + "type": "string", + "description": "Endpoint from which the build logs can be streamed.", + "readOnly": true + } + }, + "description": "The ContainerAppBuild properties." + }, + "ContainerAppsBuildResource": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ContainerAppsBuildProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true, + "x-ms-mutability": [ + "read" + ] + } + }, + "description": "Information pertaining to an individual build.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "ContainerAppsBuildCollection": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAppsBuildResource" + }, + "description": "The Container Apps Build Resource items on this page" + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "description": "The response of a Container Apps Build Resource list operation.", + "required": [ + "value" + ] + }, + "BuildStatus": { + "type": "string", + "description": "Status of the build once it has been provisioned.", + "enum": [ + "NotStarted", + "InProgress", + "Succeeded", + "Canceled", + "Failed" + ], + "x-ms-enum": { + "name": "BuildStatus", + "modelAsString": true + }, + "readOnly": true + }, + "BuildProvisioningState": { + "type": "string", + "description": "Resource instance provisioning state.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Creating", + "Updating", + "Deleting" + ], + "x-ms-enum": { + "name": "BuildProvisioningState", + "modelAsString": true + }, + "readOnly": true + } + }, + "parameters": { + "ContainerAppsBuildNameParameter": { + "name": "buildName", + "in": "path", + "required": true, + "description": "The name of a build.", + "minLength": 2, + "maxLength": 64, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method" + }, + "ContainerAppsNameParameter": { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App the Build is associated.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ContainerAppsPatches.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ContainerAppsPatches.json new file mode 100644 index 000000000000..08b9440c444d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ContainerAppsPatches.json @@ -0,0 +1,555 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerApps API Client", + "version": "2024-02-02-preview" + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/patches": { + "get": { + "tags": [ + "ContainerAppsPatches" + ], + "operationId": "ContainerAppsPatches_ListByContainerApp", + "description": "List Container Apps Patch resources by ContainerApp.", + "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/ContainerAppsNameParameter" + }, + { + "name": "$filter", + "in": "query", + "description": "The filter to apply on the operation. For example, $filter=properties/patchApplyStatus eq 'Succeeded'", + "required": false, + "type": "string" + } + ], + "responses": { + "200": { + "description": "ARM operation completed successfully.", + "schema": { + "$ref": "#/definitions/PatchCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "ContainerAppsPatches_ListByContainerApp_0": { + "$ref": "./examples/ContainerAppsPatches_ListByContainerApp.json" + } + }, + "x-ms-odata": "#/definitions/ContainerAppsContainerAppsPatchResource" + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/patches/{patchName}": { + "get": { + "tags": [ + "ContainerAppsPatches" + ], + "operationId": "ContainerAppsPatches_Get", + "description": "Get details for specific Container Apps Patch by patch name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerAppsNameParameter" + }, + { + "$ref": "#/parameters/ContainerAppsPatchNameParameter" + } + ], + "responses": { + "200": { + "description": "Patch information retrieved successfully.", + "schema": { + "$ref": "#/definitions/ContainerAppsPatchResource" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ContainerAppsPatches_Get_0": { + "$ref": "./examples/ContainerAppsPatches_Get.json" + } + } + }, + "delete": { + "tags": [ + "ContainerAppsPatches" + ], + "operationId": "ContainerAppsPatches_Delete", + "description": "Delete specific Container Apps Patch by patch name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerAppsNameParameter" + }, + { + "$ref": "#/parameters/ContainerAppsPatchNameParameter" + } + ], + "responses": { + "202": { + "description": "Patch deletion has been started.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Patch does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ContainerAppsPatches_Delete_0": { + "$ref": "./examples/ContainerAppsPatches_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/patches/{patchName}/skipConfig": { + "post": { + "tags": [ + "ContainerAppsPatches" + ], + "operationId": "ContainerAppsPatches_SkipConfigure", + "description": "Configure the Container Apps Patch skip option by patch name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerAppsNameParameter" + }, + { + "$ref": "#/parameters/ContainerAppsPatchNameParameter" + }, + { + "name": "patchSkipConfig", + "in": "body", + "required": true, + "description": "Configure patcher to skip a patch or not.", + "schema": { + "$ref": "#/definitions/PatchSkipConfig" + } + } + ], + "responses": { + "202": { + "description": "Updating patch skipping detail. Updating status tracked by location header.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ContainerAppsPatches_Skip_Configure_0": { + "$ref": "./examples/ContainerAppsPatches_Skip_Configure.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/patches/{patchName}/apply": { + "post": { + "tags": [ + "ContainerAppsPatches" + ], + "operationId": "ContainerAppsPatches_Apply", + "description": "Apply a Container Apps Patch resource with patch name.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerAppsNameParameter" + }, + { + "$ref": "#/parameters/ContainerAppsPatchNameParameter" + } + ], + "responses": { + "200": { + "description": "Patching operation completed successfully.", + "schema": { + "$ref": "#/definitions/ContainerAppsPatchResource" + } + }, + "202": { + "description": "Patching operation has been started.", + "headers": { + "Azure-AsyncOperation": { + "type": "string" + }, + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "ContainerAppsPatches_Apply_0": { + "$ref": "./examples/ContainerAppsPatches_Apply.json" + } + } + } + } + }, + "definitions": { + "ContainerAppsPatchResource": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/PatchProperties", + "description": "Properties that describes current states of the patch resource.", + "x-ms-mutability": [ + "read", + "update" + ] + } + }, + "description": "Container App Patch", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "PatchApplyStatus": { + "type": "string", + "description": "The status of the patch once it has been provisioned", + "enum": [ + "NotStarted", + "RebaseInProgress", + "CreatingRevision", + "Succeeded", + "Canceled", + "RebaseFailed", + "RevisionCreationFailed", + "ImagePushPullFailed", + "ManuallySkipped" + ], + "x-ms-enum": { + "name": "PatchApplyStatus", + "modelAsString": true + }, + "readOnly": true + }, + "DetectionStatus": { + "type": "string", + "description": "The status of the patch detection.", + "enum": [ + "Succeeded", + "RegistryLoginFailed", + "Failed" + ], + "x-ms-enum": { + "name": "DetectionStatus", + "modelAsString": true + }, + "readOnly": true + }, + "PatchDetails": { + "description": "The detailed info of patch operation performing when applying a patch.", + "type": "object", + "required": [ + "targetContainerName", + "targetImage", + "lastDetectionTime", + "detectionStatus" + ], + "properties": { + "targetContainerName": { + "type": "string", + "description": "The name of the target container for the patch.", + "readOnly": true + }, + "targetImage": { + "type": "string", + "description": "The name of the target image for the patch.", + "readOnly": true + }, + "lastDetectionTime": { + "type": "string", + "format": "date-time", + "description": "The UTC timestamp that describes the latest detection was done.", + "readOnly": true + }, + "detectionStatus": { + "$ref": "#/definitions/DetectionStatus", + "description": "The status of the patch detection.", + "readOnly": true + }, + "newImageName": { + "type": "string", + "description": "The name of the new image created by the patch.", + "readOnly": true + }, + "newLayer": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The details of the new layer for the target image." + }, + "frameworkAndVersion": { + "type": "string", + "description": "The framework and its version in the new run image for the target image." + }, + "osAndVersion": { + "type": "string", + "description": "The OS name and its version in the new run image for the target image." + } + }, + "description": "New layer update details in the target image.", + "readOnly": true + }, + "oldLayer": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The details of the old layer for the target image." + }, + "frameworkAndVersion": { + "type": "string", + "description": "The framework and its version in the old run image for the target image." + }, + "osAndVersion": { + "type": "string", + "description": "The OS name and its version in the old run image for the target image." + } + }, + "description": "The old layer details in the target image.", + "readOnly": true + }, + "patchType": { + "type": "string", + "description": "The type for the patch.", + "enum": [ + "FrameworkSecurity", + "OSSecurity", + "FrameworkAndOSSecurity", + "Other" + ], + "x-ms-enum": { + "name": "PatchType", + "modelAsString": true + }, + "readOnly": true + } + }, + "readOnly": true + }, + "PatchProperties": { + "description": "Top level properties that describes current states of the patch resource", + "type": "object", + "properties": { + "targetEnvironmentId": { + "format": "arm-id", + "type": "string", + "description": "The Azure resource id of the target environment for the patch." + }, + "targetContainerAppId": { + "format": "arm-id", + "type": "string", + "description": "The Azure resource id of the target container app for the patch." + }, + "targetRevisionId": { + "format": "arm-id", + "type": "string", + "description": "The Azure resource id of the target revision for the patch." + }, + "patchApplyStatus": { + "$ref": "#/definitions/PatchApplyStatus", + "description": "The status of the patch operation.", + "readOnly": true + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The UTC timestamp that describes when the patch object was created.", + "readOnly": true + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The UTC timestamp that describes when the patch object was last updated.", + "readOnly": true + }, + "patchDetails": { + "description": "Detailed info describes the patch operation for the target container app.", + "type": "array", + "items": { + "$ref": "#/definitions/PatchDetails" + }, + "x-ms-identifiers": [], + "readOnly": true + } + }, + "readOnly": true + }, + "PatchCollection": { + "description": "Container App patch collection", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of patch resources.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerAppsPatchResource" + } + }, + "nextLink": { + "description": "the link to the next page of items", + "type": "string", + "format": "uri" + } + } + }, + "PatchSkipConfig": { + "description": "The configuration for patcher to skip a patch or not.", + "type": "object", + "properties": { + "skip": { + "type": "boolean", + "description": "The flag to indicate whether to skip the patch or not." + } + } + } + }, + "parameters": { + "ContainerAppsPatchNameParameter": { + "name": "patchName", + "in": "path", + "required": true, + "description": "The name of the patch", + "minLength": 2, + "maxLength": 64, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method" + }, + "ContainerAppsNameParameter": { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App the Patch is associated.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ContainerAppsRevisions.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ContainerAppsRevisions.json new file mode 100644 index 000000000000..f0340ff91039 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ContainerAppsRevisions.json @@ -0,0 +1,677 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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/v5/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/v5/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/preview/2024-02-02-preview/Diagnostics.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Diagnostics.json new file mode 100644 index 000000000000..ca593975fac6 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Diagnostics.json @@ -0,0 +1,873 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/detectors": { + "get": { + "tags": [ + "Jobs", + "Diagnostics" + ], + "summary": "Get the list of diagnostics for a given Container App Job.", + "description": "Get the list of diagnostics for a Container App Job.", + "operationId": "Jobs_ListDetectors", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./Jobs.json#/parameters/JobNameParameter" + }, + { + "$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 Container App Job": { + "$ref": "./examples/Job_ListDetectors.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/detectors/{detectorName}": { + "get": { + "tags": [ + "Jobs", + "Diagnostics" + ], + "summary": "Get the diagnostics data for a given Container App Job.", + "description": "Get the diagnostics data for a Container App Job.", + "operationId": "Jobs_GetDetector", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./Jobs.json#/parameters/JobNameParameter" + }, + { + "name": "detectorName", + "in": "path", + "description": "Name of the Container App Job detector.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$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 Container App Job": { + "$ref": "./examples/Job_GetDetector.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/jobs/{jobName}/detectorProperties/{apiName}": { + "get": { + "tags": [ + "Jobs", + "Diagnostics" + ], + "summary": "Get the properties for a given Container App Job.", + "description": "Get the properties of a Container App Job.", + "operationId": "Jobs_ProxyGet", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "./Jobs.json#/parameters/JobNameParameter" + }, + { + "name": "apiName", + "in": "path", + "description": "Proxy API Name for Container App Job.", + "required": true, + "enum": [ + "rootApi" + ], + "type": "string", + "pattern": "^[-\\w\\._]+$", + "x-ms-enum": { + "name": "ApiName", + "modelAsString": false + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./Jobs.json#/definitions/Job" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Container App Job by name": { + "$ref": "./examples/Job_ProxyGet.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/v5/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/preview/2024-02-02-preview/DotNetComponents.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/DotNetComponents.json new file mode 100644 index 000000000000..2746b51735ea --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/DotNetComponents.json @@ -0,0 +1,479 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerApps API Client", + "version": "2024-02-02-preview" + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/dotNetComponents": { + "get": { + "tags": [ + "DotNetComponents" + ], + "summary": "Get the .NET Components for a managed environment.", + "operationId": "DotNetComponents_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/DotNetComponentsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List .NET Components": { + "$ref": "./examples/DotNetComponents_List.json" + }, + "List .NET Components with ServiceBinds": { + "$ref": "./examples/DotNetComponents_List_ServiceBind.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/dotNetComponents/{name}": { + "get": { + "tags": [ + "DotNetComponents" + ], + "summary": "Get a .NET Component.", + "operationId": "DotNetComponents_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "in": "path", + "description": "Name of the .NET Component.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DotNetComponent" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get .NET Component": { + "$ref": "./examples/DotNetComponents_Get.json" + }, + "Get .NET Component with ServiceBinds": { + "$ref": "./examples/DotNetComponents_Get_ServiceBind.json" + } + } + }, + "put": { + "tags": [ + "DotNetComponents" + ], + "summary": "Creates or updates a .NET Component.", + "description": "Creates or updates a .NET Component in a Managed Environment.", + "operationId": "DotNetComponents_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "in": "path", + "description": "Name of the .NET Component.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "dotNetComponentEnvelope", + "in": "body", + "description": "Configuration details of the .NET Component.", + "required": true, + "schema": { + "$ref": "#/definitions/DotNetComponent" + } + } + ], + "responses": { + "200": { + "description": "No change performed on the .NET Component.", + "schema": { + "$ref": "#/definitions/DotNetComponent" + } + }, + "201": { + "description": ".NET Component create or update has been started.", + "schema": { + "$ref": "#/definitions/DotNetComponent" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create or Update .NET Component": { + "$ref": "./examples/DotNetComponents_CreateOrUpdate.json" + }, + "Create or Update .NET Component with ServiceBinds": { + "$ref": "./examples/DotNetComponents_CreateOrUpdate_ServiceBind.json" + } + } + }, + "patch": { + "tags": [ + "DotNetComponents" + ], + "summary": "Update properties of a .NET Component", + "description": "Patches a .NET Component using JSON Merge Patch", + "operationId": "DotNetComponents_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "in": "path", + "description": "Name of the .NET Component.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "dotNetComponentEnvelope", + "in": "body", + "description": "Configuration details of the .NET Component.", + "required": true, + "schema": { + "$ref": "#/definitions/DotNetComponent" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/DotNetComponent" + } + }, + "202": { + "description": "Patch operation is in progress.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Patch .NET Component": { + "$ref": "./examples/DotNetComponents_Patch.json" + }, + "Patch .NET Component with ServiceBinds": { + "$ref": "./examples/DotNetComponents_Patch_ServiceBind.json" + } + } + }, + "delete": { + "tags": [ + "DotNetComponents" + ], + "summary": "Delete a .NET Component.", + "description": "Delete a .NET Component.", + "operationId": "DotNetComponents_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "in": "path", + "description": "Name of the .NET Component.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Delete operation is in progress.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": ".NET Component does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete .NET Component": { + "$ref": "./examples/DotNetComponents_Delete.json" + } + } + } + } + }, + "definitions": { + "DotNetComponentConfigurationProperty": { + "description": "Configuration properties for a .NET Component", + "type": "object", + "properties": { + "propertyName": { + "description": "The name of the property", + "type": "string" + }, + "value": { + "description": "The value of the property", + "type": "string" + } + } + }, + "DotNetComponentServiceBind": { + "description": "Configuration to bind a .NET Component to another .NET Component", + "type": "object", + "properties": { + "name": { + "description": "Name of the service bind", + "type": "string" + }, + "serviceId": { + "description": "Resource id of the target service", + "format": "arm-id", + "type": "string" + } + } + }, + "DotNetComponent": { + "description": ".NET Component.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": ".NET Component resource specific properties", + "type": "object", + "properties": { + "componentType": { + "description": "Type of the .NET Component.", + "enum": [ + "AspireDashboard" + ], + "type": "string", + "x-ms-enum": { + "name": "DotNetComponentType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Provisioning state of the .NET Component.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Deleting", + "InProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DotNetComponentProvisioningState", + "modelAsString": true + } + }, + "configurations": { + "description": "List of .NET Components configuration properties", + "type": "array", + "items": { + "$ref": "#/definitions/DotNetComponentConfigurationProperty" + }, + "x-ms-identifiers": [ + "propertyName" + ] + }, + "serviceBinds": { + "description": "List of .NET Components that are bound to the .NET component", + "type": "array", + "items": { + "$ref": "#/definitions/DotNetComponentServiceBind" + }, + "x-ms-identifiers": [ + "name" + ] + } + }, + "x-ms-client-flatten": true + } + } + }, + "DotNetComponentsCollection": { + "description": ".NET Components ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/DotNetComponent" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/FunctionsExtension.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/FunctionsExtension.json new file mode 100644 index 000000000000..7e21e2244647 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/FunctionsExtension.json @@ -0,0 +1,107 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "title": "ContainerApps API Client", + "description": "Functions is an extension resource to revisions and the api listed is used to proxy the call from Web RP to the function app's host process, this api is not exposed to users and only Web RP is allowed to invoke functions extension resource." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/revisions/{revisionName}/providers/Microsoft.App/functions/{functionAppName}/invoke": { + "post": { + "tags": [ + "FunctionsExtension" + ], + "summary": "Proxies a Functions host call to the function app backed by the container app.", + "operationId": "FunctionsExtension_InvokeFunctionsHost", + "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", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "revisionName", + "in": "path", + "description": "Name of the Container App Revision, the parent resource.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "functionAppName", + "in": "path", + "description": "Name of the Function App, the extension resource.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Functions host call response.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Invoke Functions host using Functions Extension API": { + "$ref": "./examples/FunctionsExtension_Post.json" + } + } + } + } + }, + "definitions": { + "FunctionsProxySerializedResponse": { + "type": "string", + "description": "Functions host call response as a serialized string, a common type of string is used as multiple response structures are possible." + } + }, + "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/preview/2024-02-02-preview/Global.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Global.json new file mode 100644 index 000000000000..eafcb049f4be --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Global.json @@ -0,0 +1,140 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/JavaComponents.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/JavaComponents.json new file mode 100644 index 000000000000..fe3b6aa0c386 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/JavaComponents.json @@ -0,0 +1,561 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerApps API Client", + "version": "2024-02-02-preview" + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/javaComponents": { + "get": { + "tags": [ + "JavaComponents" + ], + "summary": "Get the Java Components for a managed environment.", + "operationId": "JavaComponents_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/JavaComponentsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Java Components": { + "$ref": "./examples/JavaComponents_List.json" + }, + "List Java Components with ServiceBinds": { + "$ref": "./examples/JavaComponents_List_ServiceBind.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/javaComponents/{name}": { + "get": { + "tags": [ + "JavaComponents" + ], + "summary": "Get a Java Component.", + "operationId": "JavaComponents_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Java Component.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/JavaComponent" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Java Component": { + "$ref": "./examples/JavaComponents_Get.json" + }, + "Get Java Component with ServiceBinds": { + "$ref": "./examples/JavaComponents_Get_ServiceBind.json" + } + } + }, + "put": { + "tags": [ + "JavaComponents" + ], + "summary": "Creates or updates a Java Component.", + "description": "Creates or updates a Java Component in a Managed Environment.", + "operationId": "JavaComponents_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Java Component.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "javaComponentEnvelope", + "in": "body", + "description": "Configuration details of the Java Component.", + "required": true, + "schema": { + "$ref": "#/definitions/JavaComponent" + } + } + ], + "responses": { + "200": { + "description": "No change performed on the Java Component.", + "schema": { + "$ref": "#/definitions/JavaComponent" + } + }, + "201": { + "description": "Java Component create or update has been started.", + "schema": { + "$ref": "#/definitions/JavaComponent" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create or Update Java Component": { + "$ref": "./examples/JavaComponents_CreateOrUpdate.json" + }, + "Create or Update Java Component with ServiceBinds": { + "$ref": "./examples/JavaComponents_CreateOrUpdate_ServiceBind.json" + } + } + }, + "patch": { + "tags": [ + "JavaComponents" + ], + "summary": "Update properties of a Java Component", + "description": "Patches a Java Component using JSON Merge Patch", + "operationId": "JavaComponents_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Java Component.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "javaComponentEnvelope", + "in": "body", + "description": "Configuration details of the Java Component.", + "required": true, + "schema": { + "$ref": "#/definitions/JavaComponent" + } + } + ], + "responses": { + "200": { + "description": "Ok", + "schema": { + "$ref": "#/definitions/JavaComponent" + } + }, + "202": { + "description": "Patch operation is in progress.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Patch Java Component": { + "$ref": "./examples/JavaComponents_Patch.json" + }, + "Patch Java Component with ServiceBinds": { + "$ref": "./examples/JavaComponents_Patch_ServiceBind.json" + } + } + }, + "delete": { + "tags": [ + "JavaComponents" + ], + "summary": "Delete a Java Component.", + "description": "Delete a Java Component.", + "operationId": "JavaComponents_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Java Component.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Delete operation is in progress.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Java Component does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete Java Component": { + "$ref": "./examples/JavaComponents_Delete.json" + } + } + } + } + }, + "definitions": { + "JavaComponentConfigurationProperty": { + "description": "Configuration properties for a Java Component", + "type": "object", + "properties": { + "propertyName": { + "description": "The name of the property", + "type": "string" + }, + "value": { + "description": "The value of the property", + "type": "string" + } + } + }, + "JavaComponentServiceBind": { + "description": "Configuration to bind a Java Component to another Java Component", + "type": "object", + "properties": { + "name": { + "description": "Name of the service bind", + "type": "string" + }, + "serviceId": { + "description": "Resource id of the target service", + "format": "arm-id", + "type": "string" + } + } + }, + "JavaComponent": { + "description": "Java Component.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Java Component resource specific properties", + "type": "object", + "$ref": "#/definitions/JavaComponentProperties" + } + } + }, + "JavaComponentProperties": { + "description": "Java Component common properties.", + "type": "object", + "required": [ + "componentType" + ], + "properties": { + "componentType": { + "description": "Type of the Java Component.", + "enum": [ + "SpringBootAdmin", + "SpringCloudEureka", + "SpringCloudConfig", + "Nacos" + ], + "type": "string", + "x-ms-enum": { + "name": "JavaComponentType", + "modelAsString": true + } + }, + "provisioningState": { + "description": "Provisioning state of the Java Component.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Deleting", + "InProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "JavaComponentProvisioningState", + "modelAsString": true + } + }, + "configurations": { + "description": "List of Java Components configuration properties", + "type": "array", + "items": { + "$ref": "#/definitions/JavaComponentConfigurationProperty" + }, + "x-ms-identifiers": [ + "propertyName" + ] + }, + "serviceBinds": { + "description": "List of Java Components that are bound to the Java component", + "type": "array", + "items": { + "$ref": "#/definitions/JavaComponentServiceBind" + }, + "x-ms-identifiers": [ + "name" + ] + } + }, + "x-ms-client-flatten": true, + "discriminator": "componentType" + }, + "JavaComponentIngress": { + "description": "Container App Ingress configuration.", + "type": "object", + "properties": { + "fqdn": { + "description": "Hostname of the Java Component endpoint", + "type": "string", + "readOnly": true + } + } + }, + "SpringBootAdminComponent": { + "description": "Spring Boot Admin properties.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JavaComponentProperties" + } + ], + "properties": { + "ingress": { + "$ref": "#/definitions/JavaComponentIngress", + "description": "Java Component Ingress configurations." + } + }, + "x-ms-discriminator-value": "SpringBootAdmin" + }, + "NacosComponent": { + "description": "Nacos properties.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JavaComponentProperties" + } + ], + "properties": { + "ingress": { + "$ref": "#/definitions/JavaComponentIngress", + "description": "Java Component Ingress configurations." + } + }, + "x-ms-discriminator-value": "Nacos" + }, + "SpringCloudEurekaComponent": { + "description": "Spring Cloud Eureka properties.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JavaComponentProperties" + } + ], + "properties": { + "ingress": { + "$ref": "#/definitions/JavaComponentIngress", + "description": "Java Component Ingress configurations." + } + }, + "x-ms-discriminator-value": "SpringCloudEureka" + }, + "SpringCloudConfigComponent": { + "description": "Spring Cloud Config properties.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/JavaComponentProperties" + } + ], + "properties": {}, + "x-ms-discriminator-value": "SpringCloudConfig" + }, + "JavaComponentsCollection": { + "description": "Java Components ARM resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/JavaComponent" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Jobs.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Jobs.json new file mode 100644 index 000000000000..436805be7ced --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Jobs.json @@ -0,0 +1,1285 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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" + }, + "Create or Update Container Apps Job On A Connected Environment": { + "$ref": "./examples/Job_CreateorUpdate_ConnectedEnvironment.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" + ] + }, + "identitySettings": { + "description": "Optional settings for Managed Identities that are assigned to the Container App Job. If a Managed Identity is not specified here, default settings will be used.", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/IdentitySettings" + }, + "x-ms-identifiers": [ + "identity" + ] + } + } + }, + "Job": { + "type": "object", + "description": "Container App Job", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "extendedLocation": { + "$ref": "./CommonDefinitions.json#/definitions/ExtendedLocation" + }, + "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": { + "extendedLocation": { + "$ref": "./CommonDefinitions.json#/definitions/ExtendedLocation" + }, + "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" + } + }, + "identity": { + "description": "The resource ID of a user-assigned managed identity that is assigned to the job, or 'system' for system-assigned identity.", + "type": "string" + } + } + }, + "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 execution type", + "type": "string" + }, + "properties": { + "description": "Container Apps Job execution specific properties.", + "type": "object", + "properties": { + "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" + }, + "detailedStatus": { + "description": "Detailed status of the job execution.", + "$ref": "#/definitions/ExecutionStatus" + } + }, + "x-ms-client-flatten": true + } + } + }, + "ExecutionStatus": { + "description": "Container Apps Job execution status.", + "type": "object", + "properties": { + "replicas": { + "description": "Replicas in the execution.", + "type": "array", + "items": { + "$ref": "#/definitions/ReplicaExecutionStatus" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ReplicaExecutionStatus": { + "description": "Container Apps Job execution replica status.", + "type": "object", + "properties": { + "name": { + "description": "Replica Name.", + "type": "string" + }, + "containers": { + "description": "Containers in the execution replica", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerExecutionStatus" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ContainerExecutionStatus": { + "description": "Container Apps Job execution container status. Contains status code and reason", + "type": "object", + "properties": { + "name": { + "description": "Container Name.", + "type": "string" + }, + "code": { + "description": "Exit code", + "type": "integer", + "format": "int32" + }, + "additionalInformation": { + "description": "Additional information for the container status", + "type": "string" + }, + "status": { + "description": "Status of the container", + "type": "string" + } + } + }, + "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/preview/2024-02-02-preview/LogicAppsExtension.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/LogicAppsExtension.json new file mode 100644 index 000000000000..a47c30b68340 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/LogicAppsExtension.json @@ -0,0 +1,750 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "title": "ContainerApps API Client", + "description": "Logic app is an extension resource on container app and the extension resource enables logic specific operations on the container app through the APIs listed." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/providers/Microsoft.App/logicApps/{logicAppName}": { + "get": { + "tags": [ + "LogicApps" + ], + "summary": "Gets a logic app extension resource.", + "operationId": "LogicApps_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "logicAppName", + "in": "path", + "description": "Name of the Logic App, the extension resource.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LogicApp" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get logic app extension by name ": { + "$ref": "./examples/LogicApps_Get.json" + } + } + }, + "put": { + "operationId": "LogicApps_CreateOrUpdate", + "tags": [ + "LogicApps" + ], + "description": "Create or update a Logic App extension resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "logicAppName", + "in": "path", + "description": "Name of the Logic App, the extension resource.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "resource", + "in": "body", + "description": "Logic app resource properties.", + "required": true, + "schema": { + "$ref": "#/definitions/LogicApp" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/LogicApp" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/LogicApp" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create logic app extension": { + "$ref": "./examples/LogicApps_Create.json" + } + } + }, + "delete": { + "operationId": "LogicApps_Delete", + "tags": [ + "LogicApps" + ], + "description": "Deletes a Logic App extension resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "logicAppName", + "in": "path", + "description": "Name of the Logic App, the extension resource.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "204": { + "description": "Extension resource does not exist" + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Create logic app extension": { + "$ref": "./examples/LogicApps_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/providers/Microsoft.App/logicApps/{logicAppName}/workflows": { + "get": { + "tags": [ + "LogicApps" + ], + "summary": "List the workflows for a logic app.", + "operationId": "LogicApps_ListWorkflows", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "logicAppName", + "in": "path", + "description": "Name of the Logic App, the extension resource.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Workflow information returned.", + "schema": { + "$ref": "#/definitions/WorkflowEnvelopeCollection" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List the workflows": { + "$ref": "./examples/LogicApps_ListWorkflows.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/providers/Microsoft.App/logicApps/{logicAppName}/workflows/{workflowName}": { + "get": { + "tags": [ + "LogicApps" + ], + "summary": "Get workflow information by its name", + "operationId": "LogicApps_GetWorkflow", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "logicAppName", + "in": "path", + "description": "Name of the Logic App, the extension resource.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "workflowName", + "in": "path", + "description": "Workflow name.", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63 + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Workflow information returned.", + "schema": { + "$ref": "#/definitions/WorkflowEnvelope" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "GET a workflow": { + "$ref": "./examples/LogicApps_GetWorkflow.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/providers/Microsoft.App/logicApps/{logicAppName}/deployWorkflowArtifacts": { + "post": { + "tags": [ + "LogicApps" + ], + "description": "Creates or updates the artifacts for the logic app", + "operationId": "LogicApps_DeployWorkflowArtifacts", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "logicAppName", + "in": "path", + "description": "Name of the Logic App, the extension resource.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "workflowArtifacts", + "in": "body", + "description": "Application settings and files of the workflow.", + "required": false, + "x-ms-secret": true, + "schema": { + "$ref": "#/definitions/WorkflowArtifacts" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Artifacts deployed." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Deploys workflow artifacts": { + "$ref": "./examples/LogicApps_PostDeployWorkflowArtifacts.json" + }, + "Delete workflow artifacts": { + "$ref": "./examples/LogicApps_DeleteDeployWorkflowArtifacts.json" + } + }, + "x-ms-long-running-operation": false + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/providers/Microsoft.App/logicApps/{logicAppName}/listWorkflowsConnections": { + "post": { + "tags": [ + "LogicApps" + ], + "summary": "Gets logic app's connections.", + "operationId": "LogicApps_ListWorkflowsConnections", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "logicAppName", + "in": "path", + "description": "Name of the Logic App, the extension resource.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Connections information returned.", + "schema": { + "$ref": "#/definitions/WorkflowEnvelope" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List the Workflows Configuration Connections": { + "$ref": "./examples/LogicApps_ListConnections.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/containerApps/{containerAppName}/providers/Microsoft.App/logicApps/{logicAppName}/invoke": { + "post": { + "tags": [ + "LogicApps" + ], + "summary": "Proxies a the API call to the logic app backed by the container app.", + "operationId": "LogicApps_Invoke", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "containerAppName", + "in": "path", + "description": "Name of the Container App.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "logicAppName", + "in": "path", + "description": "Name of the LogicApp App, the extension resource.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "x-ms-logicApps-proxy-path", + "in": "header", + "description": "The proxy path for the API call", + "required": true, + "type": "string" + }, + { + "name": "x-ms-logicApps-proxy-method", + "in": "header", + "description": "The proxy method for the API call", + "required": true, + "type": "string", + "enum": [ + "GET", + "POST" + ], + "x-ms-enum": { + "name": "LogicAppsProxyMethod", + "modelAsString": true + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Logic App call response.", + "schema": { + "$ref": "#/definitions/Object" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get workflow list call back URL": { + "$ref": "./examples/LogicApps_ListCallbackURL.json" + } + } + } + } + }, + "definitions": { + "LogicApp": { + "type": "object", + "description": "A logic app extension resource", + "properties": { + "properties": { + "$ref": "#/definitions/LogicAppProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "LogicAppProperties": { + "type": "object", + "description": "The properties of logic apps extension." + }, + "WorkflowEnvelope": { + "description": "Workflow properties definition.", + "type": "object", + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The resource id." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "Gets the resource name." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Gets the resource type." + }, + "kind": { + "type": "string", + "description": "The resource kind." + }, + "location": { + "type": "string", + "description": "The resource location.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "properties": { + "description": "Additional workflow properties.", + "type": "object", + "properties": { + "files": { + "description": "Gets or sets the files.", + "$ref": "#/definitions/WorkflowFiles" + }, + "flowState": { + "description": "Gets or sets the state of the workflow.", + "$ref": "#/definitions/WorkflowState" + }, + "health": { + "$ref": "#/definitions/WorkflowHealth", + "description": "Gets or sets workflow health." + } + } + } + } + }, + "WorkflowEnvelopeCollection": { + "description": "Collection of workflow information elements.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/WorkflowEnvelope" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + }, + "WorkflowFiles": { + "description": "Gets or sets the files.", + "type": "object" + }, + "WorkflowHealth": { + "description": "Represents the workflow health.", + "required": [ + "state" + ], + "type": "object", + "properties": { + "state": { + "description": "Gets or sets the workflow health state.", + "enum": [ + "NotSpecified", + "Healthy", + "Unhealthy", + "Unknown" + ], + "type": "string", + "x-ms-enum": { + "name": "WorkflowHealthState", + "modelAsString": false + } + }, + "error": { + "$ref": "#/definitions/ErrorEntity", + "description": "Gets or sets the workflow error." + } + } + }, + "WorkflowState": { + "type": "string", + "description": "The workflow state.", + "enum": [ + "NotSpecified", + "Completed", + "Enabled", + "Disabled", + "Deleted", + "Suspended" + ], + "x-ms-enum": { + "name": "WorkflowState", + "modelAsString": true + } + }, + "WorkflowArtifacts": { + "type": "object", + "properties": { + "appSettings": { + "$ref": "#/definitions/Object", + "description": "Application settings of the workflow." + }, + "files": { + "$ref": "#/definitions/WorkflowFiles", + "description": "Files of the app." + }, + "filesToDelete": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Files of the app to delete." + } + }, + "description": "The workflow filter." + }, + "Object": { + "type": "object", + "properties": {} + }, + "ErrorEntity": { + "description": "Body of the error response returned from the API.", + "type": "object", + "properties": { + "extendedCode": { + "description": "Type of error.", + "type": "string" + }, + "messageTemplate": { + "description": "Message template.", + "type": "string" + }, + "parameters": { + "description": "Parameters for the template.", + "type": "array", + "items": { + "type": "string" + } + }, + "innerErrors": { + "description": "Inner errors.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorEntity" + }, + "x-ms-identifiers": [] + }, + "details": { + "description": "Error Details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorEntity" + }, + "x-ms-identifiers": [] + }, + "target": { + "description": "The error target.", + "type": "string" + }, + "code": { + "description": "Basic error code.", + "type": "string" + }, + "message": { + "description": "Any details of the error.", + "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/preview/2024-02-02-preview/ManagedEnvironments.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ManagedEnvironments.json new file mode 100644 index 000000000000..50b8ed1122ef --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ManagedEnvironments.json @@ -0,0 +1,1915 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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" + }, + "Create or Update Certificate using Managed Identity": { + "$ref": "./examples/Certificate_CreateOrUpdate_FromKeyVault.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" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/privateEndpointConnections": { + "get": { + "tags": [ + "ManagedEnvironments", + "PrivateEndpointConnections" + ], + "summary": "List private endpoint connections for a given managed environment.", + "operationId": "ManagedEnvironmentPrivateEndpointConnections_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Private Endpoint Connections by Managed Environment": { + "$ref": "./examples/ManagedEnvironmentPrivateEndpointConnections_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "ManagedEnvironments", + "PrivateEndpointConnections" + ], + "summary": "Get a private endpoint connection for a given managed environment.", + "operationId": "ManagedEnvironmentPrivateEndpointConnections_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Private Endpoint Connection by Managed Environment": { + "$ref": "./examples/ManagedEnvironmentPrivateEndpointConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "ManagedEnvironments", + "PrivateEndpointConnections" + ], + "summary": "Update the state of a private endpoint connection for a given managed environment.", + "operationId": "ManagedEnvironmentPrivateEndpointConnections_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "privateEndpointConnectionEnvelope", + "in": "body", + "description": "The resource of private endpoint and its properties", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a Private Endpoint Connection by Managed Environment": { + "$ref": "./examples/ManagedEnvironmentPrivateEndpointConnections_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "ManagedEnvironments", + "PrivateEndpointConnections" + ], + "summary": "Delete a private endpoint connection for a given managed environment.", + "operationId": "ManagedEnvironmentPrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "No content. Already deleted." + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Private Endpoint Connection by Managed Environment": { + "$ref": "./examples/ManagedEnvironmentPrivateEndpointConnections_Delete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/privateLinkResources": { + "get": { + "tags": [ + "ManagedEnvironments", + "PrivateLinkResources" + ], + "summary": "List private link resources for a given managed environment.", + "operationId": "ManagedEnvironmentPrivateLinkResources_List", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "environmentName", + "in": "path", + "description": "Name of the Managed Environment.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Private Link Resources by Managed Environment": { + "$ref": "./examples/ManagedEnvironmentPrivateLinkResources_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "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" + } + } + }, + "AppInsightsConfiguration": { + "description": "Configuration of Application Insights ", + "type": "object", + "properties": { + "connectionString": { + "description": "Application Insights connection string", + "type": "string", + "x-ms-secret": true + } + } + }, + "OpenTelemetryConfiguration": { + "description": "Configuration of Open Telemetry", + "type": "object", + "properties": { + "destinationsConfiguration": { + "description": "Open telemetry destinations configuration", + "$ref": "#/definitions/DestinationsConfiguration" + }, + "tracesConfiguration": { + "description": "Open telemetry trace configuration", + "$ref": "#/definitions/TracesConfiguration" + }, + "logsConfiguration": { + "description": "Open telemetry logs configuration", + "$ref": "#/definitions/LogsConfiguration" + }, + "metricsConfiguration": { + "description": "Open telemetry metrics configuration", + "$ref": "#/definitions/MetricsConfiguration" + } + } + }, + "DestinationsConfiguration": { + "description": "Configuration of Open Telemetry destinations", + "type": "object", + "properties": { + "dataDogConfiguration": { + "description": "Open telemetry datadog destination configuration", + "$ref": "#/definitions/DataDogConfiguration" + }, + "otlpConfigurations": { + "description": "Open telemetry otlp configurations", + "type": "array", + "items": { + "$ref": "#/definitions/OtlpConfiguration" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "DataDogConfiguration": { + "description": "Configuration of datadog ", + "type": "object", + "properties": { + "site": { + "description": "The data dog site", + "type": "string" + }, + "key": { + "description": "The data dog api key", + "type": "string", + "x-ms-secret": true + } + } + }, + "OtlpConfiguration": { + "description": "Configuration of otlp ", + "type": "object", + "properties": { + "name": { + "description": "The name of otlp configuration", + "type": "string" + }, + "endpoint": { + "description": "The endpoint of otlp configuration", + "type": "string" + }, + "insecure": { + "description": "Boolean indicating if otlp configuration is insecure", + "type": "boolean" + }, + "headers": { + "description": "Headers of otlp configurations", + "type": "array", + "items": { + "$ref": "#/definitions/Header" + }, + "x-ms-identifiers": [ + "key" + ] + } + } + }, + "Header": { + "description": "Header of otlp configuration", + "type": "object", + "properties": { + "key": { + "description": "The key of otlp configuration header", + "type": "string" + }, + "value": { + "description": "The value of otlp configuration header", + "type": "string" + } + } + }, + "TracesConfiguration": { + "description": "Configuration of Open Telemetry traces", + "type": "object", + "properties": { + "destinations": { + "description": "Open telemetry traces destinations", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "LogsConfiguration": { + "description": "Configuration of Open Telemetry logs", + "type": "object", + "properties": { + "destinations": { + "description": "Open telemetry logs destinations", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "MetricsConfiguration": { + "description": "Configuration of Open Telemetry metrics", + "type": "object", + "properties": { + "destinations": { + "description": "Open telemetry metrics destinations", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "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/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "kind": { + "type": "string", + "description": "Kind of the Environment." + }, + "identity": { + "description": "Managed identities for the Managed Environment to interact with other Azure services without maintaining any secrets or credentials in code.", + "$ref": "../../../../../common-types/resource-management/v3/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "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" + }, + "appInsightsConfiguration": { + "$ref": "#/definitions/AppInsightsConfiguration", + "description": "Environment level Application Insights configuration" + }, + "openTelemetryConfiguration": { + "$ref": "#/definitions/OpenTelemetryConfiguration", + "description": "Environment Open Telemetry configuration" + }, + "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" + } + } + }, + "peerTrafficConfiguration": { + "description": "Peer traffic settings for the Managed Environment", + "type": "object", + "properties": { + "encryption": { + "description": "Peer traffic encryption settings for the Managed Environment", + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Boolean indicating whether the peer traffic encryption is enabled" + } + } + } + } + }, + "privateEndpointConnections": { + "description": "Private endpoint connections to the resource.", + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/PrivateEndpointConnection" + }, + "readOnly": true + }, + "publicNetworkAccess": { + "enum": [ + "Enabled", + "Disabled" + ], + "description": "Property to allow or block all public traffic. Allowed Values: 'Enabled', 'Disabled'.", + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + } + }, + "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 + }, + "dynamicJsonColumns": { + "description": "Boolean indicating whether to parse json string log into dynamic json columns", + "type": "boolean" + } + } + }, + "EnvironmentAuthToken": { + "description": "Environment Auth Token.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/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/v5/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/preview/2024-02-02-preview/ManagedEnvironmentsDaprComponentResiliencyPolicies.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ManagedEnvironmentsDaprComponentResiliencyPolicies.json new file mode 100644 index 000000000000..a09de762ccad --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ManagedEnvironmentsDaprComponentResiliencyPolicies.json @@ -0,0 +1,302 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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/{componentName}/resiliencyPolicies": { + "get": { + "tags": [ + "DaprComponentResiliencyPolicies" + ], + "summary": "Get the resiliency policies for a Dapr component.", + "operationId": "DaprComponentResiliencyPolicies_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", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "componentName", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprComponentResiliencyPoliciesCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Dapr component resiliency policies": { + "$ref": "./examples/DaprComponentResiliencyPolicies_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprComponents/{componentName}/resiliencyPolicies/{name}": { + "get": { + "tags": [ + "DaprComponentResiliencyPolicies" + ], + "summary": "Get a Dapr component resiliency policy.", + "operationId": "DaprComponentResiliencyPolicies_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", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "componentName", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Dapr Component Resiliency Policy.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprComponentResiliencyPolicy" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Dapr component resiliency policy": { + "$ref": "./examples/DaprComponentResiliencyPolicies_Get.json" + } + } + }, + "put": { + "tags": [ + "DaprComponentResiliencyPolicies" + ], + "summary": "Creates or updates a Dapr component resiliency policy.", + "description": "Creates or updates a resiliency policy for a Dapr component.", + "operationId": "DaprComponentResiliencyPolicies_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", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "componentName", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Dapr Component Resiliency Policy.", + "required": true, + "type": "string" + }, + { + "name": "daprComponentResiliencyPolicyEnvelope", + "in": "body", + "description": "Configuration details of the Dapr Component Resiliency Policy.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprComponentResiliencyPolicy" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprComponentResiliencyPolicy" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprComponentResiliencyPolicy" + } + }, + "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 resiliency policy with all options": { + "$ref": "./examples/DaprComponentResiliencyPolicy_CreateOrUpdate_AllOptions.json" + }, + "Create or update dapr component resiliency policy with outbound policy only": { + "$ref": "./examples/DaprComponentResiliencyPolicy_CreateOrUpdate_OutboundOnly.json" + }, + "Create or update dapr component resiliency policy with sparse options": { + "$ref": "./examples/DaprComponentResiliencyPolicy_CreateOrUpdate_SparseOptions.json" + } + } + }, + "delete": { + "tags": [ + "DaprComponentResiliencyPolicies" + ], + "summary": "Delete a Dapr component resiliency policy.", + "description": "Delete a resiliency policy for a Dapr component.", + "operationId": "DaprComponentResiliencyPolicies_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", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "componentName", + "in": "path", + "description": "Name of the Dapr Component.", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Dapr Component Resiliency Policy.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete operation completed" + }, + "204": { + "description": "Dapr component does not exist" + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete dapr component resiliency policy": { + "$ref": "./examples/DaprComponentResiliencyPolicies_Delete.json" + } + }, + "x-ms-long-running-operation": false + } + } + }, + "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/preview/2024-02-02-preview/ManagedEnvironmentsDaprComponents.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ManagedEnvironmentsDaprComponents.json new file mode 100644 index 000000000000..5c46c3838bcd --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ManagedEnvironmentsDaprComponents.json @@ -0,0 +1,313 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/ManagedEnvironmentsDaprSubscriptions.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ManagedEnvironmentsDaprSubscriptions.json new file mode 100644 index 000000000000..c338438c86f6 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ManagedEnvironmentsDaprSubscriptions.json @@ -0,0 +1,276 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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}/daprSubscriptions": { + "get": { + "tags": [ + "DaprSubscriptions" + ], + "summary": "Get the Dapr subscriptions for a managed environment.", + "operationId": "DaprSubscriptions_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", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprSubscriptionsCollection" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Dapr subscriptions": { + "$ref": "./examples/DaprSubscriptions_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/daprSubscriptions/{name}": { + "get": { + "tags": [ + "DaprSubscriptions" + ], + "summary": "Get a dapr subscription.", + "operationId": "DaprSubscriptions_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", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Dapr subscription.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprSubscription" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Dapr subscription with default route only": { + "$ref": "./examples/DaprSubscriptions_Get_BulkSubscribeAndScopes.json" + }, + "Get Dapr subscription with bulk subscribe configuration and scopes": { + "$ref": "./examples/DaprSubscriptions_Get_DefaultRoute.json" + }, + "GetDapr subscription with route rules and metadata": { + "$ref": "./examples/DaprSubscriptions_Get_RouteRulesAndMetadata.json" + } + } + }, + "put": { + "tags": [ + "DaprSubscriptions" + ], + "summary": "Creates or updates a Dapr subscription.", + "description": "Creates or updates a Dapr subscription in a Managed Environment.", + "operationId": "DaprSubscriptions_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", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Dapr subscription.", + "required": true, + "type": "string" + }, + { + "name": "daprSubscriptionEnvelope", + "in": "body", + "description": "Configuration details of the Dapr subscription.", + "required": true, + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprSubscription" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprSubscription" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DaprSubscription" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": false, + "x-ms-examples": { + "Create or update dapr subscription with default route only": { + "$ref": "./examples/DaprSubscriptions_CreateOrUpdate_DefaultRoute.json" + }, + "Create or update dapr subscription with bulk subscribe configuration and scopes": { + "$ref": "./examples/DaprSubscriptions_CreateOrUpdate_BulkSubscribeAndScopes.json" + }, + "Create or update dapr subscription with route rules and metadata": { + "$ref": "./examples/DaprSubscriptions_CreateOrUpdate_RouteRulesAndMetadata.json" + } + } + }, + "delete": { + "tags": [ + "DaprSubscriptions" + ], + "summary": "Delete a Dapr subscription.", + "description": "Delete a Dapr subscription from a Managed Environment.", + "operationId": "DaprSubscriptions_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", + "pattern": "^[-\\w\\._\\(\\)]+$" + }, + { + "name": "name", + "in": "path", + "description": "Name of the Dapr subscription.", + "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 subscription": { + "$ref": "./examples/DaprSubscriptions_Delete.json" + } + }, + "x-ms-long-running-operation": false + } + } + }, + "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/preview/2024-02-02-preview/ManagedEnvironmentsStorages.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ManagedEnvironmentsStorages.json new file mode 100644 index 000000000000..60e901e86b83 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/ManagedEnvironmentsStorages.json @@ -0,0 +1,300 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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": { + "$ref": "./examples/ManagedEnvironmentsStorages_Get.json" + }, + "get a environments storage for NFS Azure file": { + "$ref": "./examples/ManagedEnvironmentsStorages_Get_NfsAzureFile.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" + }, + "Create or update environments storage for NFS Azure file": { + "$ref": "./examples/ManagedEnvironmentsStorages_CreateOrUpdate_NfsAzureFile.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/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Storage properties", + "type": "object", + "properties": { + "azureFile": { + "$ref": "./CommonDefinitions.json#/definitions/AzureFileProperties", + "description": "Azure file properties" + }, + "nfsAzureFile": { + "$ref": "./CommonDefinitions.json#/definitions/NfsAzureFileProperties", + "description": "NFS 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/preview/2024-02-02-preview/SessionPools.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/SessionPools.json new file mode 100644 index 000000000000..03349d08a356 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/SessionPools.json @@ -0,0 +1,703 @@ +{ + "swagger": "2.0", + "info": { + "title": "ContainerApps API Client", + "version": "2024-02-02-preview" + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "parameters": { + "SessionPoolNameParameter": { + "name": "sessionPoolName", + "in": "path", + "description": "Name of the session pool.", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "minLength": 3, + "maxLength": 63 + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.App/sessionPools": { + "get": { + "tags": [ + "ContainerAppsSessionPools" + ], + "summary": "Get the session pools in a given subscription.", + "operationId": "ContainerAppsSessionPools_ListBySubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SessionPoolCollection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Session Pools by subscription": { + "$ref": "./examples/SessionPools_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/sessionPools": { + "get": { + "tags": [ + "ContainerAppsSessionPools" + ], + "summary": "Get the session pools in a given resource group of a subscription.", + "operationId": "ContainerAppsSessionPools_ListByResourceGroup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SessionPoolCollection" + } + }, + "default": { + "description": "Error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List Session Pools by resource group": { + "$ref": "./examples/SessionPools_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/sessionPools/{sessionPoolName}": { + "get": { + "tags": [ + "ContainerAppsSessionPools" + ], + "summary": "Get the properties of a session pool.", + "operationId": "ContainerAppsSessionPools_Get", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SessionPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK.", + "schema": { + "$ref": "#/definitions/SessionPool" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Session Pool": { + "$ref": "./examples/SessionPools_Get.json" + } + } + }, + "put": { + "tags": [ + "ContainerAppsSessionPools" + ], + "summary": "Create or update a session pool.", + "description": "Create or update a session pool with the given properties.", + "operationId": "ContainerAppsSessionPools_CreateOrUpdate", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SessionPoolNameParameter" + }, + { + "name": "sessionPoolEnvelope", + "in": "body", + "description": "Properties used to create a session pool", + "required": true, + "schema": { + "$ref": "#/definitions/SessionPool" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Update succeeded", + "schema": { + "$ref": "#/definitions/SessionPool" + } + }, + "201": { + "description": "Session pool creation has started.", + "schema": { + "$ref": "#/definitions/SessionPool" + } + }, + "default": { + "description": "Common 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 Session Pool": { + "$ref": "./examples/SessionPools_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "ContainerAppsSessionPools" + ], + "summary": "Update properties of a session pool", + "description": "Patches a session pool using JSON merge patch", + "operationId": "ContainerAppsSessionPools_Update", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SessionPoolNameParameter" + }, + { + "name": "sessionPoolEnvelope", + "in": "body", + "description": "Properties used to create a session pool", + "required": true, + "schema": { + "$ref": "#/definitions/SessionPoolUpdatableProperties" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Update succeeded", + "schema": { + "$ref": "#/definitions/SessionPool" + } + }, + "202": { + "description": "Session pool update has been started.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Common 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": { + "Update Session Pool": { + "$ref": "./examples/SessionPools_Patch.json" + } + } + }, + "delete": { + "tags": [ + "ContainerAppsSessionPools" + ], + "summary": "Delete a session pool.", + "description": "Delete the session pool with the given name.", + "operationId": "ContainerAppsSessionPools_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/SessionPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Session pool delete has been started.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Session pool does not exist." + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete Session Pool": { + "$ref": "./examples/SessionPools_Delete.json" + } + } + } + } + }, + "definitions": { + "ScaleConfiguration": { + "description": "Scale configuration.", + "type": "object", + "properties": { + "maxConcurrentSessions": { + "description": "The maximum count of sessions at the same time.", + "type": "integer", + "format": "int32" + }, + "readySessionInstances": { + "description": "The minimum count of ready session instances.", + "type": "integer", + "format": "int32" + } + } + }, + "SessionPoolSecret": { + "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 + } + } + }, + "DynamicPoolConfiguration": { + "description": "Dynamic pool configuration.", + "type": "object", + "properties": { + "executionType": { + "description": "The execution type of the session pool.", + "enum": [ + "Timed" + ], + "type": "string", + "x-ms-enum": { + "name": "ExecutionType", + "modelAsString": true + } + }, + "cooldownPeriodInSeconds": { + "description": "The cooldown period of a session in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "SessionRegistryCredentials": { + "description": "Session pool private registry credentials.", + "type": "object", + "properties": { + "registryServer": { + "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" + } + } + }, + "SessionContainerResources": { + "description": "Container resource requirements for sessions of the session pool.", + "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" + } + } + }, + "SessionContainer": { + "description": "Container definitions for the sessions of the session pool.", + "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": "#/definitions/SessionContainerResources", + "description": "Container resource requirements." + } + } + }, + "SessionIngress": { + "description": "Session pool ingress configuration.", + "type": "object", + "properties": { + "targetPort": { + "format": "int32", + "description": "Target port in containers for traffic from ingress", + "type": "integer" + } + } + }, + "CustomContainerTemplate": { + "description": "Custom container configuration.", + "type": "object", + "properties": { + "registryCredentials": { + "description": "Private container registry credentials for containers used by the sessions of the session pool.", + "$ref": "#/definitions/SessionRegistryCredentials" + }, + "containers": { + "description": "List of container definitions for the sessions of the session pool.", + "type": "array", + "items": { + "$ref": "#/definitions/SessionContainer" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "ingress": { + "description": "Session pool ingress configuration.", + "$ref": "#/definitions/SessionIngress" + } + } + }, + "SessionNetworkConfiguration": { + "description": "Session network configuration.", + "type": "object", + "properties": { + "status": { + "description": "Network status for the sessions.", + "type": "string", + "enum": [ + "EgressEnabled", + "EgressDisabled" + ], + "x-ms-enum": { + "name": "SessionNetworkStatus", + "modelAsString": true + } + } + } + }, + "SessionPool": { + "description": "Container App session pool.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Container App session pool resource specific properties", + "type": "object", + "properties": { + "environmentId": { + "description": "Resource ID of the session pool's environment.", + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.App/managedEnvironments" + } + ] + }, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "containerType": { + "description": "The container type of the sessions.", + "enum": [ + "CustomContainer", + "PythonLTS" + ], + "type": "string", + "x-ms-enum": { + "name": "ContainerType", + "modelAsString": true + } + }, + "poolManagementType": { + "description": "The pool management type of the session pool.", + "enum": [ + "Manual", + "Dynamic" + ], + "type": "string", + "x-ms-enum": { + "name": "PoolManagementType", + "modelAsString": true + } + }, + "nodeCount": { + "description": "The number of nodes the session pool is using.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "scaleConfiguration": { + "description": "The scale configuration of the session pool.", + "$ref": "#/definitions/ScaleConfiguration" + }, + "secrets": { + "description": "The secrets of the session pool.", + "type": "array", + "items": { + "$ref": "#/definitions/SessionPoolSecret" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "dynamicPoolConfiguration": { + "description": "The pool configuration if the poolManagementType is dynamic.", + "$ref": "#/definitions/DynamicPoolConfiguration" + }, + "customContainerTemplate": { + "description": "The custom container configuration if the containerType is CustomContainer.", + "$ref": "#/definitions/CustomContainerTemplate" + }, + "sessionNetworkConfiguration": { + "description": "The network configuration of the sessions in the session pool.", + "$ref": "#/definitions/SessionNetworkConfiguration" + }, + "poolManagementEndpoint": { + "description": "The endpoint to manage the pool.", + "type": "string", + "format": "uri", + "readOnly": true + }, + "provisioningState": { + "description": "Provisioning state of the session pool.", + "enum": [ + "InProgress", + "Succeeded", + "Failed", + "Canceled", + "Deleting" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SessionPoolProvisioningState", + "modelAsString": true + } + } + }, + "x-ms-client-flatten": true + } + } + }, + "SessionPoolUpdatableProperties": { + "description": "Container App session pool updatable properties.", + "type": "object", + "properties": { + "properties": { + "description": "Session pool resource specific updatable properties.", + "type": "object", + "properties": { + "scaleConfiguration": { + "description": "The scale configuration of the session pool.", + "$ref": "#/definitions/ScaleConfiguration" + }, + "secrets": { + "description": "The secrets of the session pool.", + "type": "array", + "items": { + "$ref": "#/definitions/SessionPoolSecret" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "dynamicPoolConfiguration": { + "description": "The pool configuration if the poolManagementType is dynamic.", + "$ref": "#/definitions/DynamicPoolConfiguration" + }, + "customContainerTemplate": { + "description": "The custom container configuration if the containerType is CustomContainer.", + "$ref": "#/definitions/CustomContainerTemplate" + }, + "sessionNetworkConfiguration": { + "description": "The network configuration of the sessions in the session pool.", + "$ref": "#/definitions/SessionNetworkConfiguration" + } + }, + "x-ms-client-flatten": true + } + } + }, + "SessionPoolCollection": { + "description": "Session pool collection Azure resource.", + "required": [ + "value" + ], + "type": "object", + "properties": { + "value": { + "description": "Collection of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SessionPool" + } + }, + "nextLink": { + "description": "Link to next page of resources.", + "type": "string", + "readOnly": true + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/SourceControls.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/SourceControls.json new file mode 100644 index 000000000000..17e323d29504 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/SourceControls.json @@ -0,0 +1,456 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "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/v5/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" + }, + "buildEnvironmentVariables": { + "type": "array", + "items": { + "$ref": "./CommonDefinitions.json#/definitions/EnvironmentVariable" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "List of environment variables to be passed to the build." + } + } + }, + "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/preview/2024-02-02-preview/Subscriptions.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Subscriptions.json new file mode 100644 index 000000000000..6a74297a95c1 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Subscriptions.json @@ -0,0 +1,80 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.App/getCustomDomainVerificationId": { + "post": { + "tags": [ + "Subscriptions" + ], + "description": "Get the verification id of a subscription used for verifying custom domains", + "operationId": "GetCustomDomainVerificationId", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The custom domain verification id has been returned successfully.", + "schema": { + "$ref": "#/definitions/CustomDomainVerificationId" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "List all operations": { + "$ref": "./examples/Subscriptions_GetCustomDomainVerificationId.json" + } + } + } + } + }, + "definitions": { + "CustomDomainVerificationId": { + "description": "Custom domain verification Id of a subscription", + "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/preview/2024-02-02-preview/Usages.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Usages.json new file mode 100644 index 000000000000..6de8b6dc6612 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/Usages.json @@ -0,0 +1,188 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-02-02-preview", + "title": "ContainerApps API Client" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.App/locations/{location}/usages": { + "get": { + "tags": [ + "Usages" + ], + "operationId": "Usages_List", + "description": "Gets, for the specified location, the current resource usage information as well as the limits under the subscription.", + "parameters": [ + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location for which resource usage is queried.", + "pattern": "^[-\\w\\._]+$" + }, + { + "$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/ListUsagesResult" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List usages": { + "$ref": "./examples/Usages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.App/managedEnvironments/{environmentName}/usages": { + "get": { + "tags": [ + "Usages" + ], + "operationId": "ManagedEnvironmentUsages_List", + "description": "Gets the current usage information as well as the limits for environment.", + "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", + "pattern": "^[-\\w\\._]+$" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ListUsagesResult" + } + }, + "default": { + "description": "Common error response.", + "schema": { + "$ref": "./CommonDefinitions.json#/definitions/DefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed environment usages": { + "$ref": "./examples/ManagedEnvironmentUsages_List.json" + } + } + } + } + }, + "definitions": { + "UsageName": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "The name of the resource." + }, + "localizedValue": { + "type": "string", + "description": "The localized name of the resource." + } + }, + "description": "The Usage Names." + }, + "Usage": { + "type": "object", + "properties": { + "unit": { + "type": "string", + "description": "An enum describing the unit of usage measurement.", + "enum": [ + "Count" + ], + "x-ms-enum": { + "name": "UsageUnit", + "modelAsString": false + } + }, + "currentValue": { + "type": "number", + "format": "float", + "description": "The current usage of the resource." + }, + "limit": { + "type": "number", + "format": "float", + "description": "The maximum permitted usage of the resource." + }, + "name": { + "$ref": "#/definitions/UsageName", + "description": "The name of the type of usage." + } + }, + "required": [ + "unit", + "currentValue", + "limit", + "name" + ], + "description": "Describes Compute Resource Usage." + }, + "ListUsagesResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The list of compute resource usages." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of compute resource usage information. Call ListNext() with this to fetch the next page of compute resource usage information." + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AppResiliency_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AppResiliency_CreateOrUpdate.json new file mode 100644 index 000000000000..1d8c86039dad --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AppResiliency_CreateOrUpdate.json @@ -0,0 +1,176 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "appName": "testcontainerApp0", + "name": "resiliency-policy-1", + "api-version": "2024-02-02-preview", + "resiliencyEnvelope": { + "properties": { + "timeoutPolicy": { + "responseTimeoutInSeconds": 15, + "connectionTimeoutInSeconds": 5 + }, + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 1000, + "maxIntervalInMilliseconds": 10000 + }, + "matches": { + "headers": [ + { + "header": "X-Content-Type", + "match": { + "prefixMatch": "GOATS" + } + } + ], + "httpStatusCodes": [ + 502, + 503 + ], + "errors": [ + "5xx", + "connect-failure", + "reset", + "retriable-headers", + "retriable-status-codes" + ] + } + }, + "tcpRetryPolicy": { + "maxConnectAttempts": 3 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 5, + "intervalInSeconds": 10, + "maxEjectionPercent": 50 + }, + "tcpConnectionPool": { + "maxConnections": 100 + }, + "httpConnectionPool": { + "http1MaxPendingRequests": 1024, + "http2MaxRequests": 1024 + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/resiliencyPolicies/resiliency-policy-1", + "name": "resiliency-policy-1", + "type": "Microsoft.App/containerApps/resiliencyPolicies", + "properties": { + "timeoutPolicy": { + "responseTimeoutInSeconds": 15, + "connectionTimeoutInSeconds": 5 + }, + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 1000, + "maxIntervalInMilliseconds": 10000 + }, + "matches": { + "headers": [ + { + "header": "X-Content-Type", + "match": { + "prefixMatch": "GOATS" + } + } + ], + "httpStatusCodes": [ + 502, + 503 + ], + "errors": [ + "5xx", + "connect-failure", + "reset", + "retriable-headers", + "retriable-status-codes" + ] + } + }, + "tcpRetryPolicy": { + "maxConnectAttempts": 3 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 5, + "intervalInSeconds": 10, + "maxEjectionPercent": 50 + }, + "tcpConnectionPool": { + "maxConnections": 100 + }, + "httpConnectionPool": { + "http1MaxPendingRequests": 1024, + "http2MaxRequests": 1024 + } + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/resiliencyPolicies/resiliency-policy-1", + "name": "resiliency-policy-1", + "type": "Microsoft.App/containerApps/resiliencyPolicies", + "properties": { + "timeoutPolicy": { + "responseTimeoutInSeconds": 15, + "connectionTimeoutInSeconds": 5 + }, + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 1000, + "maxIntervalInMilliseconds": 10000 + }, + "matches": { + "headers": [ + { + "header": "X-Content-Type", + "match": { + "prefixMatch": "GOATS" + } + } + ], + "httpStatusCodes": [ + 502, + 503 + ], + "errors": [ + "5xx", + "connect-failure", + "reset", + "retriable-headers", + "retriable-status-codes" + ] + } + }, + "tcpRetryPolicy": { + "maxConnectAttempts": 3 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 5, + "intervalInSeconds": 10, + "maxEjectionPercent": 50 + }, + "tcpConnectionPool": { + "maxConnections": 100 + }, + "httpConnectionPool": { + "http1MaxPendingRequests": 1024, + "http2MaxRequests": 1024 + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AppResiliency_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AppResiliency_Delete.json new file mode 100644 index 000000000000..6a0df0ab8a98 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AppResiliency_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "appName": "testcontainerApp0", + "name": "resiliency-policy-1", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AppResiliency_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AppResiliency_Get.json new file mode 100644 index 000000000000..64ef21559efa --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AppResiliency_Get.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "appName": "testcontainerApp0", + "name": "resiliency-policy-1", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/resiliencyPolicies/resiliency-policy-1", + "name": "resiliency-policy-1", + "type": "Microsoft.App/containerApps/resiliencyPolicies", + "properties": { + "timeoutPolicy": { + "responseTimeoutInSeconds": 15, + "connectionTimeoutInSeconds": 5 + }, + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 1000, + "maxIntervalInMilliseconds": 10000 + }, + "matches": { + "headers": [ + { + "header": "X-Content-Type", + "match": { + "prefixMatch": "GOATS" + } + } + ], + "httpStatusCodes": [ + 502, + 503 + ], + "errors": [ + "5xx", + "connect-failure", + "reset", + "retriable-headers", + "retriable-status-codes" + ] + } + }, + "tcpRetryPolicy": { + "maxConnectAttempts": 3 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 5, + "intervalInSeconds": 10, + "maxEjectionPercent": 50 + }, + "tcpConnectionPool": { + "maxConnections": 100 + }, + "httpConnectionPool": { + "http1MaxPendingRequests": 1024, + "http2MaxRequests": 1024 + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AppResiliency_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AppResiliency_List.json new file mode 100644 index 000000000000..8457479a162f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AppResiliency_List.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "appName": "testcontainerApp0", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/resiliencyPolicies/resiliency-policy-1", + "name": "resiliency-policy-1", + "type": "Microsoft.App/containerApps/resiliencyPolicies", + "properties": { + "timeoutPolicy": { + "responseTimeoutInSeconds": 15, + "connectionTimeoutInSeconds": 5 + }, + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 1000, + "maxIntervalInMilliseconds": 10000 + }, + "matches": { + "headers": [ + { + "header": "X-Content-Type", + "match": { + "prefixMatch": "GOATS" + } + } + ], + "httpStatusCodes": [ + 502, + 503 + ], + "errors": [ + "5xx", + "connect-failure", + "reset", + "retriable-headers", + "retriable-status-codes" + ] + } + }, + "tcpRetryPolicy": { + "maxConnectAttempts": 3 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 5, + "intervalInSeconds": 10, + "maxEjectionPercent": 50 + }, + "tcpConnectionPool": { + "maxConnections": 100 + }, + "httpConnectionPool": { + "http1MaxPendingRequests": 1024, + "http2MaxRequests": 1024 + } + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AppResiliency_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AppResiliency_Patch.json new file mode 100644 index 000000000000..0f881c276fa2 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AppResiliency_Patch.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "appName": "testcontainerApp0", + "name": "resiliency-policy-1", + "api-version": "2024-02-02-preview", + "resiliencyEnvelope": { + "properties": { + "timeoutPolicy": { + "responseTimeoutInSeconds": 30, + "connectionTimeoutInSeconds": 40 + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/testcontainerApp0/resiliencyPolicies/resiliency-policy-1", + "name": "resiliency-policy-1", + "type": "Microsoft.App/containerApps/resiliencyPolicies", + "properties": { + "timeoutPolicy": { + "responseTimeoutInSeconds": 30, + "connectionTimeoutInSeconds": 40 + }, + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 1000, + "maxIntervalInMilliseconds": 10000 + }, + "matches": { + "headers": [ + { + "header": "X-Content-Type", + "match": { + "prefixMatch": "GOATS" + } + } + ], + "httpStatusCodes": [ + 502, + 503 + ], + "errors": [ + "5xx", + "connect-failure", + "reset", + "retriable-headers", + "retriable-status-codes" + ] + } + }, + "tcpRetryPolicy": { + "maxConnectAttempts": 3 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 5, + "intervalInSeconds": 10, + "maxEjectionPercent": 50 + }, + "tcpConnectionPool": { + "maxConnections": 100 + }, + "httpConnectionPool": { + "http1MaxPendingRequests": 1024, + "http2MaxRequests": 1024 + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AuthConfigs_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AuthConfigs_CreateOrUpdate.json new file mode 100644 index 000000000000..5150f276ddba --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AuthConfigs_CreateOrUpdate.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "authConfigName": "current", + "api-version": "2024-02-02-preview", + "authConfigEnvelope": { + "properties": { + "platform": { + "enabled": true + }, + "globalValidation": { + "unauthenticatedClientAction": "AllowAnonymous" + }, + "identityProviders": { + "facebook": { + "registration": { + "appId": "123", + "appSecretSettingName": "facebook-secret" + } + } + }, + "encryptionSettings": { + "containerAppAuthEncryptionSecretName": "testEncryptionSecretName", + "containerAppAuthSigningSecretName": "testSigningSecretName" + } + } + } + }, + "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" + } + } + }, + "encryptionSettings": { + "containerAppAuthEncryptionSecretName": "testEncryptionSecretName", + "containerAppAuthSigningSecretName": "testSigningSecretName" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AuthConfigs_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AuthConfigs_Delete.json new file mode 100644 index 000000000000..76c3422b8a3e --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AuthConfigs_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AuthConfigs_Get.json new file mode 100644 index 000000000000..38216caa89d1 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AuthConfigs_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "authConfigName": "current", + "api-version": "2024-02-02-preview" + }, + "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" + } + } + }, + "encryptionSettings": { + "containerAppAuthEncryptionSecretName": "testEncryptionSecretName", + "containerAppAuthSigningSecretName": "testSigningSecretName" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AuthConfigs_ListByContainer.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AuthConfigs_ListByContainer.json new file mode 100644 index 000000000000..031938f66bb1 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AuthConfigs_ListByContainer.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "api-version": "2024-02-02-preview" + }, + "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" + } + } + }, + "encryptionSettings": { + "containerAppAuthEncryptionSecretName": "testEncryptionSecretName", + "containerAppAuthSigningSecretName": "testSigningSecretName" + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AvailableWorkloadProfiles_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AvailableWorkloadProfiles_Get.json new file mode 100644 index 000000000000..1d3d157f5eb7 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/AvailableWorkloadProfiles_Get.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "location": "East US", + "api-version": "2024-02-02-preview" + }, + "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": "Dedicated-NC48-A100", + "category": "GPU-NC-A100", + "applicability": "Custom", + "cores": 48, + "memoryGiB": 440, + "gpus": 2 + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/availableManagedEnvironmentsWorkloadProfileTypes/NC48-A100", + "name": "NC48-A100", + "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/preview/2024-02-02-preview/examples/BillingMeters_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/BillingMeters_Get.json new file mode 100644 index 000000000000..be1d6e091a4d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/BillingMeters_Get.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "location": "East US", + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/Builders_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_CreateOrUpdate.json new file mode 100644 index 000000000000..f28b2b4b39e6 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_CreateOrUpdate.json @@ -0,0 +1,128 @@ +{ + "operationId": "Builders_CreateOrUpdate", + "title": "Builders_CreateOrUpdate_0", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "builderName": "testBuilder", + "api-version": "2024-02-02-preview", + "builderEnvelope": { + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "properties": { + "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv", + "containerRegistries": [ + { + "containerRegistryServer": "test.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + }, + { + "containerRegistryServer": "test2.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + ] + }, + "tags": { + "company": "Microsoft" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder", + "name": "testBuilder", + "type": "Microsoft.App/builders", + "location": "eastus", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv", + "containerRegistries": [ + { + "containerRegistryServer": "test.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + }, + { + "containerRegistryServer": "test2.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + ] + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + }, + "tags": { + "company": "Microsoft" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder", + "name": "testBuilder", + "type": "Microsoft.App/builders", + "location": "eastus", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "properties": { + "provisioningState": "Creating", + "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv", + "containerRegistries": [ + { + "containerRegistryServer": "test.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + }, + { + "containerRegistryServer": "test2.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + ] + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + }, + "tags": { + "company": "Microsoft" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_Delete.json new file mode 100644 index 000000000000..3e27c17b4a63 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_Delete.json @@ -0,0 +1,18 @@ +{ + "operationId": "Builders_Delete", + "title": "Builders_Delete_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "builderName": "testBuilder" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_Get.json new file mode 100644 index 000000000000..8f0e63a2bb0f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_Get.json @@ -0,0 +1,56 @@ +{ + "operationId": "Builders_Get", + "title": "Builders_Get_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "builderName": "testBuilder" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder", + "name": "testBuilder", + "type": "Microsoft.App/builders", + "location": "eastus", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv", + "containerRegistries": [ + { + "containerRegistryServer": "test.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + }, + { + "containerRegistryServer": "test2.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + ] + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + }, + "tags": { + "key": "value" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_ListByResourceGroup.json new file mode 100644 index 000000000000..92d5543fc20f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_ListByResourceGroup.json @@ -0,0 +1,102 @@ +{ + "operationId": "Builders_ListByResourceGroup", + "title": "Builders_ListByResourceGroup_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder1", + "name": "testBuilder1", + "type": "Microsoft.App/builders", + "location": "eastus", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv", + "containerRegistries": [ + { + "containerRegistryServer": "test.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + }, + { + "containerRegistryServer": "test2.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + ] + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + }, + "tags": { + "key": "value" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder2", + "name": "testBuilder2", + "type": "Microsoft.App/builders", + "location": "eastus", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv", + "containerRegistries": [ + { + "containerRegistryServer": "test.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + }, + { + "containerRegistryServer": "test2.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + ] + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + }, + "tags": { + "key": "value" + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_ListBySubscription.json new file mode 100644 index 000000000000..efbef655455c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_ListBySubscription.json @@ -0,0 +1,101 @@ +{ + "operationId": "Builders_ListBySubscription", + "title": "Builders_ListBySubscription_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg1/providers/Microsoft.App/builders/testBuilder1", + "name": "testBuilder1", + "type": "Microsoft.App/builders", + "location": "eastus", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv", + "containerRegistries": [ + { + "containerRegistryServer": "test.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + }, + { + "containerRegistryServer": "test2.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + ] + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + }, + "tags": { + "key": "value" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg2/providers/Microsoft.App/builders/testBuilder2", + "name": "testBuilder2", + "type": "Microsoft.App/builders", + "location": "eastus", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv", + "containerRegistries": [ + { + "containerRegistryServer": "test.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + }, + { + "containerRegistryServer": "test2.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + ] + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + }, + "tags": { + "key": "value" + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_Update.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_Update.json new file mode 100644 index 000000000000..d9eb9d549837 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builders_Update.json @@ -0,0 +1,66 @@ +{ + "operationId": "Builders_Update", + "title": "Builders_Update_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "builderName": "testBuilder", + "builderEnvelope": { + "tags": { + "mytag1": "myvalue1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder", + "name": "testBuilder", + "type": "Microsoft.App/builders", + "location": "eastus", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": { + "clientId": "00000000-0000-0000-0000-000000000000", + "principalId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/managedEnvironments/testEnv", + "containerRegistries": [ + { + "containerRegistryServer": "test.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + }, + { + "containerRegistryServer": "test2.azurecr.io", + "identityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + ] + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + }, + "tags": { + "mytag1": "myvalue1" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_CreateOrUpdate.json new file mode 100644 index 000000000000..8b96db97826f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_CreateOrUpdate.json @@ -0,0 +1,214 @@ +{ + "operationId": "Builds_CreateOrUpdate", + "title": "Builds_CreateOrUpdate_WithConfig", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "builderName": "testBuilder", + "buildName": "testBuild-123456789az", + "api-version": "2024-02-02-preview", + "buildEnvelope": { + "properties": { + "destinationContainerRegistry": { + "server": "test.azurecr.io", + "image": "test.azurecr.io/repo:tag" + }, + "configuration": { + "baseOs": "DebianBullseye", + "platform": "dotnetcore", + "platformVersion": "7.0", + "environmentVariables": [ + { + "name": "foo1", + "value": "bar1" + }, + { + "name": "foo2", + "value": "bar2" + } + ], + "preBuildSteps": [ + { + "description": "First pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'world'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo", + "bar" + ] + } + }, + { + "description": "Second pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'again'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo" + ] + } + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder/builds/testBuild-123456789az", + "name": "testBuild-123456789az", + "type": "Microsoft.App/builders/builds", + "properties": { + "provisioningState": "Succeeded", + "buildStatus": "InProgress", + "destinationContainerRegistry": { + "server": "test.azurecr.io", + "image": "test.azurecr.io/repo:tag" + }, + "configuration": { + "baseOs": "DebianBullseye", + "platform": "dotnetcore", + "platformVersion": "7.0", + "environmentVariables": [ + { + "name": "foo1", + "value": "bar1" + }, + { + "name": "foo2", + "value": "bar2" + } + ], + "preBuildSteps": [ + { + "description": "First pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'world'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo", + "bar" + ] + } + }, + { + "description": "Second pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'again'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo" + ] + } + } + ] + }, + "uploadEndpoint": "https://foo.azurecontainerapps.dev/upload", + "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream", + "tokenEndpoint": "https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{rg-id}/Microsoft.App/builders/testBuilder/builds/testBuild/listAuthToken" + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder/builds/testBuild", + "name": "testBuild", + "type": "Microsoft.App/build", + "properties": { + "provisioningState": "Creating", + "buildStatus": "NotStarted", + "destinationContainerRegistry": { + "server": "test.azurecr.io", + "image": "test.azurecr.io/repo:tag" + }, + "configuration": { + "baseOs": "DebianBullseye", + "platform": "dotnetcore", + "platformVersion": "7.0", + "environmentVariables": [ + { + "name": "foo1", + "value": "bar1" + }, + { + "name": "foo2", + "value": "bar2" + } + ], + "preBuildSteps": [ + { + "description": "First pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'world'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo", + "bar" + ] + } + }, + { + "description": "Second pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'again'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo" + ] + } + } + ] + }, + "uploadEndpoint": "https://foo.azurecontainerapps.dev/upload", + "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream", + "tokenEndpoint": "https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{rg-id}/Microsoft.App/builders/testBuilder/builds/testBuild/listAuthToken" + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_CreateOrUpdate_NoConfig.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_CreateOrUpdate_NoConfig.json new file mode 100644 index 000000000000..c1d10a677cec --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_CreateOrUpdate_NoConfig.json @@ -0,0 +1,61 @@ +{ + "operationId": "Builds_CreateOrUpdate", + "title": "Builds_CreateOrUpdate_NoConfig", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "builderName": "testBuilder", + "buildName": "testBuild", + "api-version": "2024-02-02-preview", + "buildEnvelope": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder/builds/testBuild", + "name": "testBuild", + "type": "Microsoft.App/builders/builds", + "properties": { + "provisioningState": "Succeeded", + "buildStatus": "InProgress", + "uploadEndpoint": "https://foo.azurecontainerapps.dev/upload", + "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream", + "tokenEndpoint": "https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{rg-id}/Microsoft.App/builders/testBuilder/builds/testBuild/listAuthToken" + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}" + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder/builds/testBuild", + "name": "testBuild", + "type": "Microsoft.App/build", + "properties": { + "provisioningState": "Creating", + "buildStatus": "InProgress", + "uploadEndpoint": "https://foo.azurecontainerapps.dev/upload", + "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream", + "tokenEndpoint": "https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{rg-id}/Microsoft.App/builders/testBuilder/builds/testBuild/listAuthToken" + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_Delete.json new file mode 100644 index 000000000000..6c651e9aad9c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_Delete.json @@ -0,0 +1,19 @@ +{ + "operationId": "Builds_Delete", + "title": "Builds_Delete_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "builderName": "testBuilder", + "buildName": "testBuild" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_Get.json new file mode 100644 index 000000000000..63934edc08e3 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_Get.json @@ -0,0 +1,85 @@ +{ + "operationId": "Builds_Get", + "title": "Builds_Get_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "builderName": "testBuilder", + "buildName": "testBuild" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder/builds/testBuild", + "name": "testBuild", + "type": "Microsoft.App/builders/builds", + "properties": { + "provisioningState": "Succeeded", + "buildStatus": "InProgress", + "destinationContainerRegistry": { + "server": "test.azurecr.io", + "image": "test.azurecr.io/repo:tag" + }, + "configuration": { + "baseOs": "DebianBullseye", + "platform": "dotnetcore", + "platformVersion": "7.0", + "environmentVariables": [ + { + "name": "foo1", + "value": "bar1" + }, + { + "name": "foo2", + "value": "bar2" + } + ], + "preBuildSteps": [ + { + "description": "First pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'world'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo", + "bar" + ] + } + }, + { + "description": "Second pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'again'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo" + ] + } + } + ] + }, + "uploadEndpoint": "https://foo.azurecontainerapps.dev/upload", + "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream", + "tokenEndpoint": "https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{rg-id}/Microsoft.App/builders/testBuilder/builds/testBuild/listAuthToken" + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_ListAuthToken.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_ListAuthToken.json new file mode 100644 index 000000000000..632042f3c1fb --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_ListAuthToken.json @@ -0,0 +1,20 @@ +{ + "operationId": "Builds_ListAuthToken", + "title": "Builds_ListAuthToken_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "builderName": "testBuilder", + "buildName": "testBuild" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "token": "foobartoken", + "expires": "2022-07-14T19:22:50.3080223Z" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_ListByBuilderResource.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_ListByBuilderResource.json new file mode 100644 index 000000000000..5a9520e79299 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Builds_ListByBuilderResource.json @@ -0,0 +1,159 @@ +{ + "operationId": "Builds_ListByBuilderResource", + "title": "Builds_ListByBuilderResource_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "builderName": "testBuilder" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder/builds/testBuild1", + "name": "testBuild1", + "type": "Microsoft.App/builders/builds", + "properties": { + "provisioningState": "Succeeded", + "buildStatus": "InProgress", + "destinationContainerRegistry": { + "server": "test.azurecr.io", + "image": "test.azurecr.io/repo:tag" + }, + "configuration": { + "baseOs": "DebianBullseye", + "platform": "dotnetcore", + "platformVersion": "7.0", + "environmentVariables": [ + { + "name": "foo1", + "value": "bar1" + }, + { + "name": "foo2", + "value": "bar2" + } + ], + "preBuildSteps": [ + { + "description": "First pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'world'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo", + "bar" + ] + } + }, + { + "description": "Second pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'again'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo" + ] + } + } + ] + }, + "uploadEndpoint": "https://foo.azurecontainerapps.dev/upload", + "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream", + "tokenEndpoint": "https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{rg-id}/Microsoft.App/builders/testBuilder/builds/testBuild/listAuthToken" + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/builders/testBuilder/builds/testBuild2", + "name": "testBuild2", + "type": "Microsoft.App/builders/builds", + "properties": { + "provisioningState": "Succeeded", + "buildStatus": "InProgress", + "destinationContainerRegistry": { + "server": "test.azurecr.io", + "image": "test.azurecr.io/repo:tag" + }, + "configuration": { + "baseOs": "DebianBullseye", + "platform": "dotnetcore", + "platformVersion": "7.0", + "environmentVariables": [ + { + "name": "foo1", + "value": "bar1" + }, + { + "name": "foo2", + "value": "bar2" + } + ], + "preBuildSteps": [ + { + "description": "First pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'world'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo", + "bar" + ] + } + }, + { + "description": "Second pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'again'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo" + ] + } + } + ] + }, + "uploadEndpoint": "https://foo.azurecontainerapps.dev/upload", + "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream", + "tokenEndpoint": "https://management.azure.com/subscriptions/{subscription-id}/resourcegroups/{rg-id}/Microsoft.App/builders/testBuilder/builds/testBuild/listAuthToken" + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificate_CreateOrUpdate.json new file mode 100644 index 000000000000..5999caa31c96 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificate_CreateOrUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "certificateName": "certificate-firendly-name", + "api-version": "2024-02-02-preview", + "certificateEnvelope": { + "location": "East US", + "properties": { + "password": "private key password", + "value": "Y2VydA==", + "certificateType": "ImagePullTrustedCA" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/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, + "certificateType": "ImagePullTrustedCA" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificate_CreateOrUpdate_FromKeyVault.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificate_CreateOrUpdate_FromKeyVault.json new file mode 100644 index 000000000000..1cdb9a9cba67 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificate_CreateOrUpdate_FromKeyVault.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "certificateName": "certificate-firendly-name", + "api-version": "2024-02-02-preview", + "certificateEnvelope": { + "location": "East US", + "properties": { + "certificateKeyVaultProperties": { + "identity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/microsoft.managedidentity/userassignedidentities/test-user-mi", + "keyVaultUrl": "https://xxxxxxxx.vault.azure.net/certificates/certName" + }, + "certificateType": "ServerSSLCertificate" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/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" + ], + "certificateKeyVaultProperties": { + "identity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/microsoft.managedidentity/userassignedidentities/test-user-mi", + "keyVaultUrl": "https://xxxxxxxx.vault.azure.net/certificates/certName" + }, + "issuer": "Issuer Name", + "issueDate": "2021-11-06T04:00:00Z", + "expirationDate": "2022-11-06T04:00:00Z", + "thumbprint": "CERTIFICATE_THUMBPRINT", + "valid": true, + "certificateType": "ServerSSLCertificate" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificate_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificate_Delete.json new file mode 100644 index 000000000000..f515650196b0 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificate_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificate_Get.json new file mode 100644 index 000000000000..12f7cd09e941 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificate_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "certificateName": "certificate-firendly-name", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/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, + "certificateType": "ServerSSLCertificate" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificates_CheckNameAvailability.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificates_CheckNameAvailability.json new file mode 100644 index 000000000000..4c1f99f96a9b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificates_CheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/examples/Certificates_ListByManagedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificates_ListByManagedEnvironment.json new file mode 100644 index 000000000000..3fde4ee0eafb --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificates_ListByManagedEnvironment.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/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, + "certificateType": "ImagePullTrustedCA" + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/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, + "certificateType": "ServerSSLCertificate" + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificates_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificates_Patch.json new file mode 100644 index 000000000000..9f7cc066f5d2 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Certificates_Patch.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "certificateName": "certificate-firendly-name", + "api-version": "2024-02-02-preview", + "certificateEnvelope": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/testcontainerenv/certificates/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, + "certificateType": "ServerSSLCertificate" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsCertificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsCertificate_CreateOrUpdate.json new file mode 100644 index 000000000000..027d91161400 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview", + "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/certififcates/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/preview/2024-02-02-preview/examples/ConnectedEnvironmentsCertificate_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsCertificate_Delete.json new file mode 100644 index 000000000000..bd41f8b4c136 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsCertificate_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsCertificate_Get.json new file mode 100644 index 000000000000..a9c55d528421 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/certificates/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/preview/2024-02-02-preview/examples/ConnectedEnvironmentsCertificates_CheckNameAvailability.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsCertificates_CheckNameAvailability.json new file mode 100644 index 000000000000..adc6081e5268 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsCertificates_CheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/examples/ConnectedEnvironmentsCertificates_ListByConnectedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsCertificates_ListByConnectedEnvironment.json new file mode 100644 index 000000000000..99ad8cbee8b6 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsCertificates_ListByConnectedEnvironment.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "testcontainerenv", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/certificates/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/certificates/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/preview/2024-02-02-preview/examples/ConnectedEnvironmentsCertificates_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsCertificates_Patch.json new file mode 100644 index 000000000000..4688ad3c86a3 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview", + "certificateEnvelope": { + "tags": { + "tag1": "value1", + "tag2": "value2" + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/examplerg/providers/Microsoft.App/connectedEnvironments/testcontainerenv/certificates/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/preview/2024-02-02-preview/examples/ConnectedEnvironmentsDaprComponents_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsDaprComponents_CreateOrUpdate.json new file mode 100644 index 000000000000..c5570c1d6e5a --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsDaprComponents_CreateOrUpdate.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2024-02-02-preview", + "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" + ], + "serviceComponentBind": [ + { + "name": "statestore", + "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis", + "metadata": { + "name": "daprcomponentBind", + "value": "redis-bind" + } + } + ] + } + } + }, + "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" + ], + "serviceComponentBind": [ + { + "name": "statestore", + "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis", + "metadata": { + "name": "daprcomponentBind", + "value": "redis-bind" + } + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsDaprComponents_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsDaprComponents_Delete.json new file mode 100644 index 000000000000..9944ae43caf3 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsDaprComponents_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsDaprComponents_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsDaprComponents_Get.json new file mode 100644 index 000000000000..75780289169f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsDaprComponents_Get.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2024-02-02-preview" + }, + "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" + ], + "serviceComponentBind": [ + { + "name": "statestore", + "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis", + "metadata": { + "name": "daprcomponentBind", + "value": "redis-bind" + } + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsDaprComponents_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsDaprComponents_List.json new file mode 100644 index 000000000000..80ed9c2a64d5 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsDaprComponents_List.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "myenvironment", + "api-version": "2024-02-02-preview" + }, + "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" + ], + "serviceComponentBind": [ + { + "name": "statestore", + "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis", + "metadata": { + "name": "daprcomponentBind", + "value": "redis-bind" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsDaprComponents_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsDaprComponents_ListSecrets.json new file mode 100644 index 000000000000..c29291d8d943 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsDaprComponents_ListSecrets.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "secret1", + "value": "value1" + }, + { + "name": "secret2", + "value": "value2" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsStorages_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsStorages_CreateOrUpdate.json new file mode 100644 index 000000000000..13c87a897df6 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsStorages_CreateOrUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "env", + "storageName": "jlaw-demo1", + "api-version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/examples/ConnectedEnvironmentsStorages_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsStorages_Delete.json new file mode 100644 index 000000000000..b3781009d837 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsStorages_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "env", + "storageName": "jlaw-demo1", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsStorages_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsStorages_Get.json new file mode 100644 index 000000000000..b7d638b8e36d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsStorages_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "env", + "storageName": "jlaw-demo1", + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ConnectedEnvironmentsStorages_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsStorages_List.json new file mode 100644 index 000000000000..9988502db243 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironmentsStorages_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "managedEnv", + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ConnectedEnvironments_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironments_CreateOrUpdate.json new file mode 100644 index 000000000000..ce2d0c0ca46c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironments_CreateOrUpdate.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "testenv", + "api-version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/examples/ConnectedEnvironments_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironments_Delete.json new file mode 100644 index 000000000000..b5367dc0d0e3 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironments_Delete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "examplekenv", + "api-version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/examples/ConnectedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironments_Get.json new file mode 100644 index 000000000000..4a9fa4280769 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironments_Get.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "examplekenv", + "api-version": "2024-02-02-preview", + "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/connectedEnvironments/examplekenv", + "name": "examplekenv", + "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": "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/preview/2024-02-02-preview/examples/ConnectedEnvironments_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironments_ListByResourceGroup.json new file mode 100644 index 000000000000..de227a641cd7 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironments_ListByResourceGroup.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ConnectedEnvironments_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironments_ListBySubscription.json new file mode 100644 index 000000000000..6c18b5f2a7cf --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironments_ListBySubscription.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ConnectedEnvironments_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironments_Patch.json new file mode 100644 index 000000000000..5042a0c63ec8 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ConnectedEnvironments_Patch.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "connectedEnvironmentName": "testenv", + "api-version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/examples/ContainerAppsBuilds_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsBuilds_Delete.json new file mode 100644 index 000000000000..a6e7dd629aae --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsBuilds_Delete.json @@ -0,0 +1,19 @@ +{ + "operationId": "ContainerAppsBuilds_Delete", + "title": "ContainerAppsBuilds_Delete_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "containerAppName": "testCapp", + "buildName": "testBuild" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsBuilds_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsBuilds_Get.json new file mode 100644 index 000000000000..d97fb1076f11 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsBuilds_Get.json @@ -0,0 +1,83 @@ +{ + "operationId": "ContainerAppsBuilds_Get", + "title": "ContainerAppsBuilds_Get_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "containerAppName": "testCapp", + "buildName": "testBuild" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/containerApps/testCapp/builds/testBuild", + "name": "testBuild", + "type": "Microsoft.App/containerApps/builds", + "properties": { + "provisioningState": "Succeeded", + "buildStatus": "InProgress", + "destinationContainerRegistry": { + "server": "test.azurecr.io", + "image": "test.azurecr.io/repo:tag" + }, + "configuration": { + "baseOs": "DebianBullseye", + "platform": "dotnetcore", + "platformVersion": "7.0", + "environmentVariables": [ + { + "name": "foo1", + "value": "bar1" + }, + { + "name": "foo2", + "value": "bar2" + } + ], + "preBuildSteps": [ + { + "description": "First pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'world'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo", + "bar" + ] + } + }, + { + "description": "Second pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'again'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo" + ] + } + } + ] + }, + "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream" + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsBuilds_ListByContainerApp.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsBuilds_ListByContainerApp.json new file mode 100644 index 000000000000..c9ecb1116a04 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsBuilds_ListByContainerApp.json @@ -0,0 +1,155 @@ +{ + "operationId": "ContainerAppsBuildsByContainerApp_List", + "title": "ContainerAppsBuilds_ListByContainerApp_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "containerAppName": "testCapp" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/containerApps/testCapp/builds/testBuild1", + "name": "testBuild1", + "type": "Microsoft.App/containerApps/builds", + "properties": { + "provisioningState": "Succeeded", + "buildStatus": "InProgress", + "destinationContainerRegistry": { + "server": "test.azurecr.io", + "image": "test.azurecr.io/repo:tag" + }, + "configuration": { + "baseOs": "DebianBullseye", + "platform": "dotnetcore", + "platformVersion": "7.0", + "environmentVariables": [ + { + "name": "foo1", + "value": "bar1" + }, + { + "name": "foo2", + "value": "bar2" + } + ], + "preBuildSteps": [ + { + "description": "First pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'world'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo", + "bar" + ] + } + }, + { + "description": "Second pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'again'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo" + ] + } + } + ] + }, + "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream" + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/Microsoft.App/containerApps/testCapp/builds/testBuild2", + "name": "testBuild2", + "type": "Microsoft.App/containerApps/builds", + "properties": { + "provisioningState": "Succeeded", + "buildStatus": "InProgress", + "destinationContainerRegistry": { + "server": "test.azurecr.io", + "image": "test.azurecr.io/repo:tag" + }, + "configuration": { + "baseOs": "DebianBullseye", + "platform": "dotnetcore", + "platformVersion": "7.0", + "environmentVariables": [ + { + "name": "foo1", + "value": "bar1" + }, + { + "name": "foo2", + "value": "bar2" + } + ], + "preBuildSteps": [ + { + "description": "First pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'world'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo", + "bar" + ] + } + }, + { + "description": "Second pre build step.", + "scripts": [ + "echo 'hello'", + "echo 'again'" + ], + "httpGet": { + "url": "https://microsoft.com", + "fileName": "output.txt", + "headers": [ + "foo" + ] + } + } + ] + }, + "logStreamEndpoint": "https://foo.azurecontainerapps.dev/logstream" + }, + "systemData": { + "createdBy": "sample@microsoft.com", + "createdByType": "User", + "createdAt": "2022-10-11T11:05:51.4940669Z", + "lastModifiedBy": "sample@microsoft.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2022-10-11T11:05:51.4940669Z" + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsDiagnostics_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsDiagnostics_Get.json new file mode 100644 index 000000000000..4ac6ca21c9f4 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ContainerAppsDiagnostics_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsDiagnostics_List.json new file mode 100644 index 000000000000..5ecd6ed14c8c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ContainerAppsPatches_Apply.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsPatches_Apply.json new file mode 100644 index 000000000000..80d7f5ad06d7 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsPatches_Apply.json @@ -0,0 +1,53 @@ +{ + "operationId": "ContainerAppsPatches_Apply", + "title": "ContainerAppsPatches_Apply_0", + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "containerAppName": "test-app", + "patchName": "testPatch-25fe4b", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app/patches/testPatch-25fe4b", + "name": "testPatch-25fe4b", + "type": "Microsoft.App/containerApps/patches", + "properties": { + "targetEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/test-env", + "targetContainerAppId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app", + "targetRevisionId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/apps/test-app/revisions/test-app--jm3vvry", + "patchApplyStatus": "Succeeded", + "createdAt": "2022-10-10T12:06:20.3421+00:00", + "lastModifiedAt": "2022-10-10T12:06:20.3421+00:00", + "patchDetails": [ + { + "targetContainerName": "test-container", + "targetImage": "testregistry.azurecr.io/test-image:latest", + "lastDetectionTime": "2022-10-10T12:06:19.5241+00:00", + "detectionStatus": "Succeeded", + "newImageName": "testregistry.azurecr.io/test-image:latest-patched-202210101206", + "newLayer": { + "name": "mcr.microsoft.com/dotnet/aspnet:7.0.7-cbl-mariner2.0", + "frameworkAndVersion": "dotnet:7.0.7", + "osAndVersion": "cbl-mariner2.0" + }, + "oldLayer": { + "name": "mcr.microsoft.com/dotnet/aspnet:7.0.5-cbl-mariner2.0", + "frameworkAndVersion": "dotnet:7.0.5", + "osAndVersion": "cbl-mariner2.0" + }, + "patchType": "FrameworkSecurity" + } + ] + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsPatches_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsPatches_Delete.json new file mode 100644 index 000000000000..04efed473e0b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsPatches_Delete.json @@ -0,0 +1,19 @@ +{ + "operationId": "ContainerAppsPatches_Delete", + "title": "ContainerAppsPatches_Delete_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "containerAppName": "test-app", + "patchName": "testPatch-25fe4b" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsPatches_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsPatches_Get.json new file mode 100644 index 000000000000..ea4f21e49a65 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsPatches_Get.json @@ -0,0 +1,48 @@ +{ + "operationId": "ContainerAppsPatches_Get", + "title": "ContainerAppsPatches_Get_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "containerAppName": "test-app", + "patchName": "testPatch-25fe4b" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app/patches/testPatch-25fe4b", + "name": "testPatch-25fe4b", + "type": "Microsoft.App/containerApps/patches", + "properties": { + "targetEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/test-env", + "targetContainerAppId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app", + "targetRevisionId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/apps/test-app/revisions/test-app--jm3vvry", + "patchApplyStatus": "NotStarted", + "createdAt": "2022-10-10T12:06:20.3421+00:00", + "lastModifiedAt": "2022-10-10T12:06:20.3421+00:00", + "patchDetails": [ + { + "targetContainerName": "test-container", + "targetImage": "testregistry.azurecr.io/test-image:latest", + "lastDetectionTime": "2022-10-10T12:06:19.5241+00:00", + "detectionStatus": "Succeeded", + "newImageName": "testregistry.azurecr.io/test-image:latest-patched-202210101206", + "newLayer": { + "name": "mcr.microsoft.com/dotnet/aspnet:7.0.7-cbl-mariner2.0", + "frameworkAndVersion": "dotnet:7.0.7", + "osAndVersion": "cbl-mariner2.0" + }, + "oldLayer": { + "name": "mcr.microsoft.com/dotnet/aspnet:7.0.5-cbl-mariner2.0", + "frameworkAndVersion": "dotnet:7.0.5", + "osAndVersion": "cbl-mariner2.0" + }, + "patchType": "FrameworkSecurity" + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsPatches_ListByContainerApp.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsPatches_ListByContainerApp.json new file mode 100644 index 000000000000..cd681fe2c7df --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsPatches_ListByContainerApp.json @@ -0,0 +1,103 @@ +{ + "operationId": "ContainerAppsPatches_ListByContainerApp", + "title": "ContainerAppsPatches_ListByContainerApp_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "containerAppName": "test-app" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app/patches/testPatch-25fe4b", + "name": "testPatch-25fe4b", + "type": "Microsoft.App/containerApps/patches", + "properties": { + "targetEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/test-env", + "targetContainerAppId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app", + "targetRevisionId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/apps/test-app/revisions/test-app--jm3vvry", + "patchApplyStatus": "NotStarted", + "createdAt": "2022-10-10T12:06:20.3421+00:00", + "lastModifiedAt": "2022-10-10T12:06:20.3421+00:00", + "patchDetails": [ + { + "targetContainerName": "test-container", + "targetImage": "testregistry.azurecr.io/test-image:release-1-patched-202209101206203421", + "lastDetectionTime": "2022-10-10T12:06:19.5241+00:00", + "detectionStatus": "Succeeded", + "newImageName": "testregistry.azurecr.io/test-image:release-1-patched-202210101206185241", + "newLayer": { + "name": "mcr.microsoft.com/dotnet/aspnet:7.0.9-cbl-mariner2.0", + "frameworkAndVersion": "dotnet:7.0.9", + "osAndVersion": "cbl-mariner2.0" + }, + "oldLayer": { + "name": "mcr.microsoft.com/dotnet/aspnet:7.0.7-cbl-mariner2.0", + "frameworkAndVersion": "dotnet:7.0.7", + "osAndVersion": "cbl-mariner2.0" + }, + "patchType": "FrameworkSecurity" + } + ] + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app/patches/testPatch-27c3d5", + "name": "testPatch-27c3d5", + "type": "Microsoft.App/containerApps/patches", + "properties": { + "targetEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/test-env", + "targetContainerAppId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app", + "targetRevisionId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerApps/test-app2/revisions/test-app--z79h4oc", + "patchApplyStatus": "Succeeded", + "createdAt": "2022-09-10T12:06:20.3421+00:00", + "lastModifiedAt": "2022-09-20T12:06:20.3421+00:00", + "patchDetails": [ + { + "targetContainerName": "test-container", + "targetImage": "testregistry.azurecr.io/test-image:release-1", + "lastDetectionTime": "2022-09-21T12:06:19.5241+00:00", + "detectionStatus": "Succeeded", + "newImageName": "testregistry.azurecr.io/test-image:release-1-patched-202209101206203421", + "newLayer": { + "name": "mcr.microsoft.com/dotnet/aspnet:7.0.7-cbl-mariner2.0", + "frameworkAndVersion": "dotnet:7.0.7", + "osAndVersion": "cbl-mariner2.0" + }, + "oldLayer": { + "name": "mcr.microsoft.com/dotnet/aspnet:7.0.5-cbl-mariner2.0", + "frameworkAndVersion": "dotnet:7.0.5", + "osAndVersion": "cbl-mariner2.0" + }, + "patchType": "FrameworkSecurity" + }, + { + "targetContainerName": "test-container-2", + "targetImage": "testregistry.azurecr.io/test-image:release-2", + "lastDetectionTime": "2022-09-21T12:06:19.5241+00:00", + "detectionStatus": "Succeeded", + "newImageName": "testregistry.azurecr.io/test-image:release-2-patched-202209101206203421", + "newLayer": { + "name": "mcr.microsoft.com/dotnet/aspnet:7.0.7-cbl-mariner2.0", + "frameworkAndVersion": "dotnet:7.0.7", + "osAndVersion": "cbl-mariner2.0" + }, + "oldLayer": { + "name": "mcr.microsoft.com/dotnet/aspnet:7.0.0-cbl-mariner2.0", + "frameworkAndVersion": "dotnet:7.0.0", + "osAndVersion": "cbl-mariner2.0" + }, + "patchType": "FrameworkSecurity" + } + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsPatches_Skip_Configure.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsPatches_Skip_Configure.json new file mode 100644 index 000000000000..d163e0735848 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerAppsPatches_Skip_Configure.json @@ -0,0 +1,21 @@ +{ + "operationId": "ContainerAppsPatches_SkipConfigure", + "title": "ContainerAppsPatches_Skip_Configure_0", + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "containerAppName": "test-app", + "patchName": "testPatch-25fe4b", + "patchSkipConfig": { + "skip": true + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/{subscription-id}/providers/Microsoft.App/locations/{location}/operationStatuses/{operationId}" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_CheckNameAvailability.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_CheckNameAvailability.json new file mode 100644 index 000000000000..f2817a3b7128 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_CheckNameAvailability.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/examples/ContainerApps_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_CreateOrUpdate.json new file mode 100644 index 000000000000..264e6e8897d7 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_CreateOrUpdate.json @@ -0,0 +1,654 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2024-02-02-preview", + "containerAppEnvelope": { + "location": "East US", + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": {} + } + }, + "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 + }, + "additionalPortMappings": [ + { + "external": true, + "targetPort": 1234 + }, + { + "external": false, + "targetPort": 2345, + "exposedPort": 3456 + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "runtime": { + "java": { + "enableMetrics": true, + "javaAgent": { + "enabled": true, + "logging": { + "loggerSettings": [ + { + "logger": "org.springframework.boot", + "level": "debug" + } + ] + } + } + }, + "dotnet": { + "autoConfigureDataProtection": true + } + }, + "maxInactiveRevisions": 10, + "service": { + "type": "redis" + }, + "identitySettings": [ + { + "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity", + "lifecycle": "All" + }, + { + "identity": "system", + "lifecycle": "Init" + } + ] + }, + "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 + } + ], + "volumeMounts": [ + { + "volumeName": "azurefile", + "mountPath": "/mnt/path1", + "subPath": "subPath1" + }, + { + "volumeName": "nfsazurefile", + "mountPath": "/mnt/path2", + "subPath": "subPath2" + } + ] + } + ], + "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" + } + } + }, + { + "name": "servicebus", + "custom": { + "type": "azure-servicebus", + "metadata": { + "queueName": "myqueue", + "namespace": "mynamespace", + "messageCount": "5" + }, + "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity" + } + }, + { + "name": "azure-queue", + "azureQueue": { + "accountName": "account1", + "queueName": "queue1", + "queueLength": 1, + "identity": "system" + } + } + ] + }, + "serviceBinds": [ + { + "serviceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/redisService", + "name": "redisService", + "clientType": "dotnet", + "customizedKeys": { + "DesiredKey": "defaultKey" + } + } + ], + "volumes": [ + { + "name": "azurefile", + "storageType": "AzureFile", + "storageName": "storage" + }, + { + "name": "nfsazurefile", + "storageType": "NfsAzureFile", + "storageName": "nfsStorage" + } + ] + } + } + } + }, + "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", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "24adfa4f-dedf-8dc0-ca29-b6d1a69ab319", + "tenantId": "23adfa4f-eedf-1dc0-ba29-a6d1a69ab3d0", + "userAssignedIdentities": { + "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": { + "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312", + "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df" + } + } + }, + "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" + }, + "targetPortHttpScheme": "http" + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30 + }, + "runtime": { + "java": { + "enableMetrics": true, + "javaAgent": { + "enabled": true, + "logging": { + "loggerSettings": [ + { + "logger": "org.springframework.boot", + "level": "debug" + } + ] + } + } + }, + "dotnet": { + "autoConfigureDataProtection": true + } + }, + "identitySettings": [ + { + "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity", + "lifecycle": "All" + }, + { + "identity": "system", + "lifecycle": "Init" + } + ] + }, + "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 + } + ], + "volumeMounts": [ + { + "volumeName": "azurefile", + "mountPath": "/mnt/path1", + "subPath": "subPath1" + }, + { + "volumeName": "nfsazurefile", + "mountPath": "/mnt/path2", + "subPath": "subPath2" + } + ] + } + ], + "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" + } + } + }, + { + "name": "servicebus", + "custom": { + "type": "azure-servicebus", + "metadata": { + "queueName": "myqueue", + "namespace": "mynamespace", + "messageCount": "5" + }, + "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity" + } + }, + { + "name": "azure-queue", + "azureQueue": { + "accountName": "account1", + "queueName": "queue1", + "queueLength": 1, + "identity": "system" + } + } + ] + }, + "volumes": [ + { + "name": "azurefile", + "storageType": "AzureFile", + "storageName": "storage" + }, + { + "name": "nfsazurefile", + "storageType": "NfsAzureFile", + "storageName": "nfsStorage" + } + ] + }, + "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", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "24adfa4f-dedf-8dc0-ca29-b6d1a69ab319", + "tenantId": "23adfa4f-eedf-1dc0-ba29-a6d1a69ab3d0", + "userAssignedIdentities": { + "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": { + "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312", + "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df" + } + } + }, + "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" + } + ], + "targetPortHttpScheme": "http" + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30 + }, + "runtime": { + "java": { + "enableMetrics": true, + "javaAgent": { + "enabled": true, + "logging": { + "loggerSettings": [ + { + "logger": "org.springframework.boot", + "level": "debug" + } + ] + } + } + }, + "dotnet": { + "autoConfigureDataProtection": true + } + }, + "identitySettings": [ + { + "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity", + "lifecycle": "All" + }, + { + "identity": "system", + "lifecycle": "Init" + } + ] + }, + "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 + } + ], + "volumeMounts": [ + { + "volumeName": "azurefile", + "mountPath": "/mnt/path1", + "subPath": "subPath1" + }, + { + "volumeName": "nfsazurefile", + "mountPath": "/mnt/path2", + "subPath": "subPath2" + } + ] + } + ], + "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" + } + } + }, + { + "name": "servicebus", + "custom": { + "type": "azure-servicebus", + "metadata": { + "queueName": "myqueue", + "namespace": "mynamespace", + "messageCount": "5" + }, + "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity" + } + }, + { + "name": "azure-queue", + "azureQueue": { + "accountName": "account1", + "queueName": "queue1", + "queueLength": 1, + "identity": "system" + } + } + ] + }, + "volumes": [ + { + "name": "azurefile", + "storageType": "AzureFile", + "storageName": "storage" + }, + { + "name": "nfsazurefile", + "storageType": "NfsAzureFile", + "storageName": "nfsStorage" + } + ] + }, + "eventStreamEndpoint": "testEndpoint" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_CreateOrUpdate_ConnectedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_CreateOrUpdate_ConnectedEnvironment.json new file mode 100644 index 000000000000..a760228e8b9b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_CreateOrUpdate_ConnectedEnvironment.json @@ -0,0 +1,458 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2024-02-02-preview", + "containerAppEnvelope": { + "location": "East US", + "extendedLocation": { + "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation", + "type": "CustomLocation" + }, + "properties": { + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube", + "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/connectedEnvironments/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/connectedEnvironments/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 + }, + "additionalPortMappings": [ + { + "external": true, + "targetPort": 1234 + }, + { + "external": false, + "targetPort": 2345, + "exposedPort": 3456 + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "runtime": { + "java": { + "enableMetrics": true, + "javaAgent": { + "enabled": true, + "logging": { + "loggerSettings": [ + { + "logger": "org.springframework.boot", + "level": "debug" + } + ] + } + } + }, + "dotnet": { + "autoConfigureDataProtection": true + } + }, + "maxInactiveRevisions": 10 + }, + "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" + } + } + } + ] + } + } + } + } + }, + "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", + "extendedLocation": { + "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation", + "type": "CustomLocation" + }, + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/demokube", + "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/connectedEnvironments/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/connectedEnvironments/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" + }, + "targetPortHttpScheme": "http" + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30 + }, + "runtime": { + "java": { + "enableMetrics": true, + "javaAgent": { + "enabled": true, + "logging": { + "loggerSettings": [ + { + "logger": "org.springframework.boot", + "level": "debug" + } + ] + } + } + }, + "dotnet": { + "autoConfigureDataProtection": true + } + } + }, + "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", + "extendedLocation": { + "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation", + "type": "CustomLocation" + }, + "properties": { + "provisioningState": "InProgress", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/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" + } + ], + "targetPortHttpScheme": "http" + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30 + }, + "runtime": { + "java": { + "enableMetrics": true, + "javaAgent": { + "enabled": true, + "logging": { + "loggerSettings": [ + { + "logger": "org.springframework.boot", + "level": "debug" + } + ] + } + } + }, + "dotnet": { + "autoConfigureDataProtection": true + } + } + }, + "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/preview/2024-02-02-preview/examples/ContainerApps_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_Delete.json new file mode 100644 index 000000000000..12356b7aabda --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testWorkerApp0", + "api-version": "2024-02-02-preview" + }, + "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=2024-02-02-preview" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_Get.json new file mode 100644 index 000000000000..16dc66ca173d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_Get.json @@ -0,0 +1,212 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2024-02-02-preview" + }, + "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", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "24adfa4f-dedf-8dc0-ca29-b6d1a69ab319", + "tenantId": "23adfa4f-eedf-1dc0-ba29-a6d1a69ab3d0", + "userAssignedIdentities": { + "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": { + "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312", + "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df" + } + } + }, + "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" + }, + "targetPortHttpScheme": "http" + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "runtime": { + "java": { + "enableMetrics": true, + "javaAgent": { + "enabled": true, + "logging": { + "loggerSettings": [ + { + "logger": "org.springframework.boot", + "level": "debug" + } + ] + } + } + }, + "dotnet": { + "autoConfigureDataProtection": true + } + }, + "maxInactiveRevisions": 10, + "service": { + "type": "redis" + }, + "identitySettings": [ + { + "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity", + "lifecycle": "All" + }, + { + "identity": "system", + "lifecycle": "Init" + } + ] + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerApp0:v4", + "name": "testcontainerApp0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "volumeMounts": [ + { + "volumeName": "azurefile", + "mountPath": "/mnt/path1", + "subPath": "subPath1" + }, + { + "volumeName": "nfsazurefile", + "mountPath": "/mnt/path2", + "subPath": "subPath2" + } + ] + } + ], + "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" + } + } + }, + { + "name": "servicebus", + "custom": { + "type": "azure-servicebus", + "metadata": { + "queueName": "myqueue", + "namespace": "mynamespace", + "messageCount": "5" + }, + "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity" + } + } + ] + }, + "serviceBinds": [ + { + "serviceId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/containerApps/service", + "name": "service", + "clientType": "dotnet", + "customizedKeys": { + "DesiredKey": "defaultKey" + } + } + ], + "volumes": [ + { + "name": "azurefile", + "storageType": "AzureFile", + "storageName": "storage" + }, + { + "name": "nfsazurefile", + "storageType": "NfsAzureFile", + "storageName": "nfsStorage" + } + ] + }, + "eventStreamEndpoint": "testEndpoint" + } + } + }, + "404": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_GetAuthToken.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_GetAuthToken.json new file mode 100644 index 000000000000..d2da0962562d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_GetAuthToken.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ContainerApps_Kind_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_Kind_CreateOrUpdate.json new file mode 100644 index 000000000000..9cedb25e64b6 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_Kind_CreateOrUpdate.json @@ -0,0 +1,196 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg", + "containerAppName": "testcontainerAppKind", + "api-version": "2024-02-02-preview", + "containerAppEnvelope": { + "location": "East Us", + "managedBy": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Web/sites/testcontainerAppKind", + "kind": "workflowapp", + "properties": { + "managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/testmanagedenv3", + "configuration": { + "activeRevisionsMode": "Single", + "ingress": { + "external": true, + "targetPort": 80, + "allowInsecure": true + } + }, + "template": { + "containers": [ + { + "image": "default/logicapps-base:latest", + "name": "logicapps-container", + "resources": { + "cpu": 1.0, + "memory": "2.0Gi" + } + } + ], + "scale": { + "minReplicas": 1, + "maxReplicas": 30 + } + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerapps/testcontainerAppKind", + "name": "testcontainerAppKind", + "type": "Microsoft.App/containerApps", + "location": "East US", + "managedBy": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Web/sites/testcontainerAppKind", + "kind": "workflowapp", + "properties": { + "provisioningState": "Succeeded", + "managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/testmanagedenv3", + "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/testmanagedenv3", + "workloadProfileName": null, + "latestRevisionName": "testcontainerAppKind--2rltv14", + "latestReadyRevisionName": "testcontainerAppKind--2rltv14", + "latestRevisionFqdn": "testcontainerAppKind--2rltv14.nicefield-53acf186.eastus.azurecontainerapps-test.io", + "configuration": { + "activeRevisionsMode": "Single", + "ingress": { + "fqdn": "testcontainerAppKind.nicefield-53acf186.eastus.azurecontainerapps-test.io", + "external": true, + "targetPort": 80, + "exposedPort": 0, + "transport": "auto", + "traffic": [ + { + "weight": 100, + "latestRevision": true + } + ], + "customDomains": null, + "allowInsecure": true, + "ipSecurityRestrictions": null, + "corsPolicy": null, + "clientCertificateMode": null, + "stickySessions": null, + "additionalPortMappings": null, + "targetPortHttpScheme": null + }, + "registries": null, + "dapr": null, + "runtime": null, + "maxInactiveRevisions": 100, + "service": null + }, + "template": { + "revisionSuffix": "", + "terminationGracePeriodSeconds": null, + "containers": [ + { + "image": "default/logicapps-base:latest", + "imageType": "ContainerImage", + "name": "logicapps-container", + "resources": { + "cpu": 1.0, + "memory": "2Gi", + "ephemeralStorage": "4Gi" + } + } + ], + "initContainers": null, + "scale": { + "minReplicas": 1, + "maxReplicas": 30, + "rules": null + }, + "volumes": null, + "serviceBinds": null + }, + "eventStreamEndpoint": "https://azurecontainerapps-test.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/containerApps/testcontainerAppKind/eventstream" + }, + "identity": { + "type": "None" + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/containerapps/testcontainerAppKind", + "name": "testcontainerAppKind", + "type": "Microsoft.App/containerApps", + "location": "East US", + "managedBy": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.Web/sites/testcontainerAppKind", + "kind": "workflowapp", + "properties": { + "provisioningState": "InProgress", + "managedEnvironmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/testmanagedenv3", + "environmentId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/testmanagedenv3", + "workloadProfileName": null, + "latestRevisionName": "testcontainerAppKind--2rltv14", + "latestReadyRevisionName": "testcontainerAppKind--2rltv14", + "latestRevisionFqdn": "testcontainerAppKind--2rltv14.nicefield-53acf186.eastus.azurecontainerapps-test.io", + "configuration": { + "activeRevisionsMode": "Single", + "ingress": { + "fqdn": "testcontainerAppKind.nicefield-53acf186.eastus.azurecontainerapps-test.io", + "external": true, + "targetPort": 80, + "exposedPort": 0, + "transport": "auto", + "traffic": [ + { + "weight": 100, + "latestRevision": true + } + ], + "customDomains": null, + "allowInsecure": true, + "ipSecurityRestrictions": null, + "corsPolicy": null, + "clientCertificateMode": null, + "stickySessions": null, + "additionalPortMappings": null, + "targetPortHttpScheme": null + }, + "registries": null, + "dapr": null, + "runtime": null, + "maxInactiveRevisions": 100, + "service": null + }, + "template": { + "revisionSuffix": "", + "terminationGracePeriodSeconds": null, + "containers": [ + { + "image": "default/logicapps-base:latest", + "imageType": "ContainerImage", + "name": "logicapps-container", + "resources": { + "cpu": 1.0, + "memory": "2Gi", + "ephemeralStorage": "4Gi" + } + } + ], + "initContainers": null, + "scale": { + "minReplicas": 1, + "maxReplicas": 30, + "rules": null + }, + "volumes": null, + "serviceBinds": null + }, + "eventStreamEndpoint": "https://azurecontainerapps-test.dev/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg/containerApps/testcontainerAppKind/eventstream" + }, + "identity": { + "type": "None" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_ListByResourceGroup.json new file mode 100644 index 000000000000..086b70ab7985 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_ListByResourceGroup.json @@ -0,0 +1,145 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "api-version": "2024-02-02-preview" + }, + "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" + }, + "targetPortHttpScheme": "http" + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "runtime": { + "java": { + "enableMetrics": true, + "javaAgent": { + "enabled": true, + "logging": { + "loggerSettings": [ + { + "logger": "org.springframework.boot", + "level": "debug" + } + ] + } + } + }, + "dotnet": { + "autoConfigureDataProtection": 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/preview/2024-02-02-preview/examples/ContainerApps_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_ListBySubscription.json new file mode 100644 index 000000000000..d2e2397e27e0 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_ListBySubscription.json @@ -0,0 +1,157 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2024-02-02-preview" + }, + "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" + }, + "targetPortHttpScheme": "http" + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "runtime": { + "java": { + "enableMetrics": true, + "javaAgent": { + "enabled": true, + "logging": { + "loggerSettings": [ + { + "logger": "org.springframework.boot", + "level": "debug" + } + ] + } + } + }, + "dotnet": { + "autoConfigureDataProtection": 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", + "clientType": "dotnet", + "customizedKeys": { + "DesiredKey": "defaultKey" + } + } + ] + }, + "eventStreamEndpoint": "testEndpoint" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_ListCustomHostNameAnalysis.json new file mode 100644 index 000000000000..60869a359213 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ContainerApps_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_ListSecrets.json new file mode 100644 index 000000000000..596dcc587405 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_ListSecrets.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "secret1" + }, + { + "name": "secret2" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_ManagedBy_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_ManagedBy_CreateOrUpdate.json new file mode 100644 index 000000000000..93a76de10edd --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_ManagedBy_CreateOrUpdate.json @@ -0,0 +1,204 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerAppManagedBy", + "api-version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/examples/ContainerApps_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_Patch.json new file mode 100644 index 000000000000..8c8412800ca8 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_Patch.json @@ -0,0 +1,286 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2024-02-02-preview", + "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 + }, + "runtime": { + "java": { + "enableMetrics": true, + "javaAgent": { + "enabled": true, + "logging": { + "loggerSettings": [ + { + "logger": "org.springframework.boot", + "level": "debug" + } + ] + } + } + }, + "dotnet": { + "autoConfigureDataProtection": 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", + "clientType": "dotnet", + "customizedKeys": { + "DesiredKey": "defaultKey" + } + } + ] + } + } + } + }, + "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" + } + ], + "targetPortHttpScheme": "http" + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "runtime": { + "java": { + "enableMetrics": true, + "javaAgent": { + "enabled": true, + "logging": { + "loggerSettings": [ + { + "logger": "org.springframework.boot", + "level": "debug" + } + ] + } + } + }, + "dotnet": { + "autoConfigureDataProtection": 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=2024-02-02-preview" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_SourceToCloudApp_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_SourceToCloudApp_CreateOrUpdate.json new file mode 100644 index 000000000000..a29cf611974c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_SourceToCloudApp_CreateOrUpdate.json @@ -0,0 +1,490 @@ +{ + "operationId": "ContainerApps_CreateOrUpdate", + "title": "ContainerApps_SourceToCloudApp_CreateOrUpdate", + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2024-02-02-preview", + "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 + }, + "additionalPortMappings": [ + { + "external": true, + "targetPort": 1234 + }, + { + "external": false, + "targetPort": 2345, + "exposedPort": 3456 + } + ] + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "maxInactiveRevisions": 10, + "service": { + "type": "redis" + } + }, + "patchingConfiguration": { + "patchingMode": "Automatic" + }, + "template": { + "containers": [ + { + "image": "", + "imageType": "CloudBuild", + "name": "testcontainerApp0", + "probes": [ + { + "type": "Liveness", + "httpGet": { + "path": "/health", + "port": 8080, + "httpHeaders": [ + { + "name": "Custom-Header", + "value": "Awesome" + } + ] + }, + "initialDelaySeconds": 3, + "periodSeconds": 3 + } + ], + "volumeMounts": [ + { + "volumeName": "azurefile", + "mountPath": "/mnt/path1", + "subPath": "subPath1" + }, + { + "volumeName": "nfsazurefile", + "mountPath": "/mnt/path2", + "subPath": "subPath2" + } + ] + } + ], + "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", + "clientType": "dotnet", + "customizedKeys": { + "DesiredKey": "defaultKey" + } + } + ], + "volumes": [ + { + "name": "azurefile", + "storageType": "AzureFile", + "storageName": "storage" + }, + { + "name": "nfsazurefile", + "storageType": "NfsAzureFile", + "storageName": "nfsStorage" + } + ] + } + } + } + }, + "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" + }, + "targetPortHttpScheme": "http" + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30 + } + }, + "patchingConfiguration": { + "patchingMode": "Automatic" + }, + "template": { + "containers": [ + { + "image": "mcr.microsoft.com/k8se/cloudbuild-waiting-upload:latest", + "imageType": "CloudBuild", + "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 + } + ], + "volumeMounts": [ + { + "volumeName": "azurefile", + "mountPath": "/mnt/path1", + "subPath": "subPath1" + }, + { + "volumeName": "nfsazurefile", + "mountPath": "/mnt/path2", + "subPath": "subPath2" + } + ] + } + ], + "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" + } + } + } + ] + }, + "volumes": [ + { + "name": "azurefile", + "storageType": "AzureFile", + "storageName": "storage" + }, + { + "name": "nfsazurefile", + "storageType": "NfsAzureFile", + "storageName": "nfsStorage" + } + ] + }, + "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" + } + ], + "targetPortHttpScheme": "http" + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30 + } + }, + "patchingConfiguration": { + "patchingMode": "Automatic" + }, + "template": { + "containers": [ + { + "image": "mcr.microsoft.com/k8se/cloudbuild-waiting-upload:latest", + "imageType": "CloudBuild", + "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 + } + ], + "volumeMounts": [ + { + "volumeName": "azurefile", + "mountPath": "/mnt/path1", + "subPath": "subPath1" + }, + { + "volumeName": "nfsazurefile", + "mountPath": "/mnt/path2", + "subPath": "subPath2" + } + ] + } + ], + "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" + } + } + } + ] + }, + "volumes": [ + { + "name": "azurefile", + "storageType": "AzureFile", + "storageName": "storage" + }, + { + "name": "nfsazurefile", + "storageType": "NfsAzureFile", + "storageName": "nfsStorage" + } + ] + }, + "eventStreamEndpoint": "testEndpoint" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_Start.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_Start.json new file mode 100644 index 000000000000..f3f290603d7d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_Start.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testWorkerApp0", + "api-version": "2024-02-02-preview" + }, + "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" + } + ], + "targetPortHttpScheme": "http" + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "runtime": { + "java": { + "enableMetrics": true, + "javaAgent": { + "enabled": true, + "logging": { + "loggerSettings": [ + { + "logger": "org.springframework.boot", + "level": "debug" + } + ] + } + } + }, + "dotnet": { + "autoConfigureDataProtection": 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=2024-02-02-preview" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_Stop.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_Stop.json new file mode 100644 index 000000000000..f3f290603d7d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_Stop.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testWorkerApp0", + "api-version": "2024-02-02-preview" + }, + "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" + } + ], + "targetPortHttpScheme": "http" + }, + "dapr": { + "enabled": true, + "appPort": 3000, + "appProtocol": "http", + "httpReadBufferSize": 30, + "httpMaxRequestSize": 10, + "logLevel": "debug", + "enableApiLogging": true + }, + "runtime": { + "java": { + "enableMetrics": true, + "javaAgent": { + "enabled": true, + "logging": { + "loggerSettings": [ + { + "logger": "org.springframework.boot", + "level": "debug" + } + ] + } + } + }, + "dotnet": { + "autoConfigureDataProtection": 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=2024-02-02-preview" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_TcpApp_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_TcpApp_CreateOrUpdate.json new file mode 100644 index 000000000000..c2ee2e7c352b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ContainerApps_TcpApp_CreateOrUpdate.json @@ -0,0 +1,201 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerAppTcp", + "api-version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicies_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicies_Delete.json new file mode 100644 index 000000000000..759ca63dcc32 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicies_Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "mydaprcomponent", + "name": "myresiliencypolicy", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicies_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicies_Get.json new file mode 100644 index 000000000000..9829dd271d77 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicies_Get.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "mydaprcomponent", + "name": "myresiliencypolicy", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy", + "name": "myresiliencypolicy", + "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies", + "properties": { + "inboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 15, + "retryBackOff": { + "initialDelayInMilliseconds": 2000, + "maxIntervalInMilliseconds": 5500 + } + }, + "timeoutPolicy": { + "responseTimeoutInSeconds": 30 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 5, + "timeoutInSeconds": 10 + } + }, + "outboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 100, + "maxIntervalInMilliseconds": 30000 + } + }, + "timeoutPolicy": { + "responseTimeoutInSeconds": 12 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 3, + "timeoutInSeconds": 20, + "intervalInSeconds": 60 + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicies_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicies_List.json new file mode 100644 index 000000000000..0815ad7364f9 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicies_List.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "mydaprcomponent", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy", + "name": "something", + "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies", + "properties": { + "inboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 15, + "retryBackOff": { + "initialDelayInMilliseconds": 2000, + "maxIntervalInMilliseconds": 5500 + } + }, + "timeoutPolicy": { + "responseTimeoutInSeconds": 30 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 5, + "timeoutInSeconds": 10 + } + }, + "outboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 100, + "maxIntervalInMilliseconds": 30000 + } + }, + "timeoutPolicy": { + "responseTimeoutInSeconds": 12 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 3, + "timeoutInSeconds": 20, + "intervalInSeconds": 60 + } + } + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_AllOptions.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_AllOptions.json new file mode 100644 index 000000000000..4402c89a937d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_AllOptions.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "mydaprcomponent", + "name": "myresiliencypolicy", + "api-version": "2024-02-02-preview", + "daprComponentResiliencyPolicyEnvelope": { + "properties": { + "inboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 15, + "retryBackOff": { + "initialDelayInMilliseconds": 2000, + "maxIntervalInMilliseconds": 5500 + } + }, + "timeoutPolicy": { + "responseTimeoutInSeconds": 30 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 5, + "timeoutInSeconds": 10, + "intervalInSeconds": 4 + } + }, + "outboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 100, + "maxIntervalInMilliseconds": 30000 + } + }, + "timeoutPolicy": { + "responseTimeoutInSeconds": 12 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 3, + "timeoutInSeconds": 20, + "intervalInSeconds": 60 + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy", + "name": "myresiliencypolicy", + "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies", + "properties": { + "inboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 15, + "retryBackOff": { + "initialDelayInMilliseconds": 2000, + "maxIntervalInMilliseconds": 5500 + } + }, + "timeoutPolicy": { + "responseTimeoutInSeconds": 30 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 5, + "timeoutInSeconds": 10, + "intervalInSeconds": 4 + } + }, + "outboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 100, + "maxIntervalInMilliseconds": 30000 + } + }, + "timeoutPolicy": { + "responseTimeoutInSeconds": 12 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 3, + "timeoutInSeconds": 20, + "intervalInSeconds": 60 + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy", + "name": "myresiliencypolicy", + "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies", + "properties": { + "inboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 15, + "retryBackOff": { + "initialDelayInMilliseconds": 2000, + "maxIntervalInMilliseconds": 5500 + } + }, + "timeoutPolicy": { + "responseTimeoutInSeconds": 30 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 5, + "timeoutInSeconds": 10, + "intervalInSeconds": 4 + } + }, + "outboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 100, + "maxIntervalInMilliseconds": 30000 + } + }, + "timeoutPolicy": { + "responseTimeoutInSeconds": 12 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 3, + "timeoutInSeconds": 20, + "intervalInSeconds": 60 + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_OutboundOnly.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_OutboundOnly.json new file mode 100644 index 000000000000..0779a0445883 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_OutboundOnly.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "mydaprcomponent", + "name": "myresiliencypolicy", + "api-version": "2024-02-02-preview", + "daprComponentResiliencyPolicyEnvelope": { + "properties": { + "outboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 100, + "maxIntervalInMilliseconds": 30000 + } + }, + "timeoutPolicy": { + "responseTimeoutInSeconds": 12 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 3, + "timeoutInSeconds": 20, + "intervalInSeconds": 60 + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy", + "name": "myresiliencypolicy", + "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies", + "properties": { + "outboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 100, + "maxIntervalInMilliseconds": 30000 + } + }, + "timeoutPolicy": { + "responseTimeoutInSeconds": 12 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 3, + "timeoutInSeconds": 20, + "intervalInSeconds": 60 + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy", + "name": "myresiliencypolicy", + "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies", + "properties": { + "outboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 100, + "maxIntervalInMilliseconds": 30000 + } + }, + "timeoutPolicy": { + "responseTimeoutInSeconds": 12 + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 3, + "timeoutInSeconds": 20, + "intervalInSeconds": 60 + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_SparseOptions.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_SparseOptions.json new file mode 100644 index 000000000000..d1af9620b863 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponentResiliencyPolicy_CreateOrUpdate_SparseOptions.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "mydaprcomponent", + "name": "myresiliencypolicy", + "api-version": "2024-02-02-preview", + "daprComponentResiliencyPolicyEnvelope": { + "properties": { + "inboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 2000, + "maxIntervalInMilliseconds": 5500 + } + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 3, + "timeoutInSeconds": 20 + } + }, + "outboundPolicy": { + "timeoutPolicy": { + "responseTimeoutInSeconds": 12 + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy", + "name": "myresiliencypolicy", + "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies", + "properties": { + "inboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 2000, + "maxIntervalInMilliseconds": 5500 + } + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 3, + "timeoutInSeconds": 20 + } + }, + "outboundPolicy": { + "timeoutPolicy": { + "responseTimeoutInSeconds": 12 + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprComponents/mydaprcomponent/resiliencyPolicies/myresiliencypolicy", + "name": "myresiliencypolicy", + "type": "Microsoft.App/managedEnvironments/daprComponents/resiliencyPolicies", + "properties": { + "inboundPolicy": { + "httpRetryPolicy": { + "maxRetries": 5, + "retryBackOff": { + "initialDelayInMilliseconds": 2000, + "maxIntervalInMilliseconds": 5500 + } + }, + "circuitBreakerPolicy": { + "consecutiveErrors": 3, + "timeoutInSeconds": 20 + } + }, + "outboundPolicy": { + "timeoutPolicy": { + "responseTimeoutInSeconds": 12 + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_CreateOrUpdate_SecretStoreComponent.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_CreateOrUpdate_SecretStoreComponent.json new file mode 100644 index 000000000000..1ac2127e111b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_CreateOrUpdate_SecretStoreComponent.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2024-02-02-preview", + "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" + ], + "serviceComponentBind": [ + { + "name": "statestore", + "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis", + "metadata": { + "name": "daprcomponentBind", + "value": "redis-bind" + } + } + ] + } + } + }, + "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" + ], + "serviceComponentBind": [ + { + "name": "statestore", + "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis", + "metadata": { + "name": "daprcomponentBind", + "value": "redis-bind" + } + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_CreateOrUpdate_Secrets.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_CreateOrUpdate_Secrets.json new file mode 100644 index 000000000000..154f7f94f2df --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_CreateOrUpdate_Secrets.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2024-02-02-preview", + "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" + ], + "serviceComponentBind": [ + { + "name": "statestore", + "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis", + "metadata": { + "name": "daprcomponentBind", + "value": "redis-bind" + } + } + ] + } + } + }, + "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" + ], + "serviceComponentBind": [ + { + "name": "statestore", + "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis", + "metadata": { + "name": "daprcomponentBind", + "value": "redis-bind" + } + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_Delete.json new file mode 100644 index 000000000000..4c16123b388c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_Get_SecretStoreComponent.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_Get_SecretStoreComponent.json new file mode 100644 index 000000000000..79c00c9c11f3 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_Get_SecretStoreComponent.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2024-02-02-preview" + }, + "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" + ], + "serviceComponentBind": [ + { + "name": "statestore", + "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis", + "metadata": { + "name": "daprcomponentBind", + "value": "redis-bind" + } + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_Get_Secrets.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_Get_Secrets.json new file mode 100644 index 000000000000..05f7ab75bc7a --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_Get_Secrets.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2024-02-02-preview" + }, + "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" + ], + "serviceComponentBind": [ + { + "name": "statestore", + "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis", + "metadata": { + "name": "daprcomponentBind", + "value": "redis-bind" + } + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_List.json new file mode 100644 index 000000000000..711d7fed8f46 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_List.json @@ -0,0 +1,152 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "api-version": "2024-02-02-preview" + }, + "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" + ], + "serviceComponentBind": [ + { + "name": "statestore", + "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis", + "metadata": { + "name": "daprcomponentBind", + "value": "redis-bind" + } + } + ] + } + }, + { + "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" + ], + "serviceComponentBind": [ + { + "name": "statestore", + "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis", + "metadata": { + "name": "daprcomponentBind", + "value": "redis-bind" + } + } + ] + } + }, + { + "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" + ], + "serviceComponentBind": [ + { + "name": "statestore", + "serviceId": "/subscriptions/9f7371f1-b593-4c3c-84e2-9167806ad358/resourceGroups/ca-syn2-group/providers/Microsoft.App/containerapps/cappredis", + "metadata": { + "name": "daprcomponentBind", + "value": "redis-bind" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_ListSecrets.json new file mode 100644 index 000000000000..c0b0ee54fe79 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprComponents_ListSecrets.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "componentName": "reddog", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "secret1" + }, + { + "name": "secret2" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_CreateOrUpdate_BulkSubscribeAndScopes.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_CreateOrUpdate_BulkSubscribeAndScopes.json new file mode 100644 index 000000000000..95fa8519ac0d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_CreateOrUpdate_BulkSubscribeAndScopes.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "mysubscription", + "api-version": "2024-02-02-preview", + "daprSubscriptionEnvelope": { + "properties": { + "pubsubName": "mypubsubcomponent", + "topic": "inventory", + "routes": { + "default": "/products" + }, + "scopes": [ + "warehouseapp", + "customersupportapp" + ], + "bulkSubscribe": { + "enabled": true, + "maxMessagesCount": 123, + "maxAwaitDurationMs": 500 + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription", + "name": "mysubscription", + "type": "Microsoft.App/managedEnvironments/daprSubscriptions", + "properties": { + "pubsubName": "mypubsubcomponent", + "topic": "inventory", + "routes": { + "rules": [], + "default": "/products" + }, + "scopes": [ + "warehouseapp", + "customersupportapp" + ], + "bulkSubscribe": { + "enabled": true, + "maxMessagesCount": 123, + "maxAwaitDurationMs": 500 + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription", + "name": "mysubscription", + "type": "Microsoft.App/managedEnvironments/daprSubscriptions", + "properties": { + "pubsubName": "mypubsubcomponent", + "topic": "inventory", + "routes": { + "rules": [], + "default": "/products" + }, + "scopes": [ + "warehouseapp", + "customersupportapp" + ], + "bulkSubscribe": { + "enabled": true, + "maxMessagesCount": 123, + "maxAwaitDurationMs": 500 + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_CreateOrUpdate_DefaultRoute.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_CreateOrUpdate_DefaultRoute.json new file mode 100644 index 000000000000..210408890c28 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_CreateOrUpdate_DefaultRoute.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "mysubscription", + "api-version": "2024-02-02-preview", + "daprSubscriptionEnvelope": { + "properties": { + "pubsubName": "mypubsubcomponent", + "topic": "inventory", + "routes": { + "default": "/products" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription", + "name": "mysubscription", + "type": "Microsoft.App/managedEnvironments/daprSubscriptions", + "properties": { + "pubsubName": "mypubsubcomponent", + "topic": "inventory", + "routes": { + "rules": [], + "default": "/products" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription", + "name": "mysubscription", + "type": "Microsoft.App/managedEnvironments/daprSubscriptions", + "properties": { + "pubsubName": "mypubsubcomponent", + "topic": "inventory", + "routes": { + "rules": [], + "default": "/products" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_CreateOrUpdate_RouteRulesAndMetadata.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_CreateOrUpdate_RouteRulesAndMetadata.json new file mode 100644 index 000000000000..43765041844a --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_CreateOrUpdate_RouteRulesAndMetadata.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "mysubscription", + "api-version": "2024-02-02-preview", + "daprSubscriptionEnvelope": { + "properties": { + "pubsubName": "mypubsubcomponent", + "topic": "inventory", + "metadata": { + "foo": "bar", + "hello": "world" + }, + "routes": { + "rules": [ + { + "match": "event.type == 'widget'", + "path": "/widgets" + }, + { + "match": "event.type == 'gadget'", + "path": "/gadgets" + } + ], + "default": "/products" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription", + "name": "mysubscription", + "type": "Microsoft.App/managedEnvironments/daprSubscriptions", + "properties": { + "pubsubName": "mypubsubcomponent", + "topic": "inventory", + "routes": { + "rules": [ + { + "match": "event.type == 'widget'", + "path": "/widgets" + }, + { + "match": "event.type == 'gadget'", + "path": "/gadgets" + } + ], + "default": "/products" + }, + "metadata": { + "foo": "bar", + "hello": "world" + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription", + "name": "mysubscription", + "type": "Microsoft.App/managedEnvironments/daprSubscriptions", + "properties": { + "pubsubName": "mypubsubcomponent", + "topic": "inventory", + "routes": { + "rules": [ + { + "match": "event.type == 'widget'", + "path": "/widgets" + }, + { + "match": "event.type == 'gadget'", + "path": "/gadgets" + } + ], + "default": "/products" + }, + "metadata": { + "foo": "bar", + "hello": "world" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_Delete.json new file mode 100644 index 000000000000..7e5c8f15bd35 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "mysubscription", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_Get_BulkSubscribeAndScopes.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_Get_BulkSubscribeAndScopes.json new file mode 100644 index 000000000000..3d11556bd88a --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_Get_BulkSubscribeAndScopes.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "mypubsubcomponent", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription", + "name": "mysubscription", + "type": "Microsoft.App/managedEnvironments/daprSubscriptions", + "properties": { + "pubsubName": "mypubsubcomponent", + "topic": "inventory", + "routes": { + "rules": [], + "default": "/products" + }, + "scopes": [ + "warehouseapp", + "customersupportapp" + ], + "bulkSubscribe": { + "enabled": true, + "maxMessagesCount": 123, + "maxAwaitDurationMs": 500 + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_Get_DefaultRoute.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_Get_DefaultRoute.json new file mode 100644 index 000000000000..79bff876fcc7 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_Get_DefaultRoute.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "mypubsubcomponent", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription", + "name": "mysubscription", + "type": "Microsoft.App/managedEnvironments/daprSubscriptions", + "properties": { + "pubsubName": "mypubsubcomponent", + "topic": "inventory", + "routes": { + "rules": [], + "default": "/products" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_Get_RouteRulesAndMetadata.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_Get_RouteRulesAndMetadata.json new file mode 100644 index 000000000000..0beee76ad4d1 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_Get_RouteRulesAndMetadata.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "mypubsubcomponent", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mysubscription", + "name": "mysubscription", + "type": "Microsoft.App/managedEnvironments/daprSubscriptions", + "properties": { + "pubsubName": "mypubsubcomponent", + "topic": "inventory", + "routes": { + "rules": [ + { + "match": "event.type == 'widget'", + "path": "/widgets" + }, + { + "match": "event.type == 'gadget'", + "path": "/gadgets" + } + ], + "default": "/products" + }, + "metadata": { + "foo": "bar", + "hello": "world" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_List.json new file mode 100644 index 000000000000..e3781e4bdd0d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DaprSubscriptions_List.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mybulksubscription", + "name": "mybulksubscription", + "type": "Microsoft.App/managedEnvironments/daprSubscriptions", + "properties": { + "pubsubName": "mypubsubcomponent", + "topic": "inventory", + "routes": { + "rules": [], + "default": "/products" + }, + "bulkSubscribe": { + "enabled": true, + "maxMessagesCount": 123, + "maxAwaitDurationMs": 500 + } + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/mydefaultsubscription", + "name": "mydefaultsubscription", + "type": "Microsoft.App/managedEnvironments/daprSubscriptions", + "properties": { + "pubsubName": "mypubsubcomponent", + "topic": "inventory", + "routes": { + "rules": [], + "default": "/products" + } + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/daprSubscriptions/myroutingsubscription", + "name": "myroutingsubscription", + "type": "Microsoft.App/managedEnvironments/daprSubscriptions", + "properties": { + "pubsubName": "mypubsubcomponent", + "topic": "inventory", + "routes": { + "rules": [ + { + "match": "event.type == 'widget'", + "path": "/widgets" + }, + { + "match": "event.type == 'gadget'", + "path": "/gadgets" + } + ], + "default": "/products" + }, + "metadata": { + "foo": "bar", + "hello": "world" + } + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_CreateOrUpdate.json new file mode 100644 index 000000000000..eb1ec7de749d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_CreateOrUpdate.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "mydotnetcomponent", + "api-version": "2024-02-02-preview", + "dotNetComponentEnvelope": { + "properties": { + "componentType": "AspireDashboard", + "configurations": [ + { + "propertyName": "dashboard-theme", + "value": "dark" + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent", + "name": "mydotnetcomponent", + "type": "Microsoft.App/managedEnvironments/dotNetComponents", + "properties": { + "componentType": "AspireDashboard", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "dashboard-theme", + "value": "dark" + } + ] + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent", + "name": "mydotnetcomponent", + "type": "Microsoft.App/managedEnvironments/dotNetComponents", + "properties": { + "componentType": "AspireDashboard", + "provisioningState": "InProgress", + "configurations": [ + { + "propertyName": "dashboard-theme", + "value": "dark" + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_CreateOrUpdate_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_CreateOrUpdate_ServiceBind.json new file mode 100644 index 000000000000..a1a9b883ef1e --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_CreateOrUpdate_ServiceBind.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "mydotnetcomponent", + "api-version": "2024-02-02-preview", + "dotNetComponentEnvelope": { + "properties": { + "componentType": "AspireDashboard", + "configurations": [ + { + "propertyName": "dashboard-theme", + "value": "dark" + } + ], + "serviceBinds": [ + { + "name": "yellowcat", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat" + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent", + "name": "mydotnetcomponent", + "type": "Microsoft.App/managedEnvironments/dotNetComponents", + "properties": { + "componentType": "AspireDashboard", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "dashboard-theme", + "value": "dark" + } + ], + "serviceBinds": [ + { + "name": "yellowcat", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat" + } + ] + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent", + "name": "mydotnetcomponent", + "type": "Microsoft.App/managedEnvironments/dotNetComponents", + "properties": { + "componentType": "AspireDashboard", + "provisioningState": "InProgress", + "configurations": [ + { + "propertyName": "dashboard-theme", + "value": "dark" + } + ], + "serviceBinds": [ + { + "name": "yellowcat", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat" + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_Delete.json new file mode 100644 index 000000000000..2a1cf9489257 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "mydotnetcomponent", + "api-version": "2024-02-02-preview" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/providers/Microsoft.App/locations/eastus/operationResults/amF2YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-02-02-preview" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_Get.json new file mode 100644 index 000000000000..bbabae892f66 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "mydotnetcomponent", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent", + "name": "mydotnetcomponent", + "type": "Microsoft.App/managedEnvironments/dotNetComponents", + "properties": { + "componentType": "AspireDashboard", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "dashboard-theme", + "value": "dark" + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_Get_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_Get_ServiceBind.json new file mode 100644 index 000000000000..2b6f2e791346 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_Get_ServiceBind.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "mydotnetcomponent", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent", + "name": "mydotnetcomponent", + "type": "Microsoft.App/managedEnvironments/dotNetComponents", + "properties": { + "componentType": "AspireDashboard", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "dashboard-theme", + "value": "dark" + } + ], + "serviceBinds": [ + { + "name": "yellowcat", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat" + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_List.json new file mode 100644 index 000000000000..e237d132c66a --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_List.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/blueshark", + "name": "blueshark", + "type": "Microsoft.App/managedEnvironments/dotNetComponents", + "properties": { + "componentType": "AspireDashboard", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "dashboard-theme", + "value": "dark" + } + ] + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat", + "name": "yellowcat", + "type": "Microsoft.App/managedEnvironments/dotNetComponents", + "properties": { + "componentType": "MyOtherDotNetComponentType", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "timeout-value", + "value": "10000ms" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_List_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_List_ServiceBind.json new file mode 100644 index 000000000000..b1a774690465 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_List_ServiceBind.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/blueshark", + "name": "blueshark", + "type": "Microsoft.App/managedEnvironments/dotNetComponents", + "properties": { + "componentType": "AspireDashboard", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "dashboard-theme", + "value": "dark" + } + ], + "serviceBinds": [ + { + "name": "yellowcat", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat" + } + ] + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat", + "name": "yellowcat", + "type": "Microsoft.App/managedEnvironments/dotNetComponents", + "properties": { + "componentType": "MyOtherDotNetComponentType", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "timeout-value", + "value": "10000ms" + } + ], + "serviceBinds": [ + { + "name": "blueshark", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/blueshark" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_Patch.json new file mode 100644 index 000000000000..f9649749921f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_Patch.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "mydotnetcomponent", + "api-version": "2024-02-02-preview", + "dotNetComponentEnvelope": { + "properties": { + "componentType": "AspireDashboard", + "configurations": [ + { + "propertyName": "dashboard-theme", + "value": "dark" + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent", + "name": "mydotnetcomponent", + "type": "Microsoft.App/managedEnvironments/dotNetComponents", + "properties": { + "componentType": "AspireDashboard", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "dashboard-theme", + "value": "dark" + } + ] + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/providers/Microsoft.App/locations/eastus/operationResults/amF2YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-02-02-preview" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_Patch_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_Patch_ServiceBind.json new file mode 100644 index 000000000000..a954ab257b8b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/DotNetComponents_Patch_ServiceBind.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "mydotnetcomponent", + "api-version": "2024-02-02-preview", + "dotNetComponentEnvelope": { + "properties": { + "componentType": "AspireDashboard", + "configurations": [ + { + "propertyName": "dashboard-theme", + "value": "dark" + } + ], + "serviceBinds": [ + { + "name": "yellowcat", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat" + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/mydotnetcomponent", + "name": "mydotnetcomponent", + "type": "Microsoft.App/managedEnvironments/dotNetComponents", + "properties": { + "componentType": "AspireDashboard", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "dashboard-theme", + "value": "dark" + } + ], + "serviceBinds": [ + { + "name": "yellowcat", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/dotNetComponents/yellowcat" + } + ] + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/providers/Microsoft.App/locations/eastus/operationResults/amF2YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-02-02-preview" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/FunctionsExtension_Post.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/FunctionsExtension_Post.json new file mode 100644 index 000000000000..3a17f1c4c2b6 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/FunctionsExtension_Post.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "revisionName": "testcontainerApp0-pjxhsye", + "functionAppName": "testcontainerApp0", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": "{\"status\":\"success\"}" + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_CreateOrUpdate.json new file mode 100644 index 000000000000..b1fc9b0e06cb --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_CreateOrUpdate.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "myjavacomponent", + "api-version": "2024-02-02-preview", + "javaComponentEnvelope": { + "properties": { + "componentType": "SpringBootAdmin", + "configurations": [ + { + "propertyName": "spring.boot.admin.ui.enable-toasts", + "value": "true" + }, + { + "propertyName": "spring.boot.admin.monitor.status-interval", + "value": "10000ms" + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent", + "name": "myjavacomponent", + "type": "Microsoft.App/managedEnvironments/javaComponents", + "properties": { + "componentType": "SpringBootAdmin", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "spring.boot.admin.ui.enable-toasts", + "value": "true" + }, + { + "propertyName": "spring.boot.admin.monitor.status-interval", + "value": "10000ms" + } + ], + "ingress": { + "fqdn": "myjavacomponent.myenvironment.test.net" + } + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent", + "name": "myjavacomponent", + "type": "Microsoft.App/managedEnvironments/javaComponents", + "properties": { + "componentType": "SpringBootAdmin", + "provisioningState": "InProgress", + "configurations": [ + { + "propertyName": "spring.boot.admin.ui.enable-toasts", + "value": "true" + }, + { + "propertyName": "spring.boot.admin.monitor.status-interval", + "value": "10000ms" + } + ], + "ingress": { + "fqdn": "myjavacomponent.myenvironment.test.net" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_CreateOrUpdate_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_CreateOrUpdate_ServiceBind.json new file mode 100644 index 000000000000..d950c4db254c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_CreateOrUpdate_ServiceBind.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "myjavacomponent", + "api-version": "2024-02-02-preview", + "javaComponentEnvelope": { + "properties": { + "componentType": "SpringBootAdmin", + "configurations": [ + { + "propertyName": "spring.boot.admin.ui.enable-toasts", + "value": "true" + }, + { + "propertyName": "spring.boot.admin.monitor.status-interval", + "value": "10000ms" + } + ], + "serviceBinds": [ + { + "name": "yellowcat", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat" + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent", + "name": "myjavacomponent", + "type": "Microsoft.App/managedEnvironments/javaComponents", + "properties": { + "componentType": "SpringBootAdmin", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "spring.boot.admin.ui.enable-toasts", + "value": "true" + }, + { + "propertyName": "spring.boot.admin.monitor.status-interval", + "value": "10000ms" + } + ], + "serviceBinds": [ + { + "name": "yellowcat", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat" + } + ] + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent", + "name": "myjavacomponent", + "type": "Microsoft.App/managedEnvironments/javaComponents", + "properties": { + "componentType": "SpringBootAdmin", + "provisioningState": "InProgress", + "configurations": [ + { + "propertyName": "spring.boot.admin.ui.enable-toasts", + "value": "true" + }, + { + "propertyName": "spring.boot.admin.monitor.status-interval", + "value": "10000ms" + } + ], + "serviceBinds": [ + { + "name": "yellowcat", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat" + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_Delete.json new file mode 100644 index 000000000000..3c68cdf02361 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "myjavacomponent", + "api-version": "2024-02-02-preview" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/providers/Microsoft.App/locations/eastus/operationResults/amF2YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-02-02-preview" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_Get.json new file mode 100644 index 000000000000..8c7fdcf7bf6d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_Get.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "myjavacomponent", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent", + "name": "myjavacomponent", + "type": "Microsoft.App/managedEnvironments/javaComponents", + "properties": { + "componentType": "SpringBootAdmin", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "spring.boot.admin.ui.enable-toasts", + "value": "true" + }, + { + "propertyName": "spring.boot.admin.monitor.status-interval", + "value": "10000ms" + } + ], + "ingress": { + "fqdn": "myjavacomponent.myenvironment.test.net" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_Get_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_Get_ServiceBind.json new file mode 100644 index 000000000000..453ae3ef40a4 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_Get_ServiceBind.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "myjavacomponent", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent", + "name": "myjavacomponent", + "type": "Microsoft.App/managedEnvironments/javaComponents", + "properties": { + "componentType": "SpringBootAdmin", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "spring.boot.admin.ui.enable-toasts", + "value": "true" + }, + { + "propertyName": "spring.boot.admin.monitor.status-interval", + "value": "10000ms" + } + ], + "serviceBinds": [ + { + "name": "yellowcat", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat" + } + ] + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_List.json new file mode 100644 index 000000000000..dc255672539b --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_List.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/blueshark", + "name": "blueshark", + "type": "Microsoft.App/managedEnvironments/javaComponents", + "properties": { + "componentType": "SpringBootAdmin", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "spring.boot.admin.ui.enable-toasts", + "value": "true" + }, + { + "propertyName": "spring.boot.admin.monitor.status-interval", + "value": "10000ms" + } + ], + "ingress": { + "fqdn": "myjavacomponent.myenvironment.test.net" + } + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat", + "name": "yellowcat", + "type": "Microsoft.App/managedEnvironments/javaComponents", + "properties": { + "componentType": "SpringCloudEureka", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "spring.cloud.config.server.git.uri", + "value": "" + } + ], + "ingress": { + "fqdn": "myjavacomponent.myenvironment.test.net" + } + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_List_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_List_ServiceBind.json new file mode 100644 index 000000000000..fb4a2c3134de --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_List_ServiceBind.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/blueshark", + "name": "blueshark", + "type": "Microsoft.App/managedEnvironments/javaComponents", + "properties": { + "componentType": "SpringBootAdmin", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "spring.boot.admin.ui.enable-toasts", + "value": "true" + }, + { + "propertyName": "spring.boot.admin.monitor.status-interval", + "value": "10000ms" + } + ], + "serviceBinds": [ + { + "name": "yellowcat", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat" + } + ] + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat", + "name": "yellowcat", + "type": "Microsoft.App/managedEnvironments/javaComponents", + "properties": { + "componentType": "SpringCloudEureka", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "spring.cloud.config.server.git.uri", + "value": "" + } + ], + "serviceBinds": [ + { + "name": "blueshark", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/blueshark" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_Patch.json new file mode 100644 index 000000000000..09af6e597e05 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_Patch.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "myjavacomponent", + "api-version": "2024-02-02-preview", + "javaComponentEnvelope": { + "properties": { + "componentType": "SpringBootAdmin", + "configurations": [ + { + "propertyName": "spring.boot.admin.ui.enable-toasts", + "value": "true" + }, + { + "propertyName": "spring.boot.admin.monitor.status-interval", + "value": "10000ms" + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent", + "name": "myjavacomponent", + "type": "Microsoft.App/managedEnvironments/javaComponents", + "properties": { + "componentType": "SpringBootAdmin", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "spring.boot.admin.ui.enable-toasts", + "value": "true" + }, + { + "propertyName": "spring.boot.admin.monitor.status-interval", + "value": "10000ms" + } + ], + "ingress": { + "fqdn": "myjavacomponent.myenvironment.test.net" + } + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/providers/Microsoft.App/locations/eastus/operationResults/amF2YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-02-02-preview" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_Patch_ServiceBind.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_Patch_ServiceBind.json new file mode 100644 index 000000000000..b3fe0c9839cb --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/JavaComponents_Patch_ServiceBind.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "myenvironment", + "name": "myjavacomponent", + "api-version": "2024-02-02-preview", + "javaComponentEnvelope": { + "properties": { + "componentType": "SpringBootAdmin", + "configurations": [ + { + "propertyName": "spring.boot.admin.ui.enable-toasts", + "value": "true" + }, + { + "propertyName": "spring.boot.admin.monitor.status-interval", + "value": "10000ms" + } + ], + "serviceBinds": [ + { + "name": "yellowcat", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat" + } + ] + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/myjavacomponent", + "name": "myjavacomponent", + "type": "Microsoft.App/managedEnvironments/javaComponents", + "properties": { + "componentType": "SpringBootAdmin", + "provisioningState": "Succeeded", + "configurations": [ + { + "propertyName": "spring.boot.admin.ui.enable-toasts", + "value": "true" + }, + { + "propertyName": "spring.boot.admin.monitor.status-interval", + "value": "10000ms" + } + ], + "serviceBinds": [ + { + "name": "yellowcat", + "serviceId": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/myenvironment/javaComponents/yellowcat" + } + ] + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/providers/Microsoft.App/locations/eastus/operationResults/amF2YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-02-02-preview" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_CreateorUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_CreateorUpdate.json new file mode 100644 index 000000000000..ba22bf5f5cca --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_CreateorUpdate.json @@ -0,0 +1,325 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "api-version": "2024-02-02-preview", + "JobEnvelope": { + "location": "East US", + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": {} + } + }, + "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", + "identitySettings": [ + { + "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity", + "lifecycle": "All" + }, + { + "identity": "system", + "lifecycle": "Init" + } + ] + }, + "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 + } + ], + "volumeMounts": [ + { + "volumeName": "azurefile", + "mountPath": "/mnt/path1", + "subPath": "subPath1" + }, + { + "volumeName": "nfsazurefile", + "mountPath": "/mnt/path2", + "subPath": "subPath2" + } + ] + } + ], + "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", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "24adfa4f-dedf-8dc0-ca29-b6d1a69ab319", + "tenantId": "23adfa4f-eedf-1dc0-ba29-a6d1a69ab3d0", + "userAssignedIdentities": { + "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": { + "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312", + "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df" + } + } + }, + "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", + "identitySettings": [ + { + "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity", + "lifecycle": "All" + }, + { + "identity": "system", + "lifecycle": "Init" + } + ] + }, + "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 + } + ], + "volumeMounts": [ + { + "volumeName": "azurefile", + "mountPath": "/mnt/path1", + "subPath": "subPath1" + }, + { + "volumeName": "nfsazurefile", + "mountPath": "/mnt/path2", + "subPath": "subPath2" + } + ] + } + ], + "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" + ] + } + ], + "volumes": [ + { + "name": "azurefile", + "storageType": "AzureFile", + "storageName": "storage" + }, + { + "name": "nfsazurefile", + "storageType": "NfsAzureFile", + "storageName": "nfsStorage" + } + ] + }, + "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", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "24adfa4f-dedf-8dc0-ca29-b6d1a69ab319", + "tenantId": "23adfa4f-eedf-1dc0-ba29-a6d1a69ab3d0", + "userAssignedIdentities": { + "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": { + "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312", + "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df" + } + } + }, + "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", + "identitySettings": [ + { + "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity", + "lifecycle": "All" + }, + { + "identity": "system", + "lifecycle": "Init" + } + ] + }, + "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 + } + ], + "volumeMounts": [ + { + "volumeName": "azurefile", + "mountPath": "/mnt/path1", + "subPath": "subPath1" + }, + { + "volumeName": "nfsazurefile", + "mountPath": "/mnt/path2", + "subPath": "subPath2" + } + ] + } + ], + "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" + ] + } + ], + "volumes": [ + { + "name": "azurefile", + "storageType": "AzureFile", + "storageName": "storage" + }, + { + "name": "nfsazurefile", + "storageType": "NfsAzureFile", + "storageName": "nfsStorage" + } + ] + }, + "eventStreamEndpoint": "testEndpoint" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_CreateorUpdate_ConnectedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_CreateorUpdate_ConnectedEnvironment.json new file mode 100644 index 000000000000..09994aab570f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_CreateorUpdate_ConnectedEnvironment.json @@ -0,0 +1,219 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "api-version": "2024-02-02-preview", + "JobEnvelope": { + "location": "East US", + "extendedLocation": { + "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation", + "type": "CustomLocation" + }, + "properties": { + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/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", + "extendedLocation": { + "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation", + "type": "CustomLocation" + }, + "properties": { + "provisioningState": "InProgress", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/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", + "extendedLocation": { + "name": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.ExtendedLocation/customLocations/testcustomlocation", + "type": "CustomLocation" + }, + "properties": { + "provisioningState": "InProgress", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/connectedEnvironments/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/preview/2024-02-02-preview/examples/Job_CreateorUpdate_EventTrigger.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_CreateorUpdate_EventTrigger.json new file mode 100644 index 000000000000..8534fa2bd3bf --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_CreateorUpdate_EventTrigger.json @@ -0,0 +1,226 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "api-version": "2024-02-02-preview", + "JobEnvelope": { + "location": "East US", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": {} + } + }, + "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" + }, + "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity" + } + ] + } + }, + "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", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": { + "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312", + "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df" + } + } + }, + "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": "servicebuscalingrule", + "type": "azure-servicebus", + "metadata": { + "topicName": "my-topic" + }, + "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity" + } + ] + } + }, + "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", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": { + "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312", + "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df" + } + } + }, + "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" + }, + "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity" + } + ] + } + }, + "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/preview/2024-02-02-preview/examples/Job_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Delete.json new file mode 100644 index 000000000000..c8dc40a1097f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testWorkerContainerAppsJob0", + "api-version": "2024-02-02-preview" + }, + "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=2024-02-02-preview" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Execution_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Execution_Get.json new file mode 100644 index 000000000000..f08b7bd45961 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Execution_Get.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "jobExecutionName": "jobExecution1", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "name": "jobExecution1", + "properties": { + "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.5, + "memory": "1Gi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerappsjob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.5, + "memory": "1Gi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ] + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Executions_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Executions_Get.json new file mode 100644 index 000000000000..fb513886b93f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Executions_Get.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "testcontainerAppJob-27944454", + "properties": { + "status": "Running", + "startTime": "2023-02-13T20:37:30+00:00", + "endTime": "2023-02-13T20:47:30+00:00", + "detailedStatus": { + "replicas": [ + { + "name": "testcontainerappsjob0-0", + "containers": [ + { + "name": "container1", + "code": 0, + "additionalInformation": "Completed", + "status": "Succeeded" + }, + { + "name": "container2", + "code": 0, + "additionalInformation": "Completed", + "status": "Succeeded" + } + ] + } + ] + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerappsjob0:v4", + "name": "testcontainerappsjob0", + "resources": { + "cpu": 0.5, + "memory": "1Gi" + } + } + ], + "initContainers": [ + { + "image": "repo/testcontainerappsjob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.5, + "memory": "1Gi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ] + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Get.json new file mode 100644 index 000000000000..833497a48e72 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Get.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "api-version": "2024-02-02-preview" + }, + "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", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "24adfa4f-dedf-8dc0-ca29-b6d1a69ab319", + "tenantId": "23adfa4f-eedf-1dc0-ba29-a6d1a69ab3d0", + "userAssignedIdentities": { + "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity": { + "principalId": "74adfa4f-dedf-8dc0-ca29-b6d1a69ab312", + "clientId": "14adfa4f-eedf-1dc0-ba29-a6d1a69ab3df" + } + } + }, + "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", + "identitySettings": [ + { + "identity": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourcegroups/rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity", + "lifecycle": "All" + }, + { + "identity": "system", + "lifecycle": "Init" + } + ] + }, + "template": { + "containers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + }, + "volumeMounts": [ + { + "volumeName": "azurefile", + "mountPath": "/mnt/path1", + "subPath": "subPath1" + }, + { + "volumeName": "nfsazurefile", + "mountPath": "/mnt/path2", + "subPath": "subPath2" + } + ] + } + ], + "initContainers": [ + { + "image": "repo/testcontainerAppsJob0:v4", + "name": "testinitcontainerAppsJob0", + "resources": { + "cpu": 0.2, + "memory": "100Mi" + } + } + ], + "volumes": [ + { + "name": "azurefile", + "storageType": "AzureFile", + "storageName": "storage" + }, + { + "name": "nfsazurefile", + "storageType": "NfsAzureFile", + "storageName": "nfsStorage" + } + ] + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_GetDetector.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_GetDetector.json new file mode 100644 index 000000000000..a03947a4d2cc --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_GetDetector.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "subscriptionId": "f07f3711-b45e-40fe-a941-4e6d93f851e6", + "resourceGroupName": "mikono-workerapp-test-rg", + "jobName": "mikonojob1", + "detectorName": "containerappjobnetworkIO", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/f07f3711-b45e-40fe-a941-4e6d93f851e6/resourceGroups/mikono-workerapp-test-rg/providers/Microsoft.App/jobs/mikonojob1/detectors/containerappjobnetworkIO", + "name": "containerappjobnetworkIO", + "type": "Microsoft.App/jobs/detectors", + "properties": { + "metadata": { + "id": "containerappjobnetworkIO", + "name": "Container App Job Network Inbound and Outbound", + "description": "This detector shows the Container App Job 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 App Job Network Inbound ", + "description": "", + "isVisible": true + } + } + ], + "status": { + "statusId": 3 + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_ListDetectors.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_ListDetectors.json new file mode 100644 index 000000000000..694f68b73ad9 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_ListDetectors.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "f07f3711-b45e-40fe-a941-4e6d93f851e6", + "resourceGroupName": "mikono-workerapp-test-rg", + "jobName": "mikonojob1", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/f07f3711-b45e-40fe-a941-4e6d93f851e6/resourceGroups/mikono-workerapp-test-rg/providers/Microsoft.App/jobs/mikonojob1/detectors/cappjobContainerAppAvailabilityMetrics", + "name": "cappjobContainerAppAvailabilityMetrics", + "type": "Microsoft.App/containerapps/detectors", + "properties": { + "metadata": { + "id": "cappjobContainerAppAvailabilityMetrics", + "name": "Availability Metrics for Container App Jobs", + "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/preview/2024-02-02-preview/examples/Job_ListSecrets.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_ListSecrets.json new file mode 100644 index 000000000000..38a3db7c1029 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_ListSecrets.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "secret1" + }, + { + "name": "secret2" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Patch.json new file mode 100644 index 000000000000..d4eed8355af4 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Patch.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "api-version": "2024-02-02-preview", + "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=2024-02-02-preview" + } + }, + "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/preview/2024-02-02-preview/examples/Job_ProxyGet.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_ProxyGet.json new file mode 100644 index 000000000000..abe27f8d4e60 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_ProxyGet.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "apiName": "rootApi", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/jobs/testcontainerAppsJob0/detectorproperties/rootApi", + "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/preview/2024-02-02-preview/examples/Job_Start.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Start.json new file mode 100644 index 000000000000..766b768efdf2 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/Job_Stop_Execution.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Stop_Execution.json new file mode 100644 index 000000000000..b7a380db1bdf --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Stop_Execution.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "jobExecutionName": "jobExecution1", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "location" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Stop_Multiple.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Stop_Multiple.json new file mode 100644 index 000000000000..e7323189743f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Job_Stop_Multiple.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "jobName": "testcontainerAppsJob0", + "jobExecutionName": { + "value": [ + { + "name": "jobExecution-27944453" + }, + { + "name": "jobExecution-27944452" + }, + { + "name": "jobExecution-27944451" + } + ] + }, + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "name": "jobExecution-27944453", + "properties": { + "status": "Running", + "startTime": "2023-02-13T20:37:30+00:00", + "endTime": "2023-02-13T20:47:30+00:00" + } + }, + { + "name": "jobExecution-27944452", + "properties": { + "status": "Running", + "startTime": "2023-02-13T21:37:30+00:00", + "endTime": "2023-02-13T21:47:30+00:00" + } + }, + { + "name": "jobExecution-27944453", + "properties": { + "status": "Running", + "startTime": "2023-02-13T22:37:30+00:00", + "endTime": "2023-02-13T22:47:30+00:00" + } + } + ], + "nextLink": null + } + }, + "202": { + "headers": { + "Location": "location" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Jobs_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Jobs_ListByResourceGroup.json new file mode 100644 index 000000000000..54bdde78aa9d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Jobs_ListByResourceGroup.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/Jobs_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Jobs_ListBySubscription.json new file mode 100644 index 000000000000..3bbd7d406c7f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Jobs_ListBySubscription.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/LogicApps_Create.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_Create.json new file mode 100644 index 000000000000..a86db9001ea0 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_Create.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "containerAppName": "testcontainerApp0", + "logicAppName": "testcontainerApp0", + "resource": { + "properties": {} + }, + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/containerApps/testcontainerApp0/providers/Microsoft.App/logicApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/logicApps", + "properties": {} + } + }, + "201": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/containerApps/testcontainerApp0/providers/Microsoft.App/logicApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/logicApps", + "properties": {} + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_Delete.json new file mode 100644 index 000000000000..7d827dd38e12 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "containerAppName": "testcontainerApp0", + "logicAppName": "testcontainerApp0", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_DeleteDeployWorkflowArtifacts.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_DeleteDeployWorkflowArtifacts.json new file mode 100644 index 000000000000..02cc32523b4f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_DeleteDeployWorkflowArtifacts.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "containerAppName": "testapp2", + "logicAppName": "testapp2", + "api-version": "2024-02-02-preview", + "workflowArtifacts": { + "filesToDelete": [ + "test/workflow.json", + "test/" + ] + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_Get.json new file mode 100644 index 000000000000..ce517459d0a5 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_Get.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "containerAppName": "testcontainerApp0", + "logicAppName": "testcontainerApp0", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/containerApps/testcontainerApp0/providers/Microsoft.App/logicApps/testcontainerApp0", + "name": "testcontainerApp0", + "type": "Microsoft.App/logicApps", + "properties": {} + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_GetWorkflow.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_GetWorkflow.json new file mode 100644 index 000000000000..25282b8ce271 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_GetWorkflow.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "containerAppName": "testcontainerApp0", + "logicAppName": "testcontainerApp0", + "workflowName": "stateful1", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/containerApps/testcontainerApp0/providers/Microsoft.App/logicApps/testcontainerApp0/workflows/stateful1", + "name": "testcontainerApp0/stateful1", + "type": "Microsoft.App/logicApps/workflows", + "kind": "Stateful", + "location": "East US", + "properties": { + "files": { + "workflow.json": { + "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "actions": {}, + "contentVersion": "1.0.0.0", + "outputs": {}, + "parameters": {}, + "triggers": {} + } + }, + "connections.json": { + "managedApiConnections": { + "office365": { + "api": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.Web/locations/brazilsouth/managedApis/office365" + }, + "connection": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/testrg123/providers/Microsoft.Web/connections/office365-1" + }, + "connectionRuntimeUrl": "string", + "authentication": { + "type": "Raw", + "scheme": "Key", + "parameter": "@appsetting('office365-connectionKey')" + } + } + } + } + }, + "flowState": "Enabled", + "health": { + "state": "Healthy" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_ListCallbackURL.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_ListCallbackURL.json new file mode 100644 index 000000000000..81b943fa0172 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_ListCallbackURL.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "containerAppName": "testapp2", + "logicAppName": "testapp2", + "api-version": "2024-02-02-preview", + "x-ms-logicapps-proxy-path": "/runtime/webhooks/workflow/api/management/workflows/Stateful1/triggers/When_a_HTTP_request_is_received/listCallbackUrl", + "x-ms-logicapps-proxy-method": "POST" + }, + "responses": { + "200": { + "body": { + "value": "https://testapp2.livelyriver-730e4fd9.eastasia.azurecontainerapps.io:443/api/test/triggers/When_a_HTTP_request_is_received/invoke?api-version=2022-05-01&sp=%2Ftriggers%2FWhen_a_HTTP_request_is_received%2Frun&sv=1.0&sig= ", + "method": "POST", + "basePath": "https://testapp2.livelyriver-730e4fd9.eastasia.azurecontainerapps.io /api/test/triggers/When_a_HTTP_request_is_received/invoke", + "queries": { + "api-version": "2022-05-01", + "sp": "/triggers/When_a_HTTP_request_is_received/run", + "sv": "1.0", + "sig": "IxEQ_ygZf6WNEQCbjV0Vs6p6Y4DyNEJVAa86U5B4xhk" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_ListConnections.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_ListConnections.json new file mode 100644 index 000000000000..e6efb65f9e5d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_ListConnections.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "containerAppName": "testapp2", + "logicAppName": "testapp2", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/containerApps/testapp2/providers/Microsoft.App/logicApps/testapp2/workflowconfigurations/connections", + "name": "testapp2/connections", + "type": "Microsoft.App/logicApps/workflowsconfiguration", + "location": "East US", + "properties": { + "files": { + "connections.json": { + "managedApiConnections": { + "office365": { + "api": { + "id": "string" + }, + "connection": { + "id": "string" + }, + "connectionRuntimeUrl": "string", + "authentication": { + "type": "Raw", + "scheme": "Key", + "parameter": "@appsetting('office365-connectionKey')" + } + } + } + } + }, + "health": { + "state": "Healthy" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_ListWorkflows.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_ListWorkflows.json new file mode 100644 index 000000000000..d8dbf8f14ca7 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_ListWorkflows.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "containerAppName": "testcontainerApp0", + "logicAppName": "testcontainerApp0", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/containerApps/testcontainerApp0/providers/Microsoft.App/logicApps/testcontainerApp0/workflows/a1", + "name": "testcontainerApp0/a1", + "type": "Microsoft.App/logicApps/workflows", + "location": "East US", + "kind": "Stateful", + "properties": { + "flowState": "Enabled", + "health": { + "state": "Healthy" + } + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/containerApps/testcontainerApp0/providers/Microsoft.App/logicApps/testcontainerApp0/workflows/stateful2", + "name": "testcontainerApp0/stateful2", + "type": "Microsoft.App/logicApps/workflows", + "location": "East US", + "kind": "Stateful", + "properties": { + "flowState": "Enabled", + "health": { + "state": "Unhealthy", + "error": { + "code": "InvalidWorkflowJson", + "message": "Invalid character after parsing property name. Expected ':' but got: \". Path '', line 2, position 2." + } + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_PostDeployWorkflowArtifacts.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_PostDeployWorkflowArtifacts.json new file mode 100644 index 000000000000..809240af6ff7 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/LogicApps_PostDeployWorkflowArtifacts.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "testrg123", + "containerAppName": "testapp2", + "logicAppName": "testapp2", + "api-version": "2024-02-02-preview", + "workflowArtifacts": { + "files": { + "test1/workflow.json": { + "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "actions": {}, + "contentVersion": "1.0.0.0", + "outputs": {}, + "triggers": { + "When_events_are_available_in_Event_hub": { + "inputs": { + "parameters": { + "eventHubName": "test123" + }, + "serviceProviderConfiguration": { + "connectionName": "eventHub", + "operationId": "receiveEvents", + "serviceProviderId": "/serviceProviders/eventHub" + } + }, + "splitOn": "@triggerOutputs()?['body']", + "type": "ServiceProvider" + } + } + }, + "kind": "Stateful" + }, + "connections.json": { + "serviceProviderConnections": { + "eventHub": { + "parameterValues": { + "connectionString": "@appsetting('eventHub_connectionString')" + }, + "serviceProvider": { + "id": "/serviceProviders/eventHub" + }, + "displayName": "example1" + } + }, + "managedApiConnections": {} + } + }, + "appSettings": { + "eventHub_connectionString": "Endpoint=sb://example.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=EXAMPLE1a2b3c4d5e6fEXAMPLE=" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedCertificate_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedCertificate_CreateOrUpdate.json new file mode 100644 index 000000000000..1db2236b3b47 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview", + "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/preview/2024-02-02-preview/examples/ManagedCertificate_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedCertificate_Delete.json new file mode 100644 index 000000000000..60f6ad443250 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedCertificate_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedCertificate_Get.json new file mode 100644 index 000000000000..9eed300b334e --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ManagedCertificates_ListByManagedEnvironment.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedCertificates_ListByManagedEnvironment.json new file mode 100644 index 000000000000..f95d6aa878a9 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedCertificates_ListByManagedEnvironment.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ManagedCertificates_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedCertificates_Patch.json new file mode 100644 index 000000000000..d99f69f0b0e1 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview", + "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/preview/2024-02-02-preview/examples/ManagedEnvironmentDiagnostics_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentDiagnostics_Get.json new file mode 100644 index 000000000000..fdfd9ac979a9 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ManagedEnvironmentDiagnostics_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentDiagnostics_List.json new file mode 100644 index 000000000000..0d502b2bafe5 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentDiagnostics_List.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "f07f3711-b45e-40fe-a941-4e6d93f851e6", + "resourceGroupName": "mikono-workerapp-test-rg", + "environmentName": "mikonokubeenv", + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_CreateOrUpdate.json new file mode 100644 index 000000000000..cedd909d474e --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_CreateOrUpdate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "managedEnv", + "privateEndpointConnectionName": "jlaw-demo1", + "api-version": "2024-02-02-preview", + "privateEndpointConnectionEnvelope": { + "properties": { + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "status": "Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/privateEndpointConenctions/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/privateEndpointConnections", + "properties": { + "groupIds": [ + "managedEnvironments" + ], + "privateEndpoint": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/pltest" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/privateEndpointConenctions/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/privateEndpointConnections", + "properties": { + "groupIds": [ + "managedEnvironments" + ], + "privateEndpoint": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/pltest" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..5b3f5fc826ef --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "managedEnv", + "privateEndpointConnectionName": "jlaw-demo1", + "api-version": "2024-02-02-preview" + }, + "responses": { + "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/preview/2024-02-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..0983ced9b07d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_Get.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "managedEnv", + "privateEndpointConnectionName": "jlaw-demo1", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/privateEndpointConenctions/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/privateEndpointConnections", + "properties": { + "groupIds": [ + "managedEnvironments" + ], + "privateEndpoint": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/pltest" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "status": "Pending" + }, + "provisioningState": "Waiting" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_List.json new file mode 100644 index 000000000000..798df0cc0c32 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentPrivateEndpointConnections_List.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "managedEnv", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/privateEndpointConenctions/jlaw-demo1", + "name": "jlaw-demo1", + "type": "Microsoft.App/managedEnvironments/privateEndpointConnections", + "properties": { + "groupIds": [ + "managedEnvironments" + ], + "privateEndpoint": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/pltest" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "status": "Pending" + }, + "provisioningState": "Waiting" + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/privateEndpointConenctions/jlaw-demo2", + "name": "jlaw-demo2", + "type": "Microsoft.App/managedEnvironments/privateEndpointConnections", + "properties": { + "groupIds": [ + "managedEnvironments" + ], + "privateEndpoint": { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.Network/privateEndpoints/pltest" + }, + "privateLinkServiceConnectionState": { + "actionsRequired": "None", + "status": "Approved" + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentPrivateLinkResources_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentPrivateLinkResources_List.json new file mode 100644 index 000000000000..a24efc92bc06 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentPrivateLinkResources_List.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "managedEnv", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/privateLinkResources/managedEnvironments", + "name": "managedEnvironments", + "properties": { + "groupId": "managedEnvironments", + "requiredMembers": [ + "managedEnvironments" + ], + "requiredZoneNames": [ + "privatelink.northcentralusstage.azurecontainerapps.io" + ] + }, + "type": "Microsoft.App/managedEnvironments/privateLinkResources" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentUsages_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentUsages_List.json new file mode 100644 index 000000000000..95758605cedb --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentUsages_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-02-02-preview", + "subscriptionId": "subid", + "resourceGroupName": "examplerg", + "environmentName": "jlaw-demo1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "currentValue": 0.5, + "limit": 10, + "name": { + "localizedValue": "Managed Environment Consumption Cores", + "value": "ManagedEnvironmentConsumptionCores" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json new file mode 100644 index 000000000000..1b2b899ad88a --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "managedEnv", + "storageName": "jlaw-demo1", + "api-version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate_NfsAzureFile.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate_NfsAzureFile.json new file mode 100644 index 000000000000..dfd6941d46c3 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_CreateOrUpdate_NfsAzureFile.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "managedEnv", + "storageName": "jlaw-demo1", + "api-version": "2024-02-02-preview", + "storageEnvelope": { + "properties": { + "nfsAzureFile": { + "server": "server1", + "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": { + "nfsAzureFile": { + "server": "server1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_Delete.json new file mode 100644 index 000000000000..316368f55a51 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "managedEnv", + "storageName": "jlaw-demo1", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_Get.json new file mode 100644 index 000000000000..3127d8922881 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "managedEnv", + "storageName": "jlaw-demo1", + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_Get_NfsAzureFile.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_Get_NfsAzureFile.json new file mode 100644 index 000000000000..209f7f7ee039 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_Get_NfsAzureFile.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "managedEnv", + "storageName": "jlaw-demo1", + "api-version": "2024-02-02-preview" + }, + "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": { + "nfsAzureFile": { + "server": "server1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_List.json new file mode 100644 index 000000000000..4545b0ebe885 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironmentsStorages_List.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "managedEnv", + "api-version": "2024-02-02-preview" + }, + "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" + } + } + }, + { + "id": "/subscriptions/8efdecc5-919e-44eb-b179-915dca89ebf9/resourceGroups/examplerg/providers/Microsoft.App/managedEnvironments/managedEnv/storages/jlaw-demo2", + "name": "jlaw-demo2", + "type": "Microsoft.App/managedEnvironments/storages", + "properties": { + "nfsAzureFile": { + "server": "server1", + "shareName": "share1", + "accessMode": "ReadOnly" + } + } + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_CreateOrUpdate.json new file mode 100644 index 000000000000..e22257345e3f --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_CreateOrUpdate.json @@ -0,0 +1,318 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "api-version": "2024-02-02-preview", + "environmentEnvelope": { + "location": "East US", + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso-resources/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-identity": {} + } + }, + "properties": { + "daprAIConnectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://northcentralus-0.in.applicationinsights.azure.com/", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string", + "sharedKey": "string", + "dynamicJsonColumns": true + } + }, + "appInsightsConfiguration": { + "connectionString": "InstrumentationKey=00000000-0000-0000-0000-000000000000;IngestionEndpoint=https://eastus-8.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus.livediagnostics.monitor.azure.com/" + }, + "openTelemetryConfiguration": { + "destinationsConfiguration": { + "dataDogConfiguration": { + "site": "string", + "key": "000000000000000000000000" + }, + "otlpConfigurations": [ + { + "name": "dashboard", + "endpoint": "dashboard.k8s.region.azurecontainerapps.io:80", + "insecure": true, + "headers": [ + { + "key": "api-key", + "value": "xxxxxxxxxxx" + } + ] + } + ] + }, + "tracesConfiguration": { + "destinations": [ + "appInsights" + ] + }, + "logsConfiguration": { + "destinations": [ + "appInsights" + ] + }, + "metricsConfiguration": { + "destinations": [ + "dataDog" + ] + } + }, + "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 + } + }, + "peerTrafficConfiguration": { + "encryption": { + "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", + "identity": { + "type": "SystemAssigned, UserAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso-resources/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-identity": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "properties": { + "provisioningState": "Succeeded", + "deploymentErrors": null, + "defaultDomain": "testcontainerenv.k4apps.io", + "staticIp": "1.2.3.4", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string", + "dynamicJsonColumns": true + } + }, + "openTelemetryConfiguration": { + "destinationsConfiguration": { + "dataDogConfiguration": { + "site": "datadoghq.com", + "key": null + }, + "otlpConfigurations": [ + { + "name": "dashboard", + "endpoint": "dashboard.k8s.region.azurecontainerapps.io:80", + "insecure": true + } + ] + }, + "tracesConfiguration": { + "destinations": [ + "appInsights" + ] + }, + "logsConfiguration": { + "destinations": [ + "appInsights" + ] + }, + "metricsConfiguration": { + "destinations": [ + "dataDog" + ] + } + }, + "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" + } + ], + "appInsightsConfiguration": null, + "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", + "identity": { + "type": "SystemAssigned, UserAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/contoso-resources/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-identity": { + "principalId": "00000000-0000-0000-0000-000000000000", + "clientId": "00000000-0000-0000-0000-000000000000" + } + } + }, + "properties": { + "provisioningState": "InitializationInProgress", + "deploymentErrors": null, + "defaultDomain": "testcontainerenv.k4apps.io", + "staticIp": "1.2.3.4", + "appLogsConfiguration": { + "logAnalyticsConfiguration": { + "customerId": "string" + } + }, + "openTelemetryConfiguration": { + "destinationsConfiguration": { + "dataDogConfiguration": { + "site": "datadoghq.com", + "key": null + }, + "otlpConfigurations": [ + { + "name": "dashboard", + "endpoint": "dashboard.k8s.region.azurecontainerapps.io:80", + "insecure": true + } + ] + }, + "tracesConfiguration": { + "destinations": [ + "appInsights" + ] + }, + "logsConfiguration": { + "destinations": [ + "appInsights" + ] + }, + "metricsConfiguration": { + "destinations": [ + "dataDog" + ] + } + }, + "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" + } + ], + "appInsightsConfiguration": null, + "infrastructureResourceGroup": "capp-svc-testcontainerenv-eastus", + "peerAuthentication": { + "mtls": { + "enabled": true + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_CustomInfrastructureResourceGroup_Create.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_CustomInfrastructureResourceGroup_Create.json new file mode 100644 index 000000000000..3806215cb0a8 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_CustomInfrastructureResourceGroup_Create.json @@ -0,0 +1,168 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "api-version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/examples/ManagedEnvironments_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_Delete.json new file mode 100644 index 000000000000..f0b38bc056df --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "examplekenv", + "api-version": "2024-02-02-preview", + "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/preview/2024-02-02-preview/examples/ManagedEnvironments_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_Get.json new file mode 100644 index 000000000000..bc5a1cefea8d --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_Get.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "jlaw-demo1", + "api-version": "2024-02-02-preview" + }, + "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 + } + }, + "peerTrafficConfiguration": { + "encryption": { + "enabled": true + } + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_GetAuthToken.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_GetAuthToken.json new file mode 100644 index 000000000000..0bd8979c31c9 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_GetAuthToken.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "rg", + "environmentName": "testenv", + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ManagedEnvironments_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_ListByResourceGroup.json new file mode 100644 index 000000000000..32533fb87d57 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_ListByResourceGroup.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ManagedEnvironments_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_ListBySubscription.json new file mode 100644 index 000000000000..36b8b0ba8302 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_ListBySubscription.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "api-version": "2024-02-02-preview" + }, + "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": { + "destination": "log-analytics", + "logAnalyticsConfiguration": { + "customerId": "9ccccd4a-268f-4a9a-8d03-9bfe77c3fbd2", + "dynamicJsonColumns": true + } + }, + "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/preview/2024-02-02-preview/examples/ManagedEnvironments_ListWorkloadProfileStates.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_ListWorkloadProfileStates.json new file mode 100644 index 000000000000..86c6e0dff660 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_ListWorkloadProfileStates.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "8efdecc5-919e-44eb-b179-915dca89ebf9", + "resourceGroupName": "examplerg", + "environmentName": "jlaw-demo1", + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/ManagedEnvironments_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_Patch.json new file mode 100644 index 000000000000..f185e71d760c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/ManagedEnvironments_Patch.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "examplerg", + "environmentName": "testcontainerenv", + "api-version": "2024-02-02-preview", + "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=2024-02-02-preview" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Operations_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Operations_List.json new file mode 100644 index 000000000000..e61e6ba0be16 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Operations_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/Replicas_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Replicas_Get.json new file mode 100644 index 000000000000..14640e67c604 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/Replicas_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Replicas_List.json new file mode 100644 index 000000000000..0aa4508bb1e9 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/Revisions_Activate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Revisions_Activate.json new file mode 100644 index 000000000000..c2075a047240 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Revisions_Activate.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "revisionName": "testcontainerApp0-pjxhsye", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Revisions_Deactivate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Revisions_Deactivate.json new file mode 100644 index 000000000000..c2075a047240 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Revisions_Deactivate.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "revisionName": "testcontainerApp0-pjxhsye", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Revisions_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Revisions_Get.json new file mode 100644 index 000000000000..b00eb63a4712 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Revisions_Get.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "revisionName": "testcontainerApp0-pjxhsye", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "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, + "runningState": "Running" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Revisions_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Revisions_List.json new file mode 100644 index 000000000000..90d51d2ed704 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Revisions_List.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testcontainerApp0", + "api-version": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/Revisions_Restart.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Revisions_Restart.json new file mode 100644 index 000000000000..20f7d6fd0bad --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Revisions_Restart.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "containerAppName": "testStaticSite0", + "revisionName": "testcontainerApp0-pjxhsye", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_CreateOrUpdate.json new file mode 100644 index 000000000000..3273ae624a7c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_CreateOrUpdate.json @@ -0,0 +1,150 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "sessionPoolName": "testsessionpool", + "api-version": "2024-02-02-preview", + "sessionPoolEnvelope": { + "location": "East US", + "properties": { + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "poolManagementType": "Dynamic", + "containerType": "CustomContainer", + "scaleConfiguration": { + "maxConcurrentSessions": 500, + "readySessionInstances": 100 + }, + "dynamicPoolConfiguration": { + "executionType": "Timed", + "cooldownPeriodInSeconds": 600 + }, + "customContainerTemplate": { + "containers": [ + { + "image": "repo/testcontainer:v4", + "name": "testinitcontainer", + "resources": { + "cpu": 0.25, + "memory": "0.5Gi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ], + "ingress": { + "targetPort": 80 + } + }, + "sessionNetworkConfiguration": { + "status": "EgressEnabled" + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/sessionPools/testsessionpool", + "name": "testsessionpool", + "type": "Microsoft.App/sessionPools", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "poolManagementType": "Dynamic", + "nodeCount": 1, + "containerType": "CustomContainer", + "scaleConfiguration": { + "maxConcurrentSessions": 500, + "readySessionInstances": 100 + }, + "dynamicPoolConfiguration": { + "executionType": "Timed", + "cooldownPeriodInSeconds": 600 + }, + "customContainerTemplate": { + "containers": [ + { + "image": "repo/testcontainer:v4", + "name": "testinitcontainer", + "resources": { + "cpu": 0.25, + "memory": "0.5Gi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ], + "ingress": { + "targetPort": 80 + } + }, + "sessionNetworkConfiguration": { + "status": "EgressEnabled" + }, + "poolManagementEndpoint": "https://testsessionpool.agreeableriver-3d30edf1.eastus.azurecontainerapps.io" + } + } + }, + "201": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/sessionPools/testsessionpool", + "name": "testsessionpool", + "type": "Microsoft.App/sessionPools", + "location": "East US", + "properties": { + "provisioningState": "InProgress", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "poolManagementType": "Dynamic", + "containerType": "CustomContainer", + "scaleConfiguration": { + "maxConcurrentSessions": 500, + "readySessionInstances": 100 + }, + "dynamicPoolConfiguration": { + "executionType": "Timed", + "cooldownPeriodInSeconds": 600 + }, + "customContainerTemplate": { + "containers": [ + { + "image": "repo/testcontainer:v4", + "name": "testinitcontainer", + "resources": { + "cpu": 0.25, + "memory": "0.5Gi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ], + "ingress": { + "targetPort": 80 + } + }, + "sessionNetworkConfiguration": { + "status": "EgressEnabled" + }, + "poolManagementEndpoint": "https://testsessionpool.agreeableriver-3d30edf1.eastus.azurecontainerapps.io" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_Delete.json new file mode 100644 index 000000000000..58c54fb1091e --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_Delete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "sessionPoolName": "testsessionpool", + "api-version": "2024-02-02-preview" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/locations/eastus/operationResults/amF3YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-02-02-preview" + } + }, + "204": {} + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_Get.json new file mode 100644 index 000000000000..9320abcb31bb --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_Get.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "sessionPoolName": "testsessionpool", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/sessionPools/testsessionpool", + "name": "testsessionpool", + "type": "Microsoft.App/sessionPools", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "poolManagementType": "Dynamic", + "containerType": "CustomContainer", + "nodeCount": 1, + "scaleConfiguration": { + "maxConcurrentSessions": 500, + "readySessionInstances": 100 + }, + "dynamicPoolConfiguration": { + "executionType": "Timed", + "cooldownPeriodInSeconds": 600 + }, + "customContainerTemplate": { + "containers": [ + { + "image": "repo/testcontainer:v4", + "name": "testinitcontainer", + "resources": { + "cpu": 0.25, + "memory": "0.5Gi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ], + "ingress": { + "targetPort": 80 + } + }, + "sessionNetworkConfiguration": { + "status": "EgressEnabled" + }, + "poolManagementEndpoint": "https://testsessionpool.agreeableriver-3d30edf1.eastus.azurecontainerapps.io" + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_ListByResourceGroup.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_ListByResourceGroup.json new file mode 100644 index 000000000000..2e4abdcea310 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_ListByResourceGroup.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/sessionPools/testsessionpool", + "name": "testsessionpool", + "type": "Microsoft.App/sessionPools", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "poolManagementType": "Dynamic", + "containerType": "CustomContainer", + "nodeCount": 1, + "scaleConfiguration": { + "maxConcurrentSessions": 500, + "readySessionInstances": 100 + }, + "dynamicPoolConfiguration": { + "executionType": "Timed", + "cooldownPeriodInSeconds": 600 + }, + "customContainerTemplate": { + "containers": [ + { + "image": "repo/testcontainer:v4", + "name": "testinitcontainer", + "resources": { + "cpu": 0.25, + "memory": "0.5Gi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ], + "ingress": { + "targetPort": 80 + } + }, + "sessionNetworkConfiguration": { + "status": "EgressEnabled" + }, + "poolManagementEndpoint": "https://testsessionpool.agreeableriver-3d30edf1.eastus.azurecontainerapps.io" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_ListBySubscription.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_ListBySubscription.json new file mode 100644 index 000000000000..5e2137f3da0c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_ListBySubscription.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/sessionPools/testsessionpool", + "name": "testsessionpool", + "type": "Microsoft.App/sessionPools", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "poolManagementType": "Dynamic", + "containerType": "CustomContainer", + "nodeCount": 1, + "scaleConfiguration": { + "maxConcurrentSessions": 500, + "readySessionInstances": 100 + }, + "dynamicPoolConfiguration": { + "executionType": "Timed", + "cooldownPeriodInSeconds": 600 + }, + "customContainerTemplate": { + "containers": [ + { + "image": "repo/testcontainer:v4", + "name": "testinitcontainer", + "resources": { + "cpu": 0.25, + "memory": "0.5Gi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ], + "ingress": { + "targetPort": 80 + } + }, + "sessionNetworkConfiguration": { + "status": "EgressEnabled" + }, + "poolManagementEndpoint": "https://testsessionpool.agreeableriver-3d30edf1.eastus.azurecontainerapps.io" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_Patch.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_Patch.json new file mode 100644 index 000000000000..d6c72577ab0c --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SessionPools_Patch.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rg", + "sessionPoolName": "testsessionpool", + "api-version": "2024-02-02-preview", + "sessionPoolEnvelope": { + "properties": { + "scaleConfiguration": { + "maxConcurrentSessions": 500, + "readySessionInstances": 100 + }, + "dynamicPoolConfiguration": { + "executionType": "Timed", + "cooldownPeriodInSeconds": 600 + }, + "customContainerTemplate": { + "containers": [ + { + "image": "repo/testcontainer:v4", + "name": "testinitcontainer", + "resources": { + "cpu": 0.25, + "memory": "0.5Gi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ], + "ingress": { + "targetPort": 80 + } + }, + "sessionNetworkConfiguration": { + "status": "EgressEnabled" + } + } + } + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/sessionPools/testsessionpool", + "name": "testsessionpool", + "type": "Microsoft.App/sessionPools", + "location": "East US", + "properties": { + "provisioningState": "Succeeded", + "environmentId": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/rg/providers/Microsoft.App/managedEnvironments/demokube", + "poolManagementType": "Dynamic", + "containerType": "CustomContainer", + "nodeCount": 1, + "scaleConfiguration": { + "maxConcurrentSessions": 500, + "readySessionInstances": 100 + }, + "dynamicPoolConfiguration": { + "executionType": "Timed", + "cooldownPeriodInSeconds": 600 + }, + "customContainerTemplate": { + "containers": [ + { + "image": "repo/testcontainer:v4", + "name": "testinitcontainer", + "resources": { + "cpu": 0.25, + "memory": "0.5Gi" + }, + "command": [ + "/bin/sh" + ], + "args": [ + "-c", + "while true; do echo hello; sleep 10;done" + ] + } + ], + "ingress": { + "targetPort": 80 + } + }, + "sessionNetworkConfiguration": { + "status": "EgressEnabled" + }, + "poolManagementEndpoint": "https://testsessionpool.agreeableriver-3d30edf1.eastus.azurecontainerapps.io" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/providers/Microsoft.App/locations/eastus/operationResults/amF3YUNvbXBvbmVudHM6OWFiZTM5OGUtY2ZjNi00NGZmLThmODQtNjRiOWJhMTUzZWYy?api-version=2024-02-02-preview" + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SourceControls_CreateOrUpdate.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SourceControls_CreateOrUpdate.json new file mode 100644 index 000000000000..2d3ac66ec5f5 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SourceControls_CreateOrUpdate.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "sourceControlName": "current", + "api-version": "2024-02-02-preview", + "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", + "buildEnvironmentVariables": [ + { + "name": "foo1", + "value": "bar1" + }, + { + "name": "foo2", + "value": "bar2" + } + ], + "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", + "buildEnvironmentVariables": [ + { + "name": "foo1", + "value": "bar1" + }, + { + "name": "foo2", + "value": "bar2" + } + ] + } + } + } + }, + "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", + "buildEnvironmentVariables": [ + { + "name": "foo1", + "value": "bar1" + }, + { + "name": "foo2", + "value": "bar2" + } + ] + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SourceControls_Delete.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SourceControls_Delete.json new file mode 100644 index 000000000000..aaff50f3e387 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/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": "2024-02-02-preview" + }, + "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/preview/2024-02-02-preview/examples/SourceControls_Get.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SourceControls_Get.json new file mode 100644 index 000000000000..7f3ce5b40576 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SourceControls_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "sourceControlName": "current", + "api-version": "2024-02-02-preview" + }, + "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", + "buildEnvironmentVariables": [ + { + "name": "foo1", + "value": "bar1" + }, + { + "name": "foo2", + "value": "bar2" + } + ] + } + } + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SourceControls_ListByContainer.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SourceControls_ListByContainer.json new file mode 100644 index 000000000000..8a6995e2a244 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/SourceControls_ListByContainer.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "651f8027-33e8-4ec4-97b4-f6e9f3dc8744", + "resourceGroupName": "workerapps-rg-xj", + "containerAppName": "testcanadacentral", + "api-version": "2024-02-02-preview" + }, + "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", + "buildEnvironmentVariables": [ + { + "name": "foo1", + "value": "bar1" + }, + { + "name": "foo2", + "value": "bar2" + } + ] + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Subscriptions_GetCustomDomainVerificationId.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Subscriptions_GetCustomDomainVerificationId.json new file mode 100644 index 000000000000..fe57e90a0e0e --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Subscriptions_GetCustomDomainVerificationId.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "d27c3573-f76e-4b26-b871-0ccd2203d08c", + "api-version": "2024-02-02-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": "5B406D5E790BBD224468CE0AA814C396203C7CE755F135A80E35D41865E51967" + } + } +} diff --git a/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Usages_List.json b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Usages_List.json new file mode 100644 index 000000000000..031f8594ca87 --- /dev/null +++ b/specification/app/resource-manager/Microsoft.App/preview/2024-02-02-preview/examples/Usages_List.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2024-02-02-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "currentValue": 5, + "limit": 10, + "name": { + "localizedValue": "ManagedEnvironmentCount", + "value": "ManagedEnvironmentCount" + }, + "unit": "Count" + }, + { + "currentValue": 3, + "limit": 20, + "name": { + "localizedValue": "ManagedEnvironmentCores", + "value": "ManagedEnvironmentCores" + }, + "unit": "Count" + } + ] + } + } + } +} diff --git a/specification/app/resource-manager/readme.md b/specification/app/resource-manager/readme.md index 79d130f87fb8..c3bf3a8afd65 100644 --- a/specification/app/resource-manager/readme.md +++ b/specification/app/resource-manager/readme.md @@ -26,9 +26,56 @@ These are the global settings for the app. ``` yaml openapi-type: arm -tag: package-2024-03 +tag: package-preview-2024-02 ``` +### Tag: package-preview-2024-02 + +These settings apply only when `--tag=package-preview-2024-02` is specified on the command line. + +```yaml $(tag) == 'package-preview-2024-02' +input-file: + - Microsoft.App/preview/2024-02-02-preview/AppResiliency.json + - Microsoft.App/preview/2024-02-02-preview/AuthConfigs.json + - Microsoft.App/preview/2024-02-02-preview/AvailableWorkloadProfiles.json + - Microsoft.App/preview/2024-02-02-preview/BillingMeters.json + - Microsoft.App/preview/2024-02-02-preview/Builders.json + - Microsoft.App/preview/2024-02-02-preview/Builds.json + - Microsoft.App/preview/2024-02-02-preview/CommonDefinitions.json + - Microsoft.App/preview/2024-02-02-preview/ConnectedEnvironments.json + - Microsoft.App/preview/2024-02-02-preview/ConnectedEnvironmentsCertificates.json + - Microsoft.App/preview/2024-02-02-preview/ConnectedEnvironmentsDaprComponents.json + - Microsoft.App/preview/2024-02-02-preview/ConnectedEnvironmentsStorages.json + - Microsoft.App/preview/2024-02-02-preview/ContainerApps.json + - Microsoft.App/preview/2024-02-02-preview/ContainerAppsRevisions.json + - Microsoft.App/preview/2024-02-02-preview/ContainerAppsBuilds.json + - Microsoft.App/preview/2024-02-02-preview/ContainerAppsPatches.json + - Microsoft.App/preview/2024-02-02-preview/Diagnostics.json + - Microsoft.App/preview/2024-02-02-preview/DotNetComponents.json + - Microsoft.App/preview/2024-02-02-preview/Global.json + - Microsoft.App/preview/2024-02-02-preview/JavaComponents.json + - Microsoft.App/preview/2024-02-02-preview/Jobs.json + - Microsoft.App/preview/2024-02-02-preview/ManagedEnvironments.json + - Microsoft.App/preview/2024-02-02-preview/ManagedEnvironmentsDaprComponentResiliencyPolicies.json + - Microsoft.App/preview/2024-02-02-preview/ManagedEnvironmentsDaprComponents.json + - Microsoft.App/preview/2024-02-02-preview/ManagedEnvironmentsDaprSubscriptions.json + - Microsoft.App/preview/2024-02-02-preview/ManagedEnvironmentsStorages.json + - Microsoft.App/preview/2024-02-02-preview/SourceControls.json + - Microsoft.App/preview/2024-02-02-preview/Subscriptions.json + - Microsoft.App/preview/2024-02-02-preview/Usages.json + - Microsoft.App/preview/2024-02-02-preview/FunctionsExtension.json + - Microsoft.App/preview/2024-02-02-preview/LogicAppsExtension.json + - Microsoft.App/preview/2024-02-02-preview/SessionPools.json +directive: + - suppress: PatchBodyParametersSchema + from: JavaComponents.json + reason: | + Java Component is using componentType as the discriminator. While the discriminator is a required property, this rule prevent it being present in the patch request body. + - suppress: LroErrorContent + from: SessionPools.json + reason: | + Using the same error response as other APIs. +``` ### Tag: package-2024-03 @@ -56,6 +103,7 @@ input-file: - Microsoft.App/stable/2024-03-01/Subscriptions.json - Microsoft.App/stable/2024-03-01/Usages.json ``` + ### Tag: package-preview-2023-11 These settings apply only when `--tag=package-preview-2023-11` is specified on the command line. @@ -129,12 +177,12 @@ directive: - suppress: LroErrorContent from: Builds.json reason: | - We are not using the common error response for these new resources to promote consistency + We are not using the common error response for these new resources to promote consistency with the rest of the Microsoft.App RP, as it also doesn't use the common-types error. - suppress: LroErrorContent from: Builders.json reason: | - We are not using the common error response for these new resources to promote consistency + We are not using the common error response for these new resources to promote consistency with the rest of the Microsoft.App RP, as it also doesn't use the common-types error. ``` diff --git a/specification/appcomplianceautomation/AppComplianceAutomation.Management/client.tsp b/specification/appcomplianceautomation/AppComplianceAutomation.Management/client.tsp new file mode 100644 index 000000000000..745941d727e8 --- /dev/null +++ b/specification/appcomplianceautomation/AppComplianceAutomation.Management/client.tsp @@ -0,0 +1,9 @@ +import "./main.tsp"; +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; + +@@clientName(Microsoft.AppComplianceAutomation, + "AppComplianceAutomationMgmt", + "python" +); diff --git a/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/ReportResource.tsp b/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/ReportResource.tsp index 19be57009d87..ac782c51b4c6 100644 --- a/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/ReportResource.tsp +++ b/specification/appcomplianceautomation/AppComplianceAutomation.Management/resources/ReportResource.tsp @@ -54,10 +54,13 @@ interface Report { * Create a new AppComplianceAutomation report or update an exiting AppComplianceAutomation report. */ #suppress "@azure-tools/typespec-azure-core/no-operation-id" "For backward compatibility" + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @operationId("Report_CreateOrUpdate") + @Azure.Core.useFinalStateVia("azure-async-operation") createOrUpdate is ArmResourceCreateOrReplaceAsync< ReportResource, - Azure.ResourceManager.Foundations.BaseParameters + Azure.ResourceManager.Foundations.BaseParameters, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; /** diff --git a/specification/appcomplianceautomation/AppComplianceAutomation.Management/tspconfig.yaml b/specification/appcomplianceautomation/AppComplianceAutomation.Management/tspconfig.yaml index f7b8f046327c..77659b374742 100644 --- a/specification/appcomplianceautomation/AppComplianceAutomation.Management/tspconfig.yaml +++ b/specification/appcomplianceautomation/AppComplianceAutomation.Management/tspconfig.yaml @@ -13,22 +13,18 @@ options: azure-resource-provider-folder: "resource-manager" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/appcomplianceautomation.json" examples-directory: "{project-root}/examples" - "@azure-tools/typespec-python": - flavor: azure - package-dir: "azure-mgmt-appcomplianceautomation" - package-name: "{package-dir}" "@azure-tools/typespec-ts": flavor: azure package-dir: "arm-appcomplianceautomation" packageDetails: name: "@azure/arm-appcomplianceautomation" examples-directory: "{project-root}/examples" - "@azure-tools/typespec-java": - flavor: azure - package-dir: "azure-resourcemanager-appcomplianceautomation" - namespace: "com.azure.resourcemanager.appcomplianceautomation" - service-name: "App Compliance Automation" - examples-directory: "examples" + # "@azure-tools/typespec-java": + # flavor: azure + # package-dir: "azure-resourcemanager-appcomplianceautomation" + # namespace: "com.azure.resourcemanager.appcomplianceautomation" + # service-name: "App Compliance Automation" + # examples-directory: "examples" linter: extends: - "@azure-tools/typespec-azure-rulesets/resource-manager" diff --git a/specification/appcomplianceautomation/resource-manager/readme.java.md b/specification/appcomplianceautomation/resource-manager/readme.java.md new file mode 100644 index 000000000000..f5b439bc1462 --- /dev/null +++ b/specification/appcomplianceautomation/resource-manager/readme.java.md @@ -0,0 +1,11 @@ +## Java + +These settings apply only when `--java` is specified on the command line. + +``` yaml $(java) +client-flattened-annotation-target: disabled +title: AppComplianceAutomationClient +service-name: "App Compliance Automation" +uuid-as-string: true +output-model-immutable: true +``` diff --git a/specification/appcomplianceautomation/resource-manager/readme.python.md b/specification/appcomplianceautomation/resource-manager/readme.python.md index 59945f5f5443..72a155fd0dc6 100644 --- a/specification/appcomplianceautomation/resource-manager/readme.python.md +++ b/specification/appcomplianceautomation/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: AppComplianceAutomationMgmtClient azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION package-name: azure-mgmt-appcomplianceautomation @@ -16,3 +17,8 @@ clear-output-folder: true no-namespace-folders: true output-folder: $(python-sdks-folder)/appcomplianceautomation/azure-mgmt-appcomplianceautomation/azure/mgmt/appcomplianceautomation ``` + +``` yaml $(python) +modelerfour: + flatten-models: false +``` diff --git a/specification/appcomplianceautomation/resource-manager/readme.typescript.md b/specification/appcomplianceautomation/resource-manager/readme.typescript.md index 837da7ab658b..ad2c9dc27312 100644 --- a/specification/appcomplianceautomation/resource-manager/readme.typescript.md +++ b/specification/appcomplianceautomation/resource-manager/readme.typescript.md @@ -4,6 +4,8 @@ These settings apply only when `--typescript` is specified on the command line. Please also specify `--typescript-sdks-folder=`. ``` yaml $(typescript) +modelerfour: + flatten-models: false typescript: azure-arm: true package-name: "@azure/arm-appcomplianceautomation" diff --git a/specification/appconfiguration/AppConfiguration/main.tsp b/specification/appconfiguration/AppConfiguration/main.tsp index b7bcf0a580d4..318d929f99f6 100644 --- a/specification/appconfiguration/AppConfiguration/main.tsp +++ b/specification/appconfiguration/AppConfiguration/main.tsp @@ -24,7 +24,7 @@ using TypeSpec.Versioning; "{endpoint}", "App Configuration service endpoint", { - endpoint: string, + endpoint: url, } ) @doc("Azure App Configuration REST API") diff --git a/specification/appconfiguration/AppConfiguration/models.tsp b/specification/appconfiguration/AppConfiguration/models.tsp index 878d6b028542..eefb14ce0daf 100644 --- a/specification/appconfiguration/AppConfiguration/models.tsp +++ b/specification/appconfiguration/AppConfiguration/models.tsp @@ -229,11 +229,11 @@ model Snapshot { filters: KeyValueFilter[]; @doc(""" -The composition type describes how the key-values within the snapshot are -composed. The 'key' composition type ensures there are no two key-values -containing the same key. The 'key_label' composition type ensures there are no -two key-values containing the same key and label. -""") + The composition type describes how the key-values within the snapshot are + composed. The 'key' composition type ensures there are no two key-values + containing the same key. The 'key_label' composition type ensures there are no + two key-values containing the same key and label. + """) @encodedName("application/json", "composition_type") compositionType?: CompositionType; @@ -248,11 +248,11 @@ two key-values containing the same key and label. expires?: offsetDateTime; @doc(""" -The amount of time, in seconds, that a snapshot will remain in the archived -state before expiring. This property is only writable during the creation of a -snapshot. If not specified, the default lifetime of key-value revisions will be -used. -""") + The amount of time, in seconds, that a snapshot will remain in the archived + state before expiring. This property is only writable during the creation of a + snapshot. If not specified, the default lifetime of key-value revisions will be + used. + """) @maxValue(7776000) @minValue(3600) @encodedName("application/json", "retention_period") @@ -276,9 +276,9 @@ used. } @doc(""" -Enables filtering of key-values. Syntax reference: -https://aka.ms/azconfig/docs/restapisnapshots -""") + Enables filtering of key-values. Syntax reference: + https://aka.ms/azconfig/docs/restapisnapshots + """) model KeyValueFilter { @doc("Filters key-values by their key field.") key: string; @@ -323,8 +323,8 @@ model OperationDetails { status: Foundations.OperationState; @doc(""" -An error, available when the status is `Failed`, describing why the operation -failed. -""") + An error, available when the status is `Failed`, describing why the operation + failed. + """) error?: Foundations.Error; } diff --git a/specification/appconfiguration/AppConfiguration/routes.tsp b/specification/appconfiguration/AppConfiguration/routes.tsp index 572c81823e7e..6c6e3239364c 100644 --- a/specification/appconfiguration/AppConfiguration/routes.tsp +++ b/specification/appconfiguration/AppConfiguration/routes.tsp @@ -58,18 +58,18 @@ op getKeys is Foundations.ResourceList< name?: string; @doc(""" - Instructs the server to return elements that appear after the element referred - to by the specified token. - """) + Instructs the server to return elements that appear after the element referred + to by the specified token. + """) @query("After") after?: string; ...syncTokenHeader; @doc(""" -Requests the server to respond with the state of the resource at the specified -time. -""") + Requests the server to respond with the state of the resource at the specified + time. + """) @header("Accept-Datetime") acceptDatetime?: string; }, @@ -95,16 +95,16 @@ op checkKeys is appConfigOperation< ...syncTokenHeader; @doc(""" -Instructs the server to return elements that appear after the element referred -to by the specified token. -""") + Instructs the server to return elements that appear after the element referred + to by the specified token. + """) @query("After") after?: string; @doc(""" -Requests the server to respond with the state of the resource at the specified -time. -""") + Requests the server to respond with the state of the resource at the specified + time. + """) @header("Accept-Datetime") acceptDatetime?: string; }, @@ -120,32 +120,32 @@ op getKeyValues is Foundations.ResourceList< KeyValue, { @doc(""" -A filter used to match keys. Syntax reference: -https://aka.ms/azconfig/docs/keyvaluefiltering -""") + A filter used to match keys. Syntax reference: + https://aka.ms/azconfig/docs/keyvaluefiltering + """) @query("key") key?: string; @doc(""" -A filter used to match labels. Syntax reference: -https://aka.ms/azconfig/docs/keyvaluefiltering -""") + A filter used to match labels. Syntax reference: + https://aka.ms/azconfig/docs/keyvaluefiltering + """) @query("label") label?: string; ...syncTokenHeader; @doc(""" -Instructs the server to return elements that appear after the element referred -to by the specified token. -""") + Instructs the server to return elements that appear after the element referred + to by the specified token. + """) @query("After") after?: string; @doc(""" -Requests the server to respond with the state of the resource at the specified -time. -""") + Requests the server to respond with the state of the resource at the specified + time. + """) @header("Accept-Datetime") acceptDatetime?: string; @@ -157,31 +157,31 @@ time. select?: KeyValueFields[]; @doc(""" -A filter used get key-values for a snapshot. The value should be the name of -the snapshot. Not valid when used with 'key' and 'label' filters. -""") + A filter used get key-values for a snapshot. The value should be the name of + the snapshot. Not valid when used with 'key' and 'label' filters. + """) @query("snapshot") snapshot?: string; @doc(""" -Used to perform an operation only if the targeted resource's etag matches the -value provided. -""") + Used to perform an operation only if the targeted resource's etag matches the + value provided. + """) @header("If-Match") ifMatch?: string; @doc(""" -Used to perform an operation only if the targeted resource's etag does not -match the value provided. -""") + Used to perform an operation only if the targeted resource's etag does not + match the value provided. + """) @header("If-None-Match") ifNoneMatch?: string; #suppress "@azure-tools/typespec-azure-core/prefer-csv-collection-format" "Pre-existing API contract" @doc(""" -A filter used to query by tags. Syntax reference: -https://aka.ms/azconfig/docs/keyvaluefiltering -""") + A filter used to query by tags. Syntax reference: + https://aka.ms/azconfig/docs/keyvaluefiltering + """) @query({ name: "tags", format: "multi", @@ -203,32 +203,32 @@ https://aka.ms/azconfig/docs/keyvaluefiltering op checkKeyValues is appConfigOperation< { @doc(""" -A filter used to match keys. Syntax reference: -https://aka.ms/azconfig/docs/keyvaluefiltering -""") + A filter used to match keys. Syntax reference: + https://aka.ms/azconfig/docs/keyvaluefiltering + """) @query("key") key?: string; @doc(""" -A filter used to match labels. Syntax reference: -https://aka.ms/azconfig/docs/keyvaluefiltering -""") + A filter used to match labels. Syntax reference: + https://aka.ms/azconfig/docs/keyvaluefiltering + """) @query("label") label?: string; ...syncTokenHeader; @doc(""" -Instructs the server to return elements that appear after the element referred -to by the specified token. -""") + Instructs the server to return elements that appear after the element referred + to by the specified token. + """) @query("After") after?: string; @doc(""" -Requests the server to respond with the state of the resource at the specified -time. -""") + Requests the server to respond with the state of the resource at the specified + time. + """) @header("Accept-Datetime") acceptDatetime?: string; @@ -244,24 +244,24 @@ time. snapshot?: string; @doc(""" -Used to perform an operation only if the targeted resource's etag matches the -value provided. -""") + Used to perform an operation only if the targeted resource's etag matches the + value provided. + """) @header("If-Match") ifMatch?: string; @doc(""" -Used to perform an operation only if the targeted resource's etag does not -match the value provided. -""") + Used to perform an operation only if the targeted resource's etag does not + match the value provided. + """) @header("If-None-Match") ifNoneMatch?: string; #suppress "@azure-tools/typespec-azure-core/prefer-csv-collection-format" "Pre-existing API contract" @doc(""" -A filter used to query by tags. Syntax reference: -https://aka.ms/azconfig/docs/keyvaluefiltering -""") + A filter used to query by tags. Syntax reference: + https://aka.ms/azconfig/docs/keyvaluefiltering + """) @query({ name: "tags", format: "multi", @@ -291,23 +291,23 @@ op getKeyValue is standardOps.ResourceRead< ...syncTokenHeader; @doc(""" -Requests the server to respond with the state of the resource at the specified -time. -""") + Requests the server to respond with the state of the resource at the specified + time. + """) @header("Accept-Datetime") acceptDatetime?: string; @doc(""" -Used to perform an operation only if the targeted resource's etag matches the -value provided. -""") + Used to perform an operation only if the targeted resource's etag matches the + value provided. + """) @header("If-Match") ifMatch?: string; @doc(""" -Used to perform an operation only if the targeted resource's etag does not -match the value provided. -""") + Used to perform an operation only if the targeted resource's etag does not + match the value provided. + """) @header("If-None-Match") ifNoneMatch?: string; }> & @@ -344,16 +344,16 @@ op putKeyValue is appConfigOperation< ...syncTokenHeader; @doc(""" -Used to perform an operation only if the targeted resource's etag matches the -value provided. -""") + Used to perform an operation only if the targeted resource's etag matches the + value provided. + """) @header("If-Match") ifMatch?: string; @doc(""" -Used to perform an operation only if the targeted resource's etag does not -match the value provided. -""") + Used to perform an operation only if the targeted resource's etag does not + match the value provided. + """) @header("If-None-Match") ifNoneMatch?: string; @@ -384,9 +384,9 @@ op deleteKeyValue is appConfigOperation< ...syncTokenHeader; @doc(""" -Used to perform an operation only if the targeted resource's etag matches the -value provided. -""") + Used to perform an operation only if the targeted resource's etag matches the + value provided. + """) @header("If-Match") ifMatch?: string; }, @@ -418,23 +418,23 @@ op checkKeyValue is appConfigOperation< ...syncTokenHeader; @doc(""" -Requests the server to respond with the state of the resource at the specified -time. -""") + Requests the server to respond with the state of the resource at the specified + time. + """) @header("Accept-Datetime") acceptDatetime?: string; @doc(""" -Used to perform an operation only if the targeted resource's etag matches the -value provided. -""") + Used to perform an operation only if the targeted resource's etag matches the + value provided. + """) @header("If-Match") ifMatch?: string; @doc(""" -Used to perform an operation only if the targeted resource's etag does not -match the value provided. -""") + Used to perform an operation only if the targeted resource's etag does not + match the value provided. + """) @header("If-None-Match") ifNoneMatch?: string; @@ -459,9 +459,9 @@ op getSnapshots is Foundations.ResourceList< name?: string; @doc(""" -Instructs the server to return elements that appear after the element referred -to by the specified token. -""") + Instructs the server to return elements that appear after the element referred + to by the specified token. + """) @query("After") after?: string; @@ -499,9 +499,9 @@ op checkSnapshots is appConfigOperation< ...syncTokenHeader; @doc(""" -Instructs the server to return elements that appear after the element referred -to by the specified token. -""") + Instructs the server to return elements that appear after the element referred + to by the specified token. + """) @query("After") after?: string; }, @@ -526,16 +526,16 @@ op getSnapshot is standardOps.ResourceRead< ...syncTokenHeader; @doc(""" -Used to perform an operation only if the targeted resource's etag matches the -value provided. -""") + Used to perform an operation only if the targeted resource's etag matches the + value provided. + """) @header("If-Match") ifMatch?: string; @doc(""" -Used to perform an operation only if the targeted resource's etag does not -match the value provided. -""") + Used to perform an operation only if the targeted resource's etag does not + match the value provided. + """) @header("If-None-Match") ifNoneMatch?: string; }> & @@ -605,16 +605,16 @@ op updateSnapshot is appConfigOperation< ...syncTokenHeader; @doc(""" -Used to perform an operation only if the targeted resource's etag matches the -value provided. -""") + Used to perform an operation only if the targeted resource's etag matches the + value provided. + """) @header("If-Match") ifMatch?: string; @doc(""" -Used to perform an operation only if the targeted resource's etag does not -match the value provided. -""") + Used to perform an operation only if the targeted resource's etag does not + match the value provided. + """) @header("If-None-Match") ifNoneMatch?: string; @@ -647,16 +647,16 @@ op checkSnapshot is appConfigOperation< ...syncTokenHeader; @doc(""" -Used to perform an operation only if the targeted resource's etag matches the -value provided. -""") + Used to perform an operation only if the targeted resource's etag matches the + value provided. + """) @header("If-Match") ifMatch?: string; @doc(""" -Used to perform an operation only if the targeted resource's etag does not -match the value provided. -""") + Used to perform an operation only if the targeted resource's etag does not + match the value provided. + """) @header("If-None-Match") ifNoneMatch?: string; }, @@ -682,16 +682,16 @@ op getLabels is appConfigOperation< ...syncTokenHeader; @doc(""" -Instructs the server to return elements that appear after the element referred -to by the specified token. -""") + Instructs the server to return elements that appear after the element referred + to by the specified token. + """) @query("After") after?: string; @doc(""" -Requests the server to respond with the state of the resource at the specified -time. -""") + Requests the server to respond with the state of the resource at the specified + time. + """) @header("Accept-Datetime") acceptDatetime?: string; @@ -722,16 +722,16 @@ op checkLabels is appConfigOperation< ...syncTokenHeader; @doc(""" -Instructs the server to return elements that appear after the element referred -to by the specified token. -""") + Instructs the server to return elements that appear after the element referred + to by the specified token. + """) @query("After") after?: string; @doc(""" -Requests the server to respond with the state of the resource at the specified -time. -""") + Requests the server to respond with the state of the resource at the specified + time. + """) @header("Accept-Datetime") acceptDatetime?: string; @@ -765,16 +765,16 @@ op putLock is appConfigOperation< ...syncTokenHeader; @doc(""" -Used to perform an operation only if the targeted resource's etag matches the -value provided. -""") + Used to perform an operation only if the targeted resource's etag matches the + value provided. + """) @header("If-Match") ifMatch?: string; @doc(""" -Used to perform an operation only if the targeted resource's etag does not -match the value provided. -""") + Used to perform an operation only if the targeted resource's etag does not + match the value provided. + """) @header("If-None-Match") ifNoneMatch?: string; }, @@ -801,16 +801,16 @@ op deleteLock is appConfigOperation< ...syncTokenHeader; @doc(""" -Used to perform an operation only if the targeted resource's etag matches the -value provided. -""") + Used to perform an operation only if the targeted resource's etag matches the + value provided. + """) @header("If-Match") ifMatch?: string; @doc(""" -Used to perform an operation only if the targeted resource's etag does not -match the value provided. -""") + Used to perform an operation only if the targeted resource's etag does not + match the value provided. + """) @header("If-None-Match") ifNoneMatch?: string; }, @@ -827,32 +827,32 @@ match the value provided. op getRevisions is appConfigOperation< { @doc(""" -A filter used to match keys. Syntax reference: -https://aka.ms/azconfig/docs/restapirevisions -""") + A filter used to match keys. Syntax reference: + https://aka.ms/azconfig/docs/restapirevisions + """) @query("key") key?: string; @doc(""" -A filter used to match labels. Syntax reference: -https://aka.ms/azconfig/docs/restapirevisions -""") + A filter used to match labels. Syntax reference: + https://aka.ms/azconfig/docs/restapirevisions + """) @query("label") label?: string; ...syncTokenHeader; @doc(""" -Instructs the server to return elements that appear after the element referred -to by the specified token. -""") + Instructs the server to return elements that appear after the element referred + to by the specified token. + """) @query("After") after?: string; @doc(""" -Requests the server to respond with the state of the resource at the specified -time. -""") + Requests the server to respond with the state of the resource at the specified + time. + """) @header("Accept-Datetime") acceptDatetime?: string; @@ -865,9 +865,9 @@ time. #suppress "@azure-tools/typespec-azure-core/prefer-csv-collection-format" "Pre-existing API contract" @doc(""" -A filter used to query by tags. Syntax reference: -https://aka.ms/azconfig/docs/restapirevisions -""") + A filter used to query by tags. Syntax reference: + https://aka.ms/azconfig/docs/restapirevisions + """) @query({ name: "tags", format: "multi", @@ -887,32 +887,32 @@ https://aka.ms/azconfig/docs/restapirevisions op checkRevisions is appConfigOperation< { @doc(""" -A filter used to match keys. Syntax reference: -https://aka.ms/azconfig/docs/restapirevisions -""") + A filter used to match keys. Syntax reference: + https://aka.ms/azconfig/docs/restapirevisions + """) @query("key") key?: string; @doc(""" -A filter used to match labels. Syntax reference: -https://aka.ms/azconfig/docs/restapirevisions -""") + A filter used to match labels. Syntax reference: + https://aka.ms/azconfig/docs/restapirevisions + """) @query("label") label?: string; ...syncTokenHeader; @doc(""" -Instructs the server to return elements that appear after the element referred -to by the specified token. -""") + Instructs the server to return elements that appear after the element referred + to by the specified token. + """) @query("After") after?: string; @doc(""" -Requests the server to respond with the state of the resource at the specified -time. -""") + Requests the server to respond with the state of the resource at the specified + time. + """) @header("Accept-Datetime") acceptDatetime?: string; @@ -925,9 +925,9 @@ time. #suppress "@azure-tools/typespec-azure-core/prefer-csv-collection-format" "Pre-existing API contract" @doc(""" -A filter used to query by tags. Syntax reference: -https://aka.ms/azconfig/docs/restapirevisions -""") + A filter used to query by tags. Syntax reference: + https://aka.ms/azconfig/docs/restapirevisions + """) @query({ name: "tags", format: "multi", diff --git a/specification/appconfiguration/AppConfiguration/tspconfig.yaml b/specification/appconfiguration/AppConfiguration/tspconfig.yaml index 7ccf487e05d0..4e07a120c182 100644 --- a/specification/appconfiguration/AppConfiguration/tspconfig.yaml +++ b/specification/appconfiguration/AppConfiguration/tspconfig.yaml @@ -9,6 +9,7 @@ emit: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/Microsoft.AppConfiguration/{version-status}/{version}/appconfiguration.json" diff --git a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/appconfiguration.json b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/appconfiguration.json index 8d4cad68f08b..fb2796e96161 100644 --- a/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/appconfiguration.json +++ b/specification/appconfiguration/data-plane/Microsoft.AppConfiguration/stable/2023-11-01/appconfiguration.json @@ -21,7 +21,9 @@ "name": "endpoint", "in": "path", "required": true, - "type": "string" + "type": "string", + "format": "uri", + "x-ms-skip-url-encoding": true } ] }, @@ -111,17 +113,6 @@ "$ref": "#/definitions/KeyListResult" }, "headers": { - "Content-Type": { - "type": "string", - "description": "Content-Type header", - "enum": [ - "application/vnd.microsoft.appconfig.keyset+json", - "application/problem+json" - ], - "x-ms-enum": { - "modelAsString": false - } - }, "Sync-Token": { "type": "string", "description": "Used to guarantee real-time consistency between requests." @@ -373,17 +364,6 @@ "$ref": "#/definitions/KeyValueListResult" }, "headers": { - "Content-Type": { - "type": "string", - "description": "Content-Type header", - "enum": [ - "application/vnd.microsoft.appconfig.kvset+json", - "application/problem+json" - ], - "x-ms-enum": { - "modelAsString": false - } - }, "ETag": { "type": "string", "description": "A value representing the current state of the resource." @@ -741,17 +721,6 @@ "$ref": "#/definitions/KeyValue" }, "headers": { - "Content-Type": { - "type": "string", - "description": "Content-Type header", - "enum": [ - "application/vnd.microsoft.appconfig.kv+json", - "application/problem+json" - ], - "x-ms-enum": { - "modelAsString": false - } - }, "ETag": { "type": "string", "description": "A value representing the current state of the resource." @@ -865,17 +834,6 @@ "$ref": "#/definitions/KeyValue" }, "headers": { - "Content-Type": { - "type": "string", - "description": "Content-Type header", - "enum": [ - "application/vnd.microsoft.appconfig.kv+json", - "application/problem+json" - ], - "x-ms-enum": { - "modelAsString": false - } - }, "ETag": { "type": "string", "description": "A value representing the current state of the resource." @@ -956,17 +914,6 @@ "$ref": "#/definitions/KeyValue" }, "headers": { - "Content-Type": { - "type": "string", - "description": "Content-Type header", - "enum": [ - "application/vnd.microsoft.appconfig.kv+json", - "application/problem+json" - ], - "x-ms-enum": { - "modelAsString": false - } - }, "ETag": { "type": "string", "description": "A value representing the current state of the resource." @@ -1244,17 +1191,6 @@ "$ref": "#/definitions/LabelListResult" }, "headers": { - "Content-Type": { - "type": "string", - "description": "Content-Type header", - "enum": [ - "application/vnd.microsoft.appconfig.labelset+json", - "application/problem+json" - ], - "x-ms-enum": { - "modelAsString": false - } - }, "Sync-Token": { "type": "string", "description": "Used to guarantee real-time consistency between requests." @@ -1433,17 +1369,6 @@ "$ref": "#/definitions/KeyValue" }, "headers": { - "Content-Type": { - "type": "string", - "description": "Content-Type header", - "enum": [ - "application/vnd.microsoft.appconfig.kv+json", - "application/problem+json" - ], - "x-ms-enum": { - "modelAsString": false - } - }, "ETag": { "type": "string", "description": "A value representing the current state of the resource." @@ -1532,17 +1457,6 @@ "$ref": "#/definitions/KeyValue" }, "headers": { - "Content-Type": { - "type": "string", - "description": "Content-Type header", - "enum": [ - "application/vnd.microsoft.appconfig.kv+json", - "application/problem+json" - ], - "x-ms-enum": { - "modelAsString": false - } - }, "ETag": { "type": "string", "description": "A value representing the current state of the resource." @@ -1753,17 +1667,6 @@ "$ref": "#/definitions/KeyValueListResult" }, "headers": { - "Content-Type": { - "type": "string", - "description": "Content-Type header", - "enum": [ - "application/vnd.microsoft.appconfig.kvset+json", - "application/problem+json" - ], - "x-ms-enum": { - "modelAsString": false - } - }, "ETag": { "type": "string", "description": "A value representing the current state of the resource." @@ -2121,17 +2024,6 @@ "$ref": "#/definitions/SnapshotListResult" }, "headers": { - "Content-Type": { - "type": "string", - "description": "Content-Type header", - "enum": [ - "application/vnd.microsoft.appconfig.snapshotset+json", - "application/problem+json" - ], - "x-ms-enum": { - "modelAsString": false - } - }, "Sync-Token": { "type": "string", "description": "Used to guarantee real-time consistency between requests." @@ -2348,17 +2240,6 @@ "$ref": "#/definitions/Snapshot" }, "headers": { - "Content-Type": { - "type": "string", - "description": "Content-Type header", - "enum": [ - "application/vnd.microsoft.appconfig.snapshot+json", - "application/problem+json" - ], - "x-ms-enum": { - "modelAsString": false - } - }, "ETag": { "type": "string", "description": "A value representing the current state of the resource." @@ -2450,17 +2331,6 @@ "$ref": "#/definitions/Snapshot" }, "headers": { - "Content-Type": { - "type": "string", - "description": "Content-Type header", - "enum": [ - "application/vnd.microsoft.appconfig.snapshot+json", - "application/problem+json" - ], - "x-ms-enum": { - "modelAsString": false - } - }, "ETag": { "type": "string", "description": "A value representing the current state of the resource." @@ -2562,17 +2432,6 @@ "$ref": "#/definitions/Snapshot" }, "headers": { - "Content-Type": { - "type": "string", - "description": "Content-Type header", - "enum": [ - "application/vnd.microsoft.appconfig.snapshot+json", - "application/problem+json" - ], - "x-ms-enum": { - "modelAsString": false - } - }, "ETag": { "type": "string", "description": "A value representing the current state of the resource." diff --git a/specification/applicationinsights/ApplicationInsights.LiveMetrics/tspconfig.yaml b/specification/applicationinsights/ApplicationInsights.LiveMetrics/tspconfig.yaml index cbcaaa83003d..baeb8a1afba4 100644 --- a/specification/applicationinsights/ApplicationInsights.LiveMetrics/tspconfig.yaml +++ b/specification/applicationinsights/ApplicationInsights.LiveMetrics/tspconfig.yaml @@ -9,6 +9,7 @@ emit: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" # omit the enum type Versions from being added to versioned swagger diff --git a/specification/azurefleet/AzureFleet.Management/client.tsp b/specification/azurefleet/AzureFleet.Management/client.tsp new file mode 100644 index 000000000000..490f92718e21 --- /dev/null +++ b/specification/azurefleet/AzureFleet.Management/client.tsp @@ -0,0 +1,6 @@ +import "./main.tsp"; +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; + +@@clientName(Microsoft.AzureFleet, "ComputeFleetMgmt", "python"); diff --git a/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_CreateOrUpdate_MaximumSet.json b/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_CreateOrUpdate_MaximumSet.json index f3b06a940568..58e8fcb80aed 100644 --- a/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_CreateOrUpdate_MaximumSet.json +++ b/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_CreateOrUpdate_MaximumSet.json @@ -305,11 +305,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "ncc", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", @@ -445,7 +440,6 @@ "osProfile": { "computerNamePrefix": "svdrokuuojba", "adminUsername": "offgcmltnjkbiakzjhosetqeslifah", - "customData": "konjpsuyijb", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -454,8 +448,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "kstwdekvloggaypeiqgzlcfsm" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -723,11 +716,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "ncc", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", @@ -887,7 +875,6 @@ "osProfile": { "computerNamePrefix": "svdrokuuojba", "adminUsername": "offgcmltnjkbiakzjhosetqeslifah", - "customData": "konjpsuyijb", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -896,8 +883,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "kstwdekvloggaypeiqgzlcfsm" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -1165,11 +1151,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "ncc", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", diff --git a/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_Get_MaximumSet.json b/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_Get_MaximumSet.json index 4ecfdd206504..b080f05cdc68 100644 --- a/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_Get_MaximumSet.json +++ b/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_Get_MaximumSet.json @@ -33,7 +33,6 @@ "osProfile": { "computerNamePrefix": "svdrokuuojba", "adminUsername": "offgcmltnjkbiakzjhosetqeslifah", - "customData": "konjpsuyijb", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -42,8 +41,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "kstwdekvloggaypeiqgzlcfsm" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -311,11 +309,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "ncc", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", diff --git a/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_ListByResourceGroup_MaximumSet.json b/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_ListByResourceGroup_MaximumSet.json index 382d4f6c1589..1ddb67117d37 100644 --- a/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_ListByResourceGroup_MaximumSet.json +++ b/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_ListByResourceGroup_MaximumSet.json @@ -35,7 +35,6 @@ "osProfile": { "computerNamePrefix": "svdrokuuojba", "adminUsername": "offgcmltnjkbiakzjhosetqeslifah", - "customData": "konjpsuyijb", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -44,8 +43,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "kstwdekvloggaypeiqgzlcfsm" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -313,11 +311,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "ejag", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", diff --git a/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_ListBySubscription_MaximumSet.json b/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_ListBySubscription_MaximumSet.json index 7c5cf143d75c..55fea7dae063 100644 --- a/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_ListBySubscription_MaximumSet.json +++ b/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_ListBySubscription_MaximumSet.json @@ -34,7 +34,6 @@ "osProfile": { "computerNamePrefix": "svdrokuuojba", "adminUsername": "offgcmltnjkbiakzjhosetqeslifah", - "customData": "konjpsuyijb", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -43,8 +42,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "kstwdekvloggaypeiqgzlcfsm" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -312,11 +310,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "ejag", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", diff --git a/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/VirtualMachineScaleSets_ListByFleet_MaximumSet.json b/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_ListVirtualMachineScaleSets_MaximumSet.json similarity index 74% rename from specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/VirtualMachineScaleSets_ListByFleet_MaximumSet.json rename to specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_ListVirtualMachineScaleSets_MaximumSet.json index 74ac0007694d..35b9dc9c20da 100644 --- a/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/VirtualMachineScaleSets_ListByFleet_MaximumSet.json +++ b/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_ListVirtualMachineScaleSets_MaximumSet.json @@ -1,6 +1,6 @@ { - "title": "VirtualMachineScaleSets_ListByFleet_MaximumSet", - "operationId": "VirtualMachineScaleSets_ListByFleet", + "title": "Fleets_ListVirtualMachineScaleSets_MaximumSet", + "operationId": "Fleets_ListVirtualMachineScaleSets", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C", @@ -12,13 +12,12 @@ "body": { "value": [ { - "id": "/subscriptions/7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C/resourceGroups/rgazurefleet/providers/Microsoft.AzureFleet/fleets/myFleet/virtualMachineScaleSets/myVmss", "name": "myVmss", + "id": "/subscriptions/7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C/resourceGroups/rgazurefleet/providers/Microsoft.AzureFleet/fleets/myFleet/virtualMachineScaleSets/myVmss", "type": "Microsoft.AzureFleet/fleets/virtualMachineScaleSets", - "provisioningState": "Creating" + "provisioningState": "Succeeded" } - ], - "nextLink": null + ] } } } diff --git a/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_Update_MaximumSet.json b/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_Update_MaximumSet.json index c09aea4a8b80..43cbb9db43e1 100644 --- a/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_Update_MaximumSet.json +++ b/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/Fleets_Update_MaximumSet.json @@ -306,11 +306,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "pbnasge", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", @@ -443,7 +438,6 @@ "osProfile": { "computerNamePrefix": "svdrokuuojba", "adminUsername": "offgcmltnjkbiakzjhosetqeslifah", - "customData": "konjpsuyijb", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -452,8 +446,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "kstwdekvloggaypeiqgzlcfsm" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -721,11 +714,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "pbnasge", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", diff --git a/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/VirtualMachineScaleSets_ListByFleet_MinimumSet.json b/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/VirtualMachineScaleSets_ListByFleet_MinimumSet.json deleted file mode 100644 index e443ae914371..000000000000 --- a/specification/azurefleet/AzureFleet.Management/examples/2023-11-01-preview/VirtualMachineScaleSets_ListByFleet_MinimumSet.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "title": "VirtualMachineScaleSets_ListByFleet_MinimumSet", - "operationId": "VirtualMachineScaleSets_ListByFleet", - "parameters": { - "api-version": "2023-11-01-preview", - "subscriptionId": "7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C", - "resourceGroupName": "rgazurefleet", - "name": "testFleet" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C/resourceGroups/rgazurefleet/providers/Microsoft.AzureFleet/fleets/myFleet/virtualMachineScaleSets/myVmss", - "name": "myVmss", - "provisioningState": "Creating" - } - ] - } - } - } -} diff --git a/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_CreateOrUpdate.json b/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_CreateOrUpdate.json index 098e590357f5..f90d8d57e529 100644 --- a/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_CreateOrUpdate.json +++ b/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_CreateOrUpdate.json @@ -307,11 +307,6 @@ "extensionsTimeBudget": "mbhjahtdygwgyszdwjtvlvtgchdwil" }, "licenseType": "v", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 2 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "iljppmmw", @@ -453,7 +448,6 @@ "osProfile": { "computerNamePrefix": "o", "adminUsername": "nrgzqciiaaxjrqldbmjbqkyhntp", - "customData": "xjjib", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -462,8 +456,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "bubmqbxjkj" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -731,11 +724,6 @@ "extensionsTimeBudget": "mbhjahtdygwgyszdwjtvlvtgchdwil" }, "licenseType": "v", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 2 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "iljppmmw", @@ -900,7 +888,6 @@ "osProfile": { "computerNamePrefix": "o", "adminUsername": "nrgzqciiaaxjrqldbmjbqkyhntp", - "customData": "xjjib", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -909,8 +896,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "bubmqbxjkj" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -1178,11 +1164,6 @@ "extensionsTimeBudget": "mbhjahtdygwgyszdwjtvlvtgchdwil" }, "licenseType": "v", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 2 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "iljppmmw", diff --git a/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_ListByResourceGroup.json b/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_ListByResourceGroup.json index 894f01849bf2..ad7bc37f6910 100644 --- a/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_ListByResourceGroup.json +++ b/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_ListByResourceGroup.json @@ -315,11 +315,6 @@ "extensionsTimeBudget": "mbhjahtdygwgyszdwjtvlvtgchdwil" }, "licenseType": "v", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 2 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "iljppmmw", diff --git a/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_ListBySubscription.json b/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_ListBySubscription.json index f23c58309970..0c9de85a88ba 100644 --- a/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_ListBySubscription.json +++ b/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_ListBySubscription.json @@ -314,11 +314,6 @@ "extensionsTimeBudget": "mbhjahtdygwgyszdwjtvlvtgchdwil" }, "licenseType": "v", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 2 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "iljppmmw", diff --git a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/VirtualMachineScaleSets_ListByFleet.json b/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_ListVirtualMachineScaleSets.json similarity index 66% rename from specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/VirtualMachineScaleSets_ListByFleet.json rename to specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_ListVirtualMachineScaleSets.json index f8ad3c043c5f..628c68be9aed 100644 --- a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/VirtualMachineScaleSets_ListByFleet.json +++ b/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_ListVirtualMachineScaleSets.json @@ -1,9 +1,9 @@ { - "title": "VirtualMachineScaleSets_ListByFleet", - "operationId": "VirtualMachineScaleSets_ListByFleet", + "title": "Fleets_ListVirtualMachineScaleSets", + "operationId": "Fleets_ListVirtualMachineScaleSets", "parameters": { "api-version": "2024-05-01-preview", - "subscriptionId": "7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C", + "subscriptionId": "1DC2F28C-A625-4B0E-9748-9885A3C9E9EB", "resourceGroupName": "rgazurefleet", "name": "myFleet" }, @@ -12,29 +12,28 @@ "body": { "value": [ { - "id": "/subscriptions/7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C/resourceGroups/rgazurefleet/providers/Microsoft.AzureFleet/fleets/myFleet/virtualMachineScaleSets/myVmss", "name": "myVmss", + "id": "/subscriptions/7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C/resourceGroups/rgazurefleet/providers/Microsoft.AzureFleet/fleets/myFleet/virtualMachineScaleSets/myVmss", "type": "Microsoft.AzureFleet/fleets/virtualMachineScaleSets", "operationStatus": "Creating", "error": { "details": [ { - "code": "OverconstrainedAllocationRequest", - "target": "ctewy", + "code": "gzhtOverconstrainedAllocationRequestyosk", + "target": "qfthabhrmndhfizfnrwpgxvnokpy", "message": "Allocation Failed" } ], "innererror": { - "exceptiontype": "izreesvoxoftelpzpbo", - "errordetail": "hnwzlnmyqyclprdnzfumar" + "exceptiontype": "sfaomfpoaptnbxchrfskm", + "errordetail": "ihjwbwykq" }, "code": "OverconstrainedAllocationRequest", - "target": "ctewy", + "target": "nhaj", "message": "Allocation Failed" } } - ], - "nextLink": null + ] } } } diff --git a/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_Update.json b/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_Update.json index bbfa1f3f6ff5..621ccf96f741 100644 --- a/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_Update.json +++ b/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/Fleets_Update.json @@ -312,11 +312,6 @@ "extensionsTimeBudget": "mbhjahtdygwgyszdwjtvlvtgchdwil" }, "licenseType": "v", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 2 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "iljppmmw", @@ -448,7 +443,6 @@ "osProfile": { "computerNamePrefix": "o", "adminUsername": "nrgzqciiaaxjrqldbmjbqkyhntp", - "customData": "xjjib", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -457,8 +451,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "bubmqbxjkj" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -726,11 +719,6 @@ "extensionsTimeBudget": "mbhjahtdygwgyszdwjtvlvtgchdwil" }, "licenseType": "v", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 2 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "iljppmmw", diff --git a/specification/azurefleet/AzureFleet.Management/fleet.tsp b/specification/azurefleet/AzureFleet.Management/fleet.tsp index b0ecd27d3b21..f1c124a7cac3 100644 --- a/specification/azurefleet/AzureFleet.Management/fleet.tsp +++ b/specification/azurefleet/AzureFleet.Management/fleet.tsp @@ -46,10 +46,10 @@ model FleetUpdate { } model ManagedServiceIdentityUpdate - is OptionalProperties>; + is OptionalProperties>; model ResourcePlanUpdate - is OptionalProperties>; + is OptionalProperties>; @doc("The status of the current operation.") @Azure.Core.lroStatus @@ -93,24 +93,24 @@ model FleetProperties { @doc("Compute Profile to use for running user's workloads.") model ComputeProfile { @doc(""" - Base Virtual Machine Profile Properties to be specified according to "specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/{computeApiVersion}/virtualMachineScaleSet.json#/definitions/VirtualMachineScaleSetVMProfile" - """) + Base Virtual Machine Profile Properties to be specified according to "specification/compute/resource-manager/Microsoft.Compute/ComputeRP/stable/{computeApiVersion}/virtualMachineScaleSet.json#/definitions/VirtualMachineScaleSetVMProfile" + """) baseVirtualMachineProfile: BaseVirtualMachineProfile; @doc(""" - Specifies the Microsoft.Compute API version to use when creating underlying Virtual Machine scale sets and Virtual Machines. - The default value will be the latest supported computeApiVersion by Compute Fleet. - """) + Specifies the Microsoft.Compute API version to use when creating underlying Virtual Machine scale sets and Virtual Machines. + The default value will be the latest supported computeApiVersion by Compute Fleet. + """) computeApiVersion?: string; @added(Versions.v2024_05_01_preview) @doc(""" - Specifies the number of fault domains to use when creating the underlying VMSS. - A fault domain is a logical group of hardware within an Azure datacenter. - VMs in the same fault domain share a common power source and network switch. - If not specified, defaults to 1, which represents "Max Spreading" (using as many fault domains as possible). - This property cannot be updated. - """) + Specifies the number of fault domains to use when creating the underlying VMSS. + A fault domain is a logical group of hardware within an Azure datacenter. + VMs in the same fault domain share a common power source and network switch. + If not specified, defaults to 1, which represents "Max Spreading" (using as many fault domains as possible). + This property cannot be updated. + """) platformFaultDomainCount?: int32; } @@ -125,9 +125,9 @@ model VmSizeProfile { @added(Versions.v2024_05_01_preview) @doc(""" - The rank of the VM size. This is used with 'RegularPriorityAllocationStrategy.Prioritized' - The lower the number, the higher the priority. Starting with 0. - """) + The rank of the VM size. This is used with 'RegularPriorityAllocationStrategy.Prioritized' + The lower the number, the higher the priority. Starting with 0. + """) @minValue(0) @maxValue(65535) rank?: int32; @@ -158,11 +158,11 @@ model SpotPriorityProfile is BasePriorityProfile { @added(Versions.v2024_05_01_preview) @doc(""" - Flag to enable/disable continuous goal seeking for the desired capacity and restoration of evicted Spot VMs. - If maintain is enabled, AzureFleetRP will use all VM sizes in vmSizesProfile to create new VMs (if VMs are evicted deleted) - or update existing VMs with new VM sizes (if VMs are evicted deallocated or failed to allocate due to capacity constraint) in order to achieve the desired capacity. - Maintain is enabled by default. - """) + Flag to enable/disable continuous goal seeking for the desired capacity and restoration of evicted Spot VMs. + If maintain is enabled, AzureFleetRP will use all VM sizes in vmSizesProfile to create new VMs (if VMs are evicted deleted) + or update existing VMs with new VM sizes (if VMs are evicted deallocated or failed to allocate due to capacity constraint) in order to achieve the desired capacity. + Maintain is enabled by default. + """) maintain?: boolean; } @@ -212,9 +212,35 @@ union EvictionPolicy { @armResourceOperations interface Fleets { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + Fleet, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmCustomPatchAsync; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; listBySubscription is ArmListBySubscription; + @autoRoute + @listsResource(VirtualMachineScaleSet) + @armResourceList(VirtualMachineScaleSet) + @get + @doc("List VirtualMachineScaleSet resources by Fleet") + @extension( + "x-ms-pageable", + { + nextLinkName: "nextLink", + } + ) + listVirtualMachineScaleSets( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...ProviderNamespace, + ...ResourceNameParameter< + Fleet, + NamePattern = "^[^_\\W][\\w-._]{0,79}(?, + ): ArmResponse | ErrorResponse; } diff --git a/specification/azurefleet/AzureFleet.Management/main.tsp b/specification/azurefleet/AzureFleet.Management/main.tsp index 126e15a3e1b2..17ef95fcf8e7 100644 --- a/specification/azurefleet/AzureFleet.Management/main.tsp +++ b/specification/azurefleet/AzureFleet.Management/main.tsp @@ -16,17 +16,18 @@ using Azure.ResourceManager; @service({ title: "Microsoft.AzureFleet", }) -@armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @versioned(Versions) namespace Microsoft.AzureFleet; /** Api versions */ enum Versions { @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @doc("Private Preview Api version") v2023_11_01_preview: "2023-11-01-preview", @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) @doc("Public Preview Api version") v2024_05_01_preview: "2024-05-01-preview", } diff --git a/specification/azurefleet/AzureFleet.Management/tspconfig.yaml b/specification/azurefleet/AzureFleet.Management/tspconfig.yaml index de88829850b6..6e187771dfb0 100644 --- a/specification/azurefleet/AzureFleet.Management/tspconfig.yaml +++ b/specification/azurefleet/AzureFleet.Management/tspconfig.yaml @@ -23,3 +23,13 @@ options: namespace: "{package-dir}" # Added to support generic model conversion from compute VM types use-model-reader-writer: true + "@azure-tools/typespec-python": + package-dir: "azure-mgmt-computefleet" + package-name: "{package-dir}" + flavor: "azure" + "@azure-tools/typespec-java": + package-dir: "azure-resourcemanager-computefleet" + namespace: com.azure.resourcemanager.computefleet + service-name: Compute Fleet + examples-directory: "examples" + flavor: azure diff --git a/specification/azurefleet/AzureFleet.Management/virtualMachineScaleSet.tsp b/specification/azurefleet/AzureFleet.Management/virtualMachineScaleSet.tsp index bf38fbe41a8c..63d3fd5f8011 100644 --- a/specification/azurefleet/AzureFleet.Management/virtualMachineScaleSet.tsp +++ b/specification/azurefleet/AzureFleet.Management/virtualMachineScaleSet.tsp @@ -22,9 +22,9 @@ model VirtualMachineScaleSet { name: string; @doc(""" - The compute RP resource id of the virtualMachineScaleSet - "subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}" - """) + The compute RP resource id of the virtualMachineScaleSet + "subscriptions/{subId}/resourceGroups/{rgName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmssName}" + """) @visibility("read") id: string; @@ -58,28 +58,3 @@ model VirtualMachineScaleSetListResult { @format("uri") nextLink?: string; } - -@armResourceOperations -interface VirtualMachineScaleSets { - @autoRoute - @listsResource(VirtualMachineScaleSet) - @armResourceList(VirtualMachineScaleSet) - @get - @doc("List VirtualMachineScaleSet resources by Fleet") - @extension( - "x-ms-pageable", - { - nextLinkName: "nextLink", - } - ) - listByFleet( - ...ApiVersionParameter, - ...SubscriptionIdParameter, - ...ResourceGroupParameter, - ...ProviderNamespace, - ...ResourceNameParameter< - Fleet, - NamePattern = "^[^_\\W][\\w-._]{0,79}(?, - ): ArmResponse | ErrorResponse; -} diff --git a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/azurefleet.json b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/azurefleet.json index a374ea7ef3b9..3a7a0582b6b8 100644 --- a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/azurefleet.json +++ b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/azurefleet.json @@ -43,9 +43,6 @@ }, { "name": "Fleets" - }, - { - "name": "VirtualMachineScaleSets" } ], "paths": { @@ -439,9 +436,9 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureFleet/fleets/{name}/virtualMachineScaleSets": { "get": { - "operationId": "VirtualMachineScaleSets_ListByFleet", + "operationId": "Fleets_ListVirtualMachineScaleSets", "tags": [ - "VirtualMachineScaleSets" + "Fleets" ], "description": "List VirtualMachineScaleSet resources by Fleet", "parameters": [ @@ -478,11 +475,8 @@ } }, "x-ms-examples": { - "VirtualMachineScaleSets_ListByFleet_MaximumSet": { - "$ref": "./examples/VirtualMachineScaleSets_ListByFleet_MaximumSet.json" - }, - "VirtualMachineScaleSets_ListByFleet_MinimumSet": { - "$ref": "./examples/VirtualMachineScaleSets_ListByFleet_MinimumSet.json" + "Fleets_ListVirtualMachineScaleSets_MaximumSet": { + "$ref": "./examples/Fleets_ListVirtualMachineScaleSets_MaximumSet.json" } }, "x-ms-pageable": { @@ -492,14 +486,14 @@ } }, "definitions": { - "Azure.ResourceManager.Foundations.ManagedServiceIdentityType": { + "Azure.ResourceManager.CommonTypes.ManagedServiceIdentityType": { "type": "string", - "description": "The kind of managed identity assigned to this resource.", + "description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", "enum": [ "None", "SystemAssigned", "UserAssigned", - "SystemAssigned, UserAssigned" + "SystemAssigned,UserAssigned" ], "x-ms-enum": { "name": "ManagedServiceIdentityType", @@ -522,7 +516,7 @@ }, { "name": "SystemAndUserAssigned", - "value": "SystemAssigned, UserAssigned", + "value": "SystemAssigned,UserAssigned", "description": "System and user assigned managed identity." } ] @@ -608,11 +602,7 @@ "properties": { "$ref": "#/definitions/FleetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "zones": { "type": "array", @@ -748,12 +738,13 @@ "description": "The template for adding optional properties.", "properties": { "type": { - "$ref": "#/definitions/Azure.ResourceManager.Foundations.ManagedServiceIdentityType", + "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.ManagedServiceIdentityType", "description": "The type of managed identity assigned to this resource." }, "userAssignedIdentities": { "type": "object", "description": "The identities assigned to this resource by the user.", + "x-nullable": true, "additionalProperties": { "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/UserAssignedIdentity" } @@ -869,7 +860,7 @@ }, "product": { "type": "string", - "description": "The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. " + "description": "The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding." }, "promotionCode": { "type": "string", diff --git a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_CreateOrUpdate_MaximumSet.json b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_CreateOrUpdate_MaximumSet.json index f3b06a940568..58e8fcb80aed 100644 --- a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_CreateOrUpdate_MaximumSet.json +++ b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_CreateOrUpdate_MaximumSet.json @@ -305,11 +305,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "ncc", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", @@ -445,7 +440,6 @@ "osProfile": { "computerNamePrefix": "svdrokuuojba", "adminUsername": "offgcmltnjkbiakzjhosetqeslifah", - "customData": "konjpsuyijb", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -454,8 +448,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "kstwdekvloggaypeiqgzlcfsm" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -723,11 +716,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "ncc", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", @@ -887,7 +875,6 @@ "osProfile": { "computerNamePrefix": "svdrokuuojba", "adminUsername": "offgcmltnjkbiakzjhosetqeslifah", - "customData": "konjpsuyijb", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -896,8 +883,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "kstwdekvloggaypeiqgzlcfsm" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -1165,11 +1151,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "ncc", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", diff --git a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_Get_MaximumSet.json b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_Get_MaximumSet.json index 4ecfdd206504..b080f05cdc68 100644 --- a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_Get_MaximumSet.json +++ b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_Get_MaximumSet.json @@ -33,7 +33,6 @@ "osProfile": { "computerNamePrefix": "svdrokuuojba", "adminUsername": "offgcmltnjkbiakzjhosetqeslifah", - "customData": "konjpsuyijb", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -42,8 +41,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "kstwdekvloggaypeiqgzlcfsm" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -311,11 +309,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "ncc", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", diff --git a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_ListByResourceGroup_MaximumSet.json b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_ListByResourceGroup_MaximumSet.json index 382d4f6c1589..1ddb67117d37 100644 --- a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_ListByResourceGroup_MaximumSet.json +++ b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_ListByResourceGroup_MaximumSet.json @@ -35,7 +35,6 @@ "osProfile": { "computerNamePrefix": "svdrokuuojba", "adminUsername": "offgcmltnjkbiakzjhosetqeslifah", - "customData": "konjpsuyijb", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -44,8 +43,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "kstwdekvloggaypeiqgzlcfsm" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -313,11 +311,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "ejag", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", diff --git a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_ListBySubscription_MaximumSet.json b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_ListBySubscription_MaximumSet.json index 7c5cf143d75c..55fea7dae063 100644 --- a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_ListBySubscription_MaximumSet.json +++ b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_ListBySubscription_MaximumSet.json @@ -34,7 +34,6 @@ "osProfile": { "computerNamePrefix": "svdrokuuojba", "adminUsername": "offgcmltnjkbiakzjhosetqeslifah", - "customData": "konjpsuyijb", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -43,8 +42,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "kstwdekvloggaypeiqgzlcfsm" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -312,11 +310,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "ejag", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", diff --git a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/VirtualMachineScaleSets_ListByFleet_MaximumSet.json b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_ListVirtualMachineScaleSets_MaximumSet.json similarity index 74% rename from specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/VirtualMachineScaleSets_ListByFleet_MaximumSet.json rename to specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_ListVirtualMachineScaleSets_MaximumSet.json index 74ac0007694d..35b9dc9c20da 100644 --- a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/VirtualMachineScaleSets_ListByFleet_MaximumSet.json +++ b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_ListVirtualMachineScaleSets_MaximumSet.json @@ -1,6 +1,6 @@ { - "title": "VirtualMachineScaleSets_ListByFleet_MaximumSet", - "operationId": "VirtualMachineScaleSets_ListByFleet", + "title": "Fleets_ListVirtualMachineScaleSets_MaximumSet", + "operationId": "Fleets_ListVirtualMachineScaleSets", "parameters": { "api-version": "2023-11-01-preview", "subscriptionId": "7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C", @@ -12,13 +12,12 @@ "body": { "value": [ { - "id": "/subscriptions/7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C/resourceGroups/rgazurefleet/providers/Microsoft.AzureFleet/fleets/myFleet/virtualMachineScaleSets/myVmss", "name": "myVmss", + "id": "/subscriptions/7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C/resourceGroups/rgazurefleet/providers/Microsoft.AzureFleet/fleets/myFleet/virtualMachineScaleSets/myVmss", "type": "Microsoft.AzureFleet/fleets/virtualMachineScaleSets", - "provisioningState": "Creating" + "provisioningState": "Succeeded" } - ], - "nextLink": null + ] } } } diff --git a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_Update_MaximumSet.json b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_Update_MaximumSet.json index c09aea4a8b80..43cbb9db43e1 100644 --- a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_Update_MaximumSet.json +++ b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/Fleets_Update_MaximumSet.json @@ -306,11 +306,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "pbnasge", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", @@ -443,7 +438,6 @@ "osProfile": { "computerNamePrefix": "svdrokuuojba", "adminUsername": "offgcmltnjkbiakzjhosetqeslifah", - "customData": "konjpsuyijb", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -452,8 +446,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "kstwdekvloggaypeiqgzlcfsm" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -721,11 +714,6 @@ "extensionsTimeBudget": "srvemetinivyy" }, "licenseType": "pbnasge", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 8 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "yczcvhbnxumqmilfufwatqupjrniie", diff --git a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/VirtualMachineScaleSets_ListByFleet_MinimumSet.json b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/VirtualMachineScaleSets_ListByFleet_MinimumSet.json deleted file mode 100644 index e443ae914371..000000000000 --- a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2023-11-01-preview/examples/VirtualMachineScaleSets_ListByFleet_MinimumSet.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "title": "VirtualMachineScaleSets_ListByFleet_MinimumSet", - "operationId": "VirtualMachineScaleSets_ListByFleet", - "parameters": { - "api-version": "2023-11-01-preview", - "subscriptionId": "7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C", - "resourceGroupName": "rgazurefleet", - "name": "testFleet" - }, - "responses": { - "200": { - "body": { - "value": [ - { - "id": "/subscriptions/7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C/resourceGroups/rgazurefleet/providers/Microsoft.AzureFleet/fleets/myFleet/virtualMachineScaleSets/myVmss", - "name": "myVmss", - "provisioningState": "Creating" - } - ] - } - } - } -} diff --git a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/azurefleet.json b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/azurefleet.json index 3e9036a323dc..fe99e2db4dc9 100644 --- a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/azurefleet.json +++ b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/azurefleet.json @@ -43,9 +43,6 @@ }, { "name": "Fleets" - }, - { - "name": "VirtualMachineScaleSets" } ], "paths": { @@ -418,9 +415,9 @@ }, "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureFleet/fleets/{name}/virtualMachineScaleSets": { "get": { - "operationId": "VirtualMachineScaleSets_ListByFleet", + "operationId": "Fleets_ListVirtualMachineScaleSets", "tags": [ - "VirtualMachineScaleSets" + "Fleets" ], "description": "List VirtualMachineScaleSet resources by Fleet", "parameters": [ @@ -457,8 +454,8 @@ } }, "x-ms-examples": { - "VirtualMachineScaleSets_ListByFleet": { - "$ref": "./examples/VirtualMachineScaleSets_ListByFleet.json" + "Fleets_ListVirtualMachineScaleSets": { + "$ref": "./examples/Fleets_ListVirtualMachineScaleSets.json" } }, "x-ms-pageable": { @@ -468,14 +465,14 @@ } }, "definitions": { - "Azure.ResourceManager.Foundations.ManagedServiceIdentityType": { + "Azure.ResourceManager.CommonTypes.ManagedServiceIdentityType": { "type": "string", - "description": "The kind of managed identity assigned to this resource.", + "description": "Type of managed service identity (where both SystemAssigned and UserAssigned types are allowed).", "enum": [ "None", "SystemAssigned", "UserAssigned", - "SystemAssigned, UserAssigned" + "SystemAssigned,UserAssigned" ], "x-ms-enum": { "name": "ManagedServiceIdentityType", @@ -498,7 +495,7 @@ }, { "name": "SystemAndUserAssigned", - "value": "SystemAssigned, UserAssigned", + "value": "SystemAssigned,UserAssigned", "description": "System and user assigned managed identity." } ] @@ -594,11 +591,7 @@ "properties": { "$ref": "#/definitions/FleetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "zones": { "type": "array", @@ -734,12 +727,13 @@ "description": "The template for adding optional properties.", "properties": { "type": { - "$ref": "#/definitions/Azure.ResourceManager.Foundations.ManagedServiceIdentityType", + "$ref": "#/definitions/Azure.ResourceManager.CommonTypes.ManagedServiceIdentityType", "description": "The type of managed identity assigned to this resource." }, "userAssignedIdentities": { "type": "object", "description": "The identities assigned to this resource by the user.", + "x-nullable": true, "additionalProperties": { "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/UserAssignedIdentity" } @@ -861,7 +855,7 @@ }, "product": { "type": "string", - "description": "The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. " + "description": "The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding." }, "promotionCode": { "type": "string", diff --git a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_CreateOrUpdate.json b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_CreateOrUpdate.json index 098e590357f5..f90d8d57e529 100644 --- a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_CreateOrUpdate.json +++ b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_CreateOrUpdate.json @@ -307,11 +307,6 @@ "extensionsTimeBudget": "mbhjahtdygwgyszdwjtvlvtgchdwil" }, "licenseType": "v", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 2 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "iljppmmw", @@ -453,7 +448,6 @@ "osProfile": { "computerNamePrefix": "o", "adminUsername": "nrgzqciiaaxjrqldbmjbqkyhntp", - "customData": "xjjib", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -462,8 +456,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "bubmqbxjkj" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -731,11 +724,6 @@ "extensionsTimeBudget": "mbhjahtdygwgyszdwjtvlvtgchdwil" }, "licenseType": "v", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 2 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "iljppmmw", @@ -900,7 +888,6 @@ "osProfile": { "computerNamePrefix": "o", "adminUsername": "nrgzqciiaaxjrqldbmjbqkyhntp", - "customData": "xjjib", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -909,8 +896,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "bubmqbxjkj" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -1178,11 +1164,6 @@ "extensionsTimeBudget": "mbhjahtdygwgyszdwjtvlvtgchdwil" }, "licenseType": "v", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 2 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "iljppmmw", diff --git a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_ListByResourceGroup.json b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_ListByResourceGroup.json index 894f01849bf2..ad7bc37f6910 100644 --- a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_ListByResourceGroup.json +++ b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_ListByResourceGroup.json @@ -315,11 +315,6 @@ "extensionsTimeBudget": "mbhjahtdygwgyszdwjtvlvtgchdwil" }, "licenseType": "v", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 2 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "iljppmmw", diff --git a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_ListBySubscription.json b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_ListBySubscription.json index f23c58309970..0c9de85a88ba 100644 --- a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_ListBySubscription.json +++ b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_ListBySubscription.json @@ -314,11 +314,6 @@ "extensionsTimeBudget": "mbhjahtdygwgyszdwjtvlvtgchdwil" }, "licenseType": "v", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 2 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "iljppmmw", diff --git a/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/VirtualMachineScaleSets_ListByFleet.json b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_ListVirtualMachineScaleSets.json similarity index 66% rename from specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/VirtualMachineScaleSets_ListByFleet.json rename to specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_ListVirtualMachineScaleSets.json index f8ad3c043c5f..628c68be9aed 100644 --- a/specification/azurefleet/AzureFleet.Management/examples/2024-05-01-preview/VirtualMachineScaleSets_ListByFleet.json +++ b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_ListVirtualMachineScaleSets.json @@ -1,9 +1,9 @@ { - "title": "VirtualMachineScaleSets_ListByFleet", - "operationId": "VirtualMachineScaleSets_ListByFleet", + "title": "Fleets_ListVirtualMachineScaleSets", + "operationId": "Fleets_ListVirtualMachineScaleSets", "parameters": { "api-version": "2024-05-01-preview", - "subscriptionId": "7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C", + "subscriptionId": "1DC2F28C-A625-4B0E-9748-9885A3C9E9EB", "resourceGroupName": "rgazurefleet", "name": "myFleet" }, @@ -12,29 +12,28 @@ "body": { "value": [ { - "id": "/subscriptions/7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C/resourceGroups/rgazurefleet/providers/Microsoft.AzureFleet/fleets/myFleet/virtualMachineScaleSets/myVmss", "name": "myVmss", + "id": "/subscriptions/7B0CD4DB-3381-4013-9B31-FB6E6FD0FF1C/resourceGroups/rgazurefleet/providers/Microsoft.AzureFleet/fleets/myFleet/virtualMachineScaleSets/myVmss", "type": "Microsoft.AzureFleet/fleets/virtualMachineScaleSets", "operationStatus": "Creating", "error": { "details": [ { - "code": "OverconstrainedAllocationRequest", - "target": "ctewy", + "code": "gzhtOverconstrainedAllocationRequestyosk", + "target": "qfthabhrmndhfizfnrwpgxvnokpy", "message": "Allocation Failed" } ], "innererror": { - "exceptiontype": "izreesvoxoftelpzpbo", - "errordetail": "hnwzlnmyqyclprdnzfumar" + "exceptiontype": "sfaomfpoaptnbxchrfskm", + "errordetail": "ihjwbwykq" }, "code": "OverconstrainedAllocationRequest", - "target": "ctewy", + "target": "nhaj", "message": "Allocation Failed" } } - ], - "nextLink": null + ] } } } diff --git a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_Update.json b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_Update.json index bbfa1f3f6ff5..621ccf96f741 100644 --- a/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_Update.json +++ b/specification/azurefleet/resource-manager/Microsoft.AzureFleet/preview/2024-05-01-preview/examples/Fleets_Update.json @@ -312,11 +312,6 @@ "extensionsTimeBudget": "mbhjahtdygwgyszdwjtvlvtgchdwil" }, "licenseType": "v", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 2 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "iljppmmw", @@ -448,7 +443,6 @@ "osProfile": { "computerNamePrefix": "o", "adminUsername": "nrgzqciiaaxjrqldbmjbqkyhntp", - "customData": "xjjib", "windowsConfiguration": { "provisionVMAgent": true, "enableAutomaticUpdates": true, @@ -457,8 +451,7 @@ { "passName": "OobeSystem", "componentName": "Microsoft-Windows-Shell-Setup", - "settingName": "AutoLogon", - "content": "bubmqbxjkj" + "settingName": "AutoLogon" } ], "patchSettings": { @@ -726,11 +719,6 @@ "extensionsTimeBudget": "mbhjahtdygwgyszdwjtvlvtgchdwil" }, "licenseType": "v", - "priority": "Regular", - "evictionPolicy": "Deallocate", - "billingProfile": { - "maxPrice": 2 - }, "scheduledEventsProfile": { "terminateNotificationProfile": { "notBeforeTimeout": "iljppmmw", diff --git a/specification/azurefleet/resource-manager/readme.md b/specification/azurefleet/resource-manager/readme.md index 52c0e08b17be..d3f91ed2ee8c 100644 --- a/specification/azurefleet/resource-manager/readme.md +++ b/specification/azurefleet/resource-manager/readme.md @@ -63,7 +63,7 @@ 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-python - repo: azure-sdk-for-java - repo: azure-sdk-for-go - repo: azure-sdk-for-js diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeInstance.tsp b/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeInstance.tsp index 82104985f79a..3ae57ffbad46 100644 --- a/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeInstance.tsp +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeInstance.tsp @@ -11,9 +11,9 @@ using Azure.ClientGenerator.Core; namespace Microsoft.AzureLargeInstance; @doc(""" -Azure Large Instance info on Azure (ARM properties and AzureLargeInstance -properties) -""") + Azure Large Instance info on Azure (ARM properties and AzureLargeInstance + properties) + """) model AzureLargeInstance is TrackedResource { @doc("Name of the AzureLargeInstance.") @pattern(".*") @@ -28,27 +28,27 @@ model AzureLargeInstance is TrackedResource { @clientName("AzureLargeInstance") interface AzureLargeInstances { @doc(""" -Gets an Azure Large Instance for the specified subscription, resource group, -and instance name. -""") + Gets an Azure Large Instance for the specified subscription, resource group, + and instance name. + """) get is ArmResourceRead; @doc(""" -Patches the Tags field of an Azure Large Instance for the specified -subscription, resource group, and instance name. -""") + Patches the Tags field of an Azure Large Instance for the specified + subscription, resource group, and instance name. + """) update is ArmCustomPatchSync; @doc(""" -Gets a list of Azure Large Instances in the specified subscription and resource -group. The operations returns various properties of each Azure Large Instance. -""") + Gets a list of Azure Large Instances in the specified subscription and resource + group. The operations returns various properties of each Azure Large Instance. + """) listByResourceGroup is ArmResourceListByParent; @doc(""" -Gets a list of Azure Large Instances in the specified subscription. The -operations returns various properties of each Azure Large Instance. -""") + Gets a list of Azure Large Instances in the specified subscription. The + operations returns various properties of each Azure Large Instance. + """) listBySubscription is ArmListBySubscription; @doc("The operation to start an Azure Large Instance (only for compute instances)") diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeStorageInstance.tsp b/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeStorageInstance.tsp index 118b3c4785a2..ec44a0a2fecf 100644 --- a/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeStorageInstance.tsp +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/AzureLargeStorageInstance.tsp @@ -11,9 +11,9 @@ using Azure.ClientGenerator.Core; namespace Microsoft.AzureLargeInstance; @doc(""" -AzureLargeStorageInstance info on Azure (ARM properties and -AzureLargeStorageInstance properties) -""") + AzureLargeStorageInstance info on Azure (ARM properties and + AzureLargeStorageInstance properties) + """) model AzureLargeStorageInstance is TrackedResource { @doc("Name of the AzureLargeStorageInstance.") @@ -29,25 +29,25 @@ model AzureLargeStorageInstance @clientName("AzureLargeStorageInstance") interface AzureLargeStorageInstances { @doc(""" -Gets an Azure Large Storage instance for the specified subscription, resource -group, and instance name. -""") + Gets an Azure Large Storage instance for the specified subscription, resource + group, and instance name. + """) get is ArmResourceRead; @doc(""" -Patches the Tags field of a Azure Large Storage Instance for the specified -subscription, resource group, and instance name. -""") + Patches the Tags field of a Azure Large Storage Instance for the specified + subscription, resource group, and instance name. + """) update is ArmCustomPatchSync; @doc(""" -Gets a list of AzureLargeStorageInstances in the specified subscription and -resource group. The operations returns various properties of each Azure -LargeStorage instance. -""") + Gets a list of AzureLargeStorageInstances in the specified subscription and + resource group. The operations returns various properties of each Azure + LargeStorage instance. + """) listByResourceGroup is ArmResourceListByParent; @doc(""" -Gets a list of AzureLargeStorageInstances in the specified subscription. The -operations returns various properties of each Azure LargeStorage instance. -""") + Gets a list of AzureLargeStorageInstances in the specified subscription. The + operations returns various properties of each Azure LargeStorage instance. + """) listBySubscription is ArmListBySubscription; } diff --git a/specification/azurelargeinstance/AzureLargeInstance.Management/models.tsp b/specification/azurelargeinstance/AzureLargeInstance.Management/models.tsp index 147410a10b3b..779f196340ad 100644 --- a/specification/azurelargeinstance/AzureLargeInstance.Management/models.tsp +++ b/specification/azurelargeinstance/AzureLargeInstance.Management/models.tsp @@ -309,9 +309,9 @@ model AzureLargeInstanceProperties { hwRevision?: string; @doc(""" -ARM ID of another AzureLargeInstance that will share a network with this -AzureLargeInstance -""") + ARM ID of another AzureLargeInstance that will share a network with this + AzureLargeInstance + """) @removed(Versions.v2024_04_10) partnerNodeId?: string; @@ -338,9 +338,9 @@ model StorageProfile { nfsIpAddress?: string; @doc(""" -Specifies information about the operating system disk used by Azure Large -Instance. -""") + Specifies information about the operating system disk used by Azure Large + Instance. + """) @extension("x-ms-identifiers", []) osDisks?: Disk[]; } @@ -355,10 +355,10 @@ model Disk { diskSizeGB?: int32; @doc(""" -Specifies the logical unit number of the data disk. This value is used to -identify data disks within the VM and therefore must be unique for each data -disk attached to a VM. -""") + Specifies the logical unit number of the data disk. This value is used to + identify data disks within the VM and therefore must be unique for each data + disk attached to a VM. + """) @visibility("read") lun?: int32; } @@ -400,9 +400,9 @@ model IpAddress { } @doc(""" -The active state empowers the server with the ability to forcefully terminate -and halt any existing processes that may be running on the server -""") + The active state empowers the server with the ability to forcefully terminate + and halt any existing processes that may be running on the server + """) model ForceState { #suppress "@azure-tools/typespec-azure-core/property-name-conflict" "https://github.com/Azure/typespec-azure/issues/417" @doc("Whether to force restart by shutting all processes.") diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/azurelargeinstance.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/azurelargeinstance.json index 185bd5eca35e..93519783821a 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/azurelargeinstance.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/preview/2023-07-20-preview/azurelargeinstance.json @@ -671,11 +671,7 @@ "properties": { "$ref": "#/definitions/AzureLargeInstanceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1221,11 +1217,7 @@ "properties": { "$ref": "#/definitions/AzureLargeStorageInstanceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/stable/2024-04-10/azurelargeinstance.json b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/stable/2024-04-10/azurelargeinstance.json index d5bbfe3bcc94..c20d5c66b605 100644 --- a/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/stable/2024-04-10/azurelargeinstance.json +++ b/specification/azurelargeinstance/resource-manager/Microsoft.AzureLargeInstance/stable/2024-04-10/azurelargeinstance.json @@ -671,11 +671,7 @@ "properties": { "$ref": "#/definitions/AzureLargeInstanceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1217,11 +1213,7 @@ "properties": { "$ref": "#/definitions/AzureLargeStorageInstanceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GalleryImages.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GalleryImages.tsp index e46cd9ce02da..4948e6367a32 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GalleryImages.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GalleryImages.tsp @@ -33,8 +33,13 @@ interface GalleryImages { @doc("Gets a gallery image") get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("The operation to create or update a gallery image. Please note some properties can be set only during gallery image creation.") - createOrUpdate is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + GalleryImage, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("The operation to update a gallery image.") @parameterVisibility diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GuestAgent.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GuestAgent.tsp index e8cb4b5f819f..e7c453668417 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GuestAgent.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/GuestAgent.tsp @@ -30,8 +30,13 @@ interface GuestAgents { @doc("Implements GuestAgent GET method.") get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("Create Or Update GuestAgent.") - create is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrReplaceAsync< + GuestAgent, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("Implements GuestAgent DELETE method.") delete is ArmResourceDeleteWithoutOkAsync; diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/LogicalNetworks.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/LogicalNetworks.tsp index 9b01a62dd7cc..d0d28d24df54 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/LogicalNetworks.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/LogicalNetworks.tsp @@ -33,8 +33,13 @@ interface LogicalNetworks { @doc("The operation to get a logical network.") get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("The operation to create or update a logical network. Please note some properties can be set only during logical network creation.") - createOrUpdate is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + LogicalNetwork, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("The operation to update a logical network.") @parameterVisibility diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/MarketplaceGalleryImages.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/MarketplaceGalleryImages.tsp index 470b9fab0733..e763cfe68247 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/MarketplaceGalleryImages.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/MarketplaceGalleryImages.tsp @@ -34,8 +34,13 @@ interface MarketplaceGalleryImages { @doc("Gets a marketplace gallery image") get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("The operation to create or update a marketplace gallery image. Please note some properties can be set only during marketplace gallery image creation.") - createOrUpdate is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + MarketplaceGalleryImage, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("The operation to update a marketplace gallery image.") @parameterVisibility diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkInterfaces.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkInterfaces.tsp index b181201c789c..30c6d7f11fe7 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkInterfaces.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkInterfaces.tsp @@ -33,8 +33,13 @@ interface NetworkInterfaces { @doc("Gets a network interface") get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("The operation to create or update a network interface. Please note some properties can be set only during network interface creation.") - createOrUpdate is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + NetworkInterface, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("The operation to update a network interface.") @parameterVisibility diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkSecurityGroups.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkSecurityGroups.tsp index 8de6fc091382..4f712714116e 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkSecurityGroups.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/NetworkSecurityGroups.tsp @@ -31,8 +31,13 @@ interface NetworkSecurityGroups { @doc("Gets the specified network security group.") get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("Creates or updates a network security group in the specified resource group.") - createOrUpdate is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + NetworkSecurityGroup, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("Updates a network security group tags.") updateTags is ArmTagsPatchAsync; diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/SecurityRules.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/SecurityRules.tsp index 4563d65e5c59..a2e58268e493 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/SecurityRules.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/SecurityRules.tsp @@ -30,8 +30,13 @@ interface SecurityRules { @doc("Gets the specified security rule.") get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("Creates or updates a security rule in the specified resource group.") - createOrUpdate is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + SecurityRule, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("Deletes the specified security rule.") delete is ArmResourceDeleteWithoutOkAsync; diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/StorageContainers.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/StorageContainers.tsp index f81302304026..22546b6b08e5 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/StorageContainers.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/StorageContainers.tsp @@ -32,8 +32,13 @@ interface StorageContainers { @doc("Gets a storage container") get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("The operation to create or update a storage container. Please note some properties can be set only during storage container creation.") - createOrUpdate is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + StorageContainer, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("The operation to update a storage container.") update is ArmTagsPatchAsync; diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualHardDisks.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualHardDisks.tsp index 4123b2ea6ca7..c40e222784d1 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualHardDisks.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualHardDisks.tsp @@ -33,8 +33,13 @@ interface VirtualHardDisks { @doc("Gets a virtual hard disk") get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("The operation to create or update a virtual hard disk. Please note some properties can be set only during virtual hard disk creation.") - createOrUpdate is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + VirtualHardDisk, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("The operation to update a virtual hard disk.") update is ArmTagsPatchAsync; diff --git a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualMachineInstance.tsp b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualMachineInstance.tsp index 177c79c2491f..c502b2eacac6 100644 --- a/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualMachineInstance.tsp +++ b/specification/azurestackhci/AzureStackHCI.StackHCIVM.Management/VirtualMachineInstance.tsp @@ -36,8 +36,13 @@ interface VirtualMachineInstances { @doc("Gets a virtual machine instance") get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("The operation to create or update a virtual machine instance. Please note some properties can be set only during virtual machine instance creation.") - createOrUpdate is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + VirtualMachineInstance, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("The operation to update a virtual machine instance.") @parameterVisibility diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCIVM/preview/2024-02-01-preview/stackhcivm.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCIVM/preview/2024-02-01-preview/stackhcivm.json index db8910818cc0..b86d0039c729 100644 --- a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCIVM/preview/2024-02-01-preview/stackhcivm.json +++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/StackHCIVM/preview/2024-02-01-preview/stackhcivm.json @@ -3609,11 +3609,7 @@ "properties": { "$ref": "#/definitions/AttestationStatusProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -3881,11 +3877,7 @@ "properties": { "$ref": "#/definitions/GalleryImageProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -4137,11 +4129,7 @@ "properties": { "$ref": "#/definitions/GuestAgentProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -4307,11 +4295,7 @@ "properties": { "$ref": "#/definitions/HybridIdentityMetadataProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -4622,11 +4606,7 @@ "properties": { "$ref": "#/definitions/LogicalNetworkProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -4778,11 +4758,7 @@ "properties": { "$ref": "#/definitions/MarketplaceGalleryImageProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -4955,11 +4931,7 @@ "properties": { "$ref": "#/definitions/NetworkInterfaceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -5129,11 +5101,7 @@ "properties": { "$ref": "#/definitions/NetworkSecurityGroupProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -5523,11 +5491,7 @@ "properties": { "$ref": "#/definitions/SecurityRuleProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -5864,11 +5828,7 @@ "properties": { "$ref": "#/definitions/StorageContainerProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -6131,11 +6091,7 @@ "properties": { "$ref": "#/definitions/VirtualHardDiskProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -6351,11 +6307,7 @@ "properties": { "$ref": "#/definitions/VirtualMachineInstanceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", diff --git a/specification/batch/Azure.Batch/common.tsp b/specification/batch/Azure.Batch/common.tsp index a0d24afac769..e92f0df0a4a3 100644 --- a/specification/batch/Azure.Batch/common.tsp +++ b/specification/batch/Azure.Batch/common.tsp @@ -225,19 +225,19 @@ alias BatchMatchHeaders = { ...BatchModifiedSinceHeaders; @doc(""" - An ETag value associated with the version of the resource known to the client. - The operation will be performed only if the resource's current ETag on the - service exactly matches the value specified by the client. - """) + An ETag value associated with the version of the resource known to the client. + The operation will be performed only if the resource's current ETag on the + service exactly matches the value specified by the client. + """) @header("If-Match") @clientName("if__match", "python") ifMatch?: string; @doc(""" - An ETag value associated with the version of the resource known to the client. - The operation will be performed only if the resource's current ETag on the - service does not match the value specified by the client. - """) + An ETag value associated with the version of the resource known to the client. + The operation will be performed only if the resource's current ETag on the + service does not match the value specified by the client. + """) @header("If-None-Match") @clientName("if_none_match", "python") ifNoneMatch?: string; @@ -245,20 +245,20 @@ alias BatchMatchHeaders = { alias BatchModifiedSinceHeaders = { @doc(""" - A timestamp indicating the last modified time of the resource known to the - client. The operation will be performed only if the resource on the service has - been modified since the specified time. - """) + A timestamp indicating the last modified time of the resource known to the + client. The operation will be performed only if the resource on the service has + been modified since the specified time. + """) @header("If-Modified-Since") @encode(DateTimeKnownEncoding.rfc7231) @clientName("if_modified_since", "python") ifModifiedSince?: utcDateTime; @doc(""" - A timestamp indicating the last modified time of the resource known to the - client. The operation will be performed only if the resource on the service has - not been modified since the specified time. - """) + A timestamp indicating the last modified time of the resource known to the + client. The operation will be performed only if the resource on the service has + not been modified since the specified time. + """) @header("If-Unmodified-Since") @encode(DateTimeKnownEncoding.rfc7231) @clientName("if_unmodified_since", "python") @@ -337,9 +337,9 @@ alias BatchCommonListHeaders = { ...BatchClientRequestHeaders; @doc(""" - The maximum number of items to return in the response. A maximum of 1000 - applications can be returned. - """) + The maximum number of items to return in the response. A maximum of 1000 + applications can be returned. + """) @query @minValue(1) @maxValue(1000) @@ -377,16 +377,16 @@ alias BatchTaskFileClientPathContent = { alias BatchClientRequestHeaders = { @doc(""" - The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. If the value is larger than 30, the default will be used instead.". - """) + The maximum time that the server can spend processing the request, in seconds. The default is 30 seconds. If the value is larger than 30, the default will be used instead.". + """) @query @clientName("timeOutInSeconds") timeOut?: int32 = 30; @doc(""" - The caller-generated request identity, in the form of a GUID with no decoration - such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. - """) + The caller-generated request identity, in the form of a GUID with no decoration + such as curly braces, e.g. 9C4D50EE-2D56-4CD3-8152-34347DC9F2B0. + """) @header("client-request-id") clientRequestId?: string; @@ -395,10 +395,10 @@ alias BatchClientRequestHeaders = { returnClientRequestId?: boolean = false; @doc(""" - The time the request was issued. Client libraries typically set this to the - current system clock time; set it explicitly if you are calling the REST API - directly. - """) + The time the request was issued. Client libraries typically set this to the + current system clock time; set it explicitly if you are calling the REST API + directly. + """) @header("ocp-date") @encode(DateTimeKnownEncoding.rfc7231) ocpdate?: utcDateTime; diff --git a/specification/batch/Azure.Batch/models.tsp b/specification/batch/Azure.Batch/models.tsp index 3d1ec61ad43a..fd927c8f2632 100644 --- a/specification/batch/Azure.Batch/models.tsp +++ b/specification/batch/Azure.Batch/models.tsp @@ -754,9 +754,9 @@ model BatchAccountListSupportedImagesResult { } @doc(""" -A reference to the Azure Virtual Machines Marketplace Image and additional -information about the Image. -""") + A reference to the Azure Virtual Machines Marketplace Image and additional + information about the Image. + """) model BatchSupportedImage { #suppress "@azure-tools/typespec-azure-core/casing-style" "The names of Property types must use camelCase" @doc("The ID of the Compute Node agent SKU which the Image supports.") @@ -780,10 +780,10 @@ model BatchSupportedImage { } @doc(""" -A reference to an Azure Virtual Machines Marketplace Image or a Azure Compute Gallery Image. -To get the list of all Azure Marketplace Image references verified by Azure Batch, see the -' List Supported Images ' operation. -""") + A reference to an Azure Virtual Machines Marketplace Image or a Azure Compute Gallery Image. + To get the list of all Azure Marketplace Image references verified by Azure Batch, see the + ' List Supported Images ' operation. + """) model ImageReference { @doc("The publisher of the Azure Virtual Machines Marketplace Image. For example, Canonical or MicrosoftWindowsServer.") publisher?: string; @@ -1012,9 +1012,9 @@ model NameValuePair { } @doc(""" -The result of listing the files on a Compute Node, or the files associated with -a Task on a Compute Node. -""") + The result of listing the files on a Compute Node, or the files associated with + a Task on a Compute Node. + """) @pagedResult model BatchNodeFileListResult { @doc("The list of files.") @@ -1061,9 +1061,9 @@ model FileProperties { } @doc(""" -A Job Schedule that allows recurring Jobs by specifying when to run Jobs and a -specification used to create each Job. -""") + A Job Schedule that allows recurring Jobs by specifying when to run Jobs and a + specification used to create each Job. + """) model BatchJobSchedule { @doc("A string that uniquely identifies the schedule within the Account.") @visibility("read") @@ -1124,8 +1124,8 @@ model BatchJobSchedule { } @doc(""" -Parameters for updating an Azure Batch Job Schedule. -""") + Parameters for updating an Azure Batch Job Schedule. + """) model BatchJobScheduleUpdateContent { @doc("The schedule according to which Jobs will be created. All times are fixed respective to UTC and are not impacted by daylight saving time. If you do not specify this element, the existing schedule is left unchanged.") schedule?: BatchJobScheduleConfiguration; @@ -1138,8 +1138,8 @@ model BatchJobScheduleUpdateContent { } @doc(""" -Parameters for creating an Azure Batch Job Schedule -""") + Parameters for creating an Azure Batch Job Schedule + """) model BatchJobScheduleCreateContent { @doc("A string that uniquely identifies the schedule within the Account. The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within an Account that differ only by case).") id: string; @@ -1158,9 +1158,9 @@ model BatchJobScheduleCreateContent { } @doc(""" -The schedule according to which Jobs will be created. All times are fixed -respective to UTC and are not impacted by daylight saving time. -""") + The schedule according to which Jobs will be created. All times are fixed + respective to UTC and are not impacted by daylight saving time. + """) model BatchJobScheduleConfiguration { @doc("The earliest time at which any Job may be created under this Job Schedule. If you do not specify a doNotRunUntil time, the schedule becomes ready to create Jobs immediately.") doNotRunUntil?: utcDateTime; @@ -1188,9 +1188,9 @@ model SecurityProfile { } @doc(""" -Specifies the service artifact reference id used to set same image version -for all virtual machines in the scale set when using 'latest' image version. -""") + Specifies the service artifact reference id used to set same image version + for all virtual machines in the scale set when using 'latest' image version. + """) model ServiceArtifactReference { @doc("The service artifact reference id of ServiceArtifactReference. The service artifact reference id in the form of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/galleries/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName}") id: string; @@ -1260,30 +1260,30 @@ model BatchJobConstraints { } @doc(""" -Specifies details of a Job Manager Task. -The Job Manager Task is automatically started when the Job is created. The -Batch service tries to schedule the Job Manager Task before any other Tasks in -the Job. When shrinking a Pool, the Batch service tries to preserve Nodes where -Job Manager Tasks are running for as long as possible (that is, Compute Nodes -running 'normal' Tasks are removed before Compute Nodes running Job Manager -Tasks). When a Job Manager Task fails and needs to be restarted, the system -tries to schedule it at the highest priority. If there are no idle Compute -Nodes available, the system may terminate one of the running Tasks in the Pool -and return it to the queue in order to make room for the Job Manager Task to -restart. Note that a Job Manager Task in one Job does not have priority over -Tasks in other Jobs. Across Jobs, only Job level priorities are observed. For -example, if a Job Manager in a priority 0 Job needs to be restarted, it will -not displace Tasks of a priority 1 Job. Batch will retry Tasks when a recovery -operation is triggered on a Node. Examples of recovery operations include (but -are not limited to) when an unhealthy Node is rebooted or a Compute Node -disappeared due to host failure. Retries due to recovery operations are -independent of and are not counted against the maxTaskRetryCount. Even if the -maxTaskRetryCount is 0, an internal retry due to a recovery operation may -occur. Because of this, all Tasks should be idempotent. This means Tasks need -to tolerate being interrupted and restarted without causing any corruption or -duplicate data. The best practice for long running Tasks is to use some form of -checkpointing. -""") + Specifies details of a Job Manager Task. + The Job Manager Task is automatically started when the Job is created. The + Batch service tries to schedule the Job Manager Task before any other Tasks in + the Job. When shrinking a Pool, the Batch service tries to preserve Nodes where + Job Manager Tasks are running for as long as possible (that is, Compute Nodes + running 'normal' Tasks are removed before Compute Nodes running Job Manager + Tasks). When a Job Manager Task fails and needs to be restarted, the system + tries to schedule it at the highest priority. If there are no idle Compute + Nodes available, the system may terminate one of the running Tasks in the Pool + and return it to the queue in order to make room for the Job Manager Task to + restart. Note that a Job Manager Task in one Job does not have priority over + Tasks in other Jobs. Across Jobs, only Job level priorities are observed. For + example, if a Job Manager in a priority 0 Job needs to be restarted, it will + not displace Tasks of a priority 1 Job. Batch will retry Tasks when a recovery + operation is triggered on a Node. Examples of recovery operations include (but + are not limited to) when an unhealthy Node is rebooted or a Compute Node + disappeared due to host failure. Retries due to recovery operations are + independent of and are not counted against the maxTaskRetryCount. Even if the + maxTaskRetryCount is 0, an internal retry due to a recovery operation may + occur. Because of this, all Tasks should be idempotent. This means Tasks need + to tolerate being interrupted and restarted without causing any corruption or + duplicate data. The best practice for long running Tasks is to use some form of + checkpointing. + """) model BatchJobManagerTask { @doc("A string that uniquely identifies the Job Manager Task within the Job. The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters.") id: string; @@ -1322,15 +1322,15 @@ model BatchJobManagerTask { runExclusive?: boolean; @doc(""" -A list of Application Packages that the Batch service will deploy to the -Compute Node before running the command line.Application Packages are -downloaded and deployed to a shared directory, not the Task working -directory. Therefore, if a referenced Application Package is already -on the Compute Node, and is up to date, then it is not re-downloaded; -the existing copy on the Compute Node is used. If a referenced Application -Package cannot be installed, for example because the package has been deleted -or because download failed, the Task fails. -""") + A list of Application Packages that the Batch service will deploy to the + Compute Node before running the command line.Application Packages are + downloaded and deployed to a shared directory, not the Task working + directory. Therefore, if a referenced Application Package is already + on the Compute Node, and is up to date, then it is not re-downloaded; + the existing copy on the Compute Node is used. If a referenced Application + Package cannot be installed, for example because the package has been deleted + or because download failed, the Task fails. + """) applicationPackageReferences?: BatchApplicationPackageReference[]; @doc("The settings for an authentication token that the Task can use to perform Batch service operations. If this property is set, the Batch service provides the Task with an authentication token which can be used to authenticate Batch service operations without requiring an Account access key. The token is provided via the AZ_BATCH_AUTHENTICATION_TOKEN environment variable. The operations that the Task can carry out using the token depend on the settings. For example, a Task can request Job permissions in order to add other Tasks to the Job, or check the status of the Job or of other Tasks under the Job.") @@ -1372,9 +1372,9 @@ model ContainerRegistryReference { } @doc(""" -The reference to a user assigned identity associated with the Batch pool which -a compute node will use. -""") + The reference to a user assigned identity associated with the Batch pool which + a compute node will use. + """) model BatchNodeIdentityReference { @doc("The ARM resource id of the user assigned identity.") resourceId?: string; @@ -1405,8 +1405,8 @@ model ResourceFile { } @doc(""" -On every file uploads, Batch service writes two log files to the compute node, 'fileuploadout.txt' and 'fileuploaderr.txt'. These log files are used to learn more about a specific failure. -""") + On every file uploads, Batch service writes two log files to the compute node, 'fileuploadout.txt' and 'fileuploaderr.txt'. These log files are used to learn more about a specific failure. + """) model OutputFile { @doc("A pattern indicating which file(s) to upload. Both relative and absolute paths are supported. Relative paths are relative to the Task working directory. The following wildcards are supported: * matches 0 or more characters (for example pattern abc* would match abc or abcdef), ** matches any directory, ? matches any single character, [abc] matches one character in the brackets, and [a-c] matches one character in the range. Brackets can include a negation to match any character not specified (for example [!abc] matches any character but a, b, or c). If a file name starts with \".\" it is ignored by default but may be matched by specifying it explicitly (for example *.gif will not match .a.gif, but .*.gif will). A simple example: **\\*.txt matches any file that does not start in '.' and ends with .txt in the Task working directory or any subdirectory. If the filename contains a wildcard character it can be escaped using brackets (for example abc[*] would match a file named abc*). Note that both \\ and / are treated as directory separators on Windows, but only / is on Linux. Environment variables (%var% on Windows or $var on Linux) are expanded prior to the pattern being applied.") filePattern: string; @@ -1449,9 +1449,9 @@ model HttpHeader { } @doc(""" -Options for an output file upload operation, including under what conditions -to perform the upload. -""") + Options for an output file upload operation, including under what conditions + to perform the upload. + """) model OutputFileUploadConfig { @doc("The conditions under which the Task output file or set of files should be uploaded. The default is taskcompletion.") uploadCondition: OutputFileUploadCondition; @@ -1497,8 +1497,8 @@ model UefiSettings { } @doc(""" -Specifies the options for the auto user that runs an Azure Batch Task. -""") + Specifies the options for the auto user that runs an Azure Batch Task. + """) model AutoUserSpecification { @doc("The scope for the auto user. The default value is pool. If the pool is running Windows, a value of Task should be specified if stricter isolation between tasks is required, such as if the task mutates the registry in a way which could impact other tasks.") scope?: AutoUserScope; @@ -1517,42 +1517,42 @@ model BatchApplicationPackageReference { } @doc(""" -The settings for an authentication token that the Task can use to perform Batch -service operations. -""") + The settings for an authentication token that the Task can use to perform Batch + service operations. + """) model AuthenticationTokenSettings { @doc("The Batch resources to which the token grants access. The authentication token grants access to a limited set of Batch service operations. Currently the only supported value for the access property is 'job', which grants access to all operations related to the Job which contains the Task.") access?: AccessScope[]; } @doc(""" -A Job Preparation Task to run before any Tasks of the Job on any given Compute Node. -You can use Job Preparation to prepare a Node to run Tasks for the Job. -Activities commonly performed in Job Preparation include: Downloading common -resource files used by all the Tasks in the Job. The Job Preparation Task can -download these common resource files to the shared location on the Node. -(AZ_BATCH_NODE_ROOT_DIR\\shared), or starting a local service on the Node so -that all Tasks of that Job can communicate with it. If the Job Preparation Task -fails (that is, exhausts its retry count before exiting with exit code 0), -Batch will not run Tasks of this Job on the Node. The Compute Node remains -ineligible to run Tasks of this Job until it is reimaged. The Compute Node -remains active and can be used for other Jobs. The Job Preparation Task can run -multiple times on the same Node. Therefore, you should write the Job -Preparation Task to handle re-execution. If the Node is rebooted, the Job -Preparation Task is run again on the Compute Node before scheduling any other -Task of the Job, if rerunOnNodeRebootAfterSuccess is true or if the Job -Preparation Task did not previously complete. If the Node is reimaged, the Job -Preparation Task is run again before scheduling any Task of the Job. Batch will -retry Tasks when a recovery operation is triggered on a Node. Examples of -recovery operations include (but are not limited to) when an unhealthy Node is -rebooted or a Compute Node disappeared due to host failure. Retries due to -recovery operations are independent of and are not counted against the -maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to -a recovery operation may occur. Because of this, all Tasks should be -idempotent. This means Tasks need to tolerate being interrupted and restarted -without causing any corruption or duplicate data. The best practice for long -running Tasks is to use some form of checkpointing. -""") + A Job Preparation Task to run before any Tasks of the Job on any given Compute Node. + You can use Job Preparation to prepare a Node to run Tasks for the Job. + Activities commonly performed in Job Preparation include: Downloading common + resource files used by all the Tasks in the Job. The Job Preparation Task can + download these common resource files to the shared location on the Node. + (AZ_BATCH_NODE_ROOT_DIR\\shared), or starting a local service on the Node so + that all Tasks of that Job can communicate with it. If the Job Preparation Task + fails (that is, exhausts its retry count before exiting with exit code 0), + Batch will not run Tasks of this Job on the Node. The Compute Node remains + ineligible to run Tasks of this Job until it is reimaged. The Compute Node + remains active and can be used for other Jobs. The Job Preparation Task can run + multiple times on the same Node. Therefore, you should write the Job + Preparation Task to handle re-execution. If the Node is rebooted, the Job + Preparation Task is run again on the Compute Node before scheduling any other + Task of the Job, if rerunOnNodeRebootAfterSuccess is true or if the Job + Preparation Task did not previously complete. If the Node is reimaged, the Job + Preparation Task is run again before scheduling any Task of the Job. Batch will + retry Tasks when a recovery operation is triggered on a Node. Examples of + recovery operations include (but are not limited to) when an unhealthy Node is + rebooted or a Compute Node disappeared due to host failure. Retries due to + recovery operations are independent of and are not counted against the + maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal retry due to + a recovery operation may occur. Because of this, all Tasks should be + idempotent. This means Tasks need to tolerate being interrupted and restarted + without causing any corruption or duplicate data. The best practice for long + running Tasks is to use some form of checkpointing. + """) model BatchJobPreparationTask { @doc("A string that uniquely identifies the Job Preparation Task within the Job. The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobpreparation'. No other Task in the Job can have the same ID as the Job Preparation Task. If you try to submit a Task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobPreparationTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict).") id?: string; @@ -1583,23 +1583,23 @@ model BatchJobPreparationTask { } @doc(""" -A Job Release Task to run on Job completion on any Compute Node where the Job has run. -The Job Release Task runs when the Job ends, because of one of the following: -The user calls the Terminate Job API, or the Delete Job API while the Job is -still active, the Job's maximum wall clock time constraint is reached, and the -Job is still active, or the Job's Job Manager Task completed, and the Job is -configured to terminate when the Job Manager completes. The Job Release Task -runs on each Node where Tasks of the Job have run and the Job Preparation Task -ran and completed. If you reimage a Node after it has run the Job Preparation -Task, and the Job ends without any further Tasks of the Job running on that -Node (and hence the Job Preparation Task does not re-run), then the Job Release -Task does not run on that Compute Node. If a Node reboots while the Job Release -Task is still running, the Job Release Task runs again when the Compute Node -starts up. The Job is not marked as complete until all Job Release Tasks have -completed. The Job Release Task runs in the background. It does not occupy a -scheduling slot; that is, it does not count towards the taskSlotsPerNode limit -specified on the Pool. -""") + A Job Release Task to run on Job completion on any Compute Node where the Job has run. + The Job Release Task runs when the Job ends, because of one of the following: + The user calls the Terminate Job API, or the Delete Job API while the Job is + still active, the Job's maximum wall clock time constraint is reached, and the + Job is still active, or the Job's Job Manager Task completed, and the Job is + configured to terminate when the Job Manager completes. The Job Release Task + runs on each Node where Tasks of the Job have run and the Job Preparation Task + ran and completed. If you reimage a Node after it has run the Job Preparation + Task, and the Job ends without any further Tasks of the Job running on that + Node (and hence the Job Preparation Task does not re-run), then the Job Release + Task does not run on that Compute Node. If a Node reboots while the Job Release + Task is still running, the Job Release Task runs again when the Compute Node + starts up. The Job is not marked as complete until all Job Release Tasks have + completed. The Job Release Task runs in the background. It does not occupy a + scheduling slot; that is, it does not count towards the taskSlotsPerNode limit + specified on the Pool. + """) model BatchJobReleaseTask { @doc("A string that uniquely identifies the Job Release Task within the Job. The ID can contain any combination of alphanumeric characters including hyphens and underscores and cannot contain more than 64 characters. If you do not specify this property, the Batch service assigns a default value of 'jobrelease'. No other Task in the Job can have the same ID as the Job Release Task. If you try to submit a Task with the same id, the Batch service rejects the request with error code TaskIdSameAsJobReleaseTask; if you are calling the REST API directly, the HTTP status code is 409 (Conflict).") id?: string; @@ -1636,9 +1636,9 @@ model BatchPoolInfo { } @doc(""" -Specifies characteristics for a temporary 'auto pool'. The Batch service will -create this auto Pool when the Job is submitted. -""") + Specifies characteristics for a temporary 'auto pool'. The Batch service will + create this auto Pool when the Job is submitted. + """) model BatchAutoPoolSpecification { @doc("A prefix to be added to the unique identifier when a Pool is automatically created. The Batch service assigns each auto Pool a unique identifier on creation. To distinguish between Pools created for different purposes, you can specify this element to add a prefix to the ID that is assigned. The prefix can be up to 20 characters long.") autoPoolIdPrefix?: string; @@ -1721,9 +1721,9 @@ model BatchPoolSpecification { #suppress "@azure-tools/typespec-azure-core/casing-style" "The names of Property types must use camelCase" @doc(""" -The configuration for Compute Nodes in a Pool based on the Azure Virtual -Machines infrastructure. -""") + The configuration for Compute Nodes in a Pool based on the Azure Virtual + Machines infrastructure. + """) model VirtualMachineConfiguration { @doc("A reference to the Azure Virtual Machines Marketplace Image or the custom Virtual Machine Image to use.") imageReference: ImageReference; @@ -1739,16 +1739,16 @@ model VirtualMachineConfiguration { dataDisks?: DataDisk[]; @doc(""" -This only applies to Images that contain the Windows operating system, and -should only be used when you hold valid on-premises licenses for the Compute -Nodes which will be deployed. If omitted, no on-premises licensing discount is -applied. Values are: - - Windows_Server - The on-premises license is for Windows -Server. - Windows_Client - The on-premises license is for Windows Client. - -""") + This only applies to Images that contain the Windows operating system, and + should only be used when you hold valid on-premises licenses for the Compute + Nodes which will be deployed. If omitted, no on-premises licensing discount is + applied. Values are: + + Windows_Server - The on-premises license is for Windows + Server. + Windows_Client - The on-premises license is for Windows Client. + + """) licenseType?: string; @doc("The container configuration for the Pool. If specified, setup is performed on each Compute Node in the Pool to allow Tasks to run in containers. All regular Tasks and Job manager Tasks run on this Pool must specify the containerSettings property, and all other Tasks may specify it.") @@ -1781,10 +1781,10 @@ model WindowsConfiguration { #suppress "@azure-tools/typespec-azure-core/casing-style" "The names of Property types must use camelCase" @doc(""" -Settings which will be used by the data disks associated to Compute Nodes in -the Pool. When using attached data disks, you need to mount and format the -disks from within a VM to use them. -""") + Settings which will be used by the data disks associated to Compute Nodes in + the Pool. When using attached data disks, you need to mount and format the + disks from within a VM to use them. + """) model DataDisk { @doc("The logical unit number. The logicalUnitNumber is used to uniquely identify each data disk. If attaching multiple disks, each should have a distinct logicalUnitNumber. The value must be between 0 and 63, inclusive.") @clientName("logicalUnitNumber") @@ -1814,20 +1814,20 @@ model ContainerConfiguration { } @doc(""" -The disk encryption configuration applied on compute nodes in the pool. -Disk encryption configuration is not supported on Linux pool created with -Azure Compute Gallery Image. -""") + The disk encryption configuration applied on compute nodes in the pool. + Disk encryption configuration is not supported on Linux pool created with + Azure Compute Gallery Image. + """) model DiskEncryptionConfiguration { @doc("The list of disk targets Batch Service will encrypt on the compute node. If omitted, no disks on the compute nodes in the pool will be encrypted. On Linux pool, only \"TemporaryDisk\" is supported; on Windows pool, \"OsDisk\" and \"TemporaryDisk\" must be specified.") targets?: DiskEncryptionTarget[]; } @doc(""" -For regional placement, nodes in the pool will be allocated in the same region. -For zonal placement, nodes in the pool will be spread across different zones -with best effort balancing. -""") + For regional placement, nodes in the pool will be allocated in the same region. + For zonal placement, nodes in the pool will be spread across different zones + with best effort balancing. + """) model BatchNodePlacementConfiguration { @doc("Node placement Policy type on Batch Pools. Allocation policy used by Batch Service to provision the nodes. If not specified, Batch will use the regional policy.") policy?: BatchNodePlacementPolicyType; @@ -1884,9 +1884,9 @@ model OSDisk { } @doc(""" -Specifies the ephemeral Disk Settings for the operating system disk used by the -compute node (VM). -""") + Specifies the ephemeral Disk Settings for the operating system disk used by the + compute node (VM). + """) model DiffDiskSettings { @doc("Specifies the ephemeral disk placement for operating system disk for all VMs in the pool. This property can be used by user in the request to choose the location e.g., cache disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer to Ephemeral OS disk size requirements for Windows VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements.") placement?: DiffDiskPlacement; @@ -1928,9 +1928,9 @@ model BatchPoolEndpointConfiguration { #suppress "@azure-tools/typespec-azure-core/casing-style" "The names of Property types must use camelCase" @doc(""" -A inbound NAT Pool that can be used to address specific ports on Compute Nodes -in a Batch Pool externally. -""") + A inbound NAT Pool that can be used to address specific ports on Compute Nodes + in a Batch Pool externally. + """) model InboundNatPool { @doc("The name of the endpoint. The name must be unique within a Batch Pool, can contain letters, numbers, underscores, periods, and hyphens. Names must start with a letter or number, must end with a letter, number, or underscore, and cannot exceed 77 characters. If any invalid values are provided the request fails with HTTP status code 400.") name: string; @@ -1978,20 +1978,20 @@ model PublicIpAddressConfiguration { } @doc(""" -Batch will retry Tasks when a recovery operation is triggered on a Node. -Examples of recovery operations include (but are not limited to) when an -unhealthy Node is rebooted or a Compute Node disappeared due to host failure. -Retries due to recovery operations are independent of and are not counted -against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal -retry due to a recovery operation may occur. Because of this, all Tasks should -be idempotent. This means Tasks need to tolerate being interrupted and -restarted without causing any corruption or duplicate data. The best practice -for long running Tasks is to use some form of checkpointing. In some cases the -StartTask may be re-run even though the Compute Node was not rebooted. Special -care should be taken to avoid StartTasks which create breakaway process or -install/launch services from the StartTask working directory, as this will -block Batch from being able to re-run the StartTask. -""") + Batch will retry Tasks when a recovery operation is triggered on a Node. + Examples of recovery operations include (but are not limited to) when an + unhealthy Node is rebooted or a Compute Node disappeared due to host failure. + Retries due to recovery operations are independent of and are not counted + against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal + retry due to a recovery operation may occur. Because of this, all Tasks should + be idempotent. This means Tasks need to tolerate being interrupted and + restarted without causing any corruption or duplicate data. The best practice + for long running Tasks is to use some form of checkpointing. In some cases the + StartTask may be re-run even though the Compute Node was not rebooted. Special + care should be taken to avoid StartTasks which create breakaway process or + install/launch services from the StartTask working directory, as this will + block Batch from being able to re-run the StartTask. + """) model BatchStartTask { @doc("The command line of the StartTask. The command line does not run under a shell, and therefore cannot take advantage of shell features such as environment variable expansion. If you want to take advantage of such features, you should invoke the shell in the command line, for example using \"cmd /c MyCommand\" in Windows or \"/bin/sh -c MyCommand\" in Linux. If the command line refers to file paths, it should use a relative path (relative to the Task working directory), or use the Batch provided environment variable (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).") commandLine: string; @@ -2016,9 +2016,9 @@ model BatchStartTask { } @doc(""" -Properties used to create a user used to execute Tasks on an Azure Batch -Compute Node. -""") + Properties used to create a user used to execute Tasks on an Azure Batch + Compute Node. + """) model UserAccount { @doc("The name of the user Account. Names can contain any Unicode characters up to a maximum length of 20.") name: string; @@ -2063,9 +2063,9 @@ model ManagedDisk { } @doc(""" -The Batch service does not assign any meaning to this metadata; it is solely -for the use of user code. -""") + The Batch service does not assign any meaning to this metadata; it is solely + for the use of user code. + """) model MetadataItem { @doc("The name of the metadata item.") name: string; @@ -2167,9 +2167,9 @@ model AzureFileShareConfiguration { } @doc(""" -Contains information about Jobs that have been and will be run under a Job -Schedule. -""") + Contains information about Jobs that have been and will be run under a Job + Schedule. + """) model BatchJobScheduleExecutionInfo { @doc("The next time at which a Job will be created under this schedule. This property is meaningful only if the schedule is in the active state when the time comes around. For example, if the schedule is disabled, no Job will be created at nextRunTime unless the Job is enabled before then.") nextRunTime?: utcDateTime; @@ -2487,9 +2487,9 @@ model BatchJobListResult { } @doc(""" -The result of listing the status of the Job Preparation and Job Release Tasks -for a Job. -""") + The result of listing the status of the Job Preparation and Job Release Tasks + for a Job. + """) @pagedResult model BatchJobPreparationAndReleaseTaskStatusListResult { @doc("A list of Job Preparation and Job Release Task execution information.") @@ -2521,9 +2521,9 @@ model BatchJobPreparationAndReleaseTaskStatus { } @doc(""" -Contains information about the execution of a Job Preparation Task on a Compute -Node. -""") + Contains information about the execution of a Job Preparation Task on a Compute + Node. + """) model BatchJobPreparationTaskExecutionInfo { @doc("The time at which the Task started running. If the Task has been restarted or retried, this is the most recent time at which the Task started running.") startTime: utcDateTime; @@ -2587,9 +2587,9 @@ model BatchTaskFailureInfo { } @doc(""" -Contains information about the execution of a Job Release Task on a Compute -Node. -""") + Contains information about the execution of a Job Release Task on a Compute + Node. + """) model BatchJobReleaseTaskExecutionInfo { @doc("The time at which the Task started running. If the Task has been restarted or retried, this is the most recent time at which the Task started running.") startTime: utcDateTime; @@ -3026,16 +3026,16 @@ model BatchNodeRemoveContent { } @doc(""" -Batch will retry Tasks when a recovery operation is triggered on a Node. -Examples of recovery operations include (but are not limited to) when an -unhealthy Node is rebooted or a Compute Node disappeared due to host failure. -Retries due to recovery operations are independent of and are not counted -against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal -retry due to a recovery operation may occur. Because of this, all Tasks should -be idempotent. This means Tasks need to tolerate being interrupted and -restarted without causing any corruption or duplicate data. The best practice -for long running Tasks is to use some form of checkpointing. -""") + Batch will retry Tasks when a recovery operation is triggered on a Node. + Examples of recovery operations include (but are not limited to) when an + unhealthy Node is rebooted or a Compute Node disappeared due to host failure. + Retries due to recovery operations are independent of and are not counted + against the maxTaskRetryCount. Even if the maxTaskRetryCount is 0, an internal + retry due to a recovery operation may occur. Because of this, all Tasks should + be idempotent. This means Tasks need to tolerate being interrupted and + restarted without causing any corruption or duplicate data. The best practice + for long running Tasks is to use some form of checkpointing. + """) model BatchTask { @doc("A string that uniquely identifies the Task within the Job. The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters.") @visibility("read") @@ -3146,8 +3146,8 @@ model BatchTask { } @doc(""" -Parameters for creating an Azure Batch Task. -""") + Parameters for creating an Azure Batch Task. + """) model BatchTaskCreateContent { @doc("A string that uniquely identifies the Task within the Job. The ID can contain any combination of alphanumeric characters including hyphens and underscores, and cannot contain more than 64 characters. The ID is case-preserving and case-insensitive (that is, you may not have two IDs within a Job that differ only by case).") id: string; @@ -3217,9 +3217,9 @@ model ExitConditions { } @doc(""" -How the Batch service should respond if a Task exits with a particular exit -code. -""") + How the Batch service should respond if a Task exits with a particular exit + code. + """) model ExitCodeMapping { @doc("A process exit code.") code: int32; @@ -3238,9 +3238,9 @@ model ExitOptions { } @doc(""" -A range of exit codes and how the Batch service should respond to exit codes -within that range. -""") + A range of exit codes and how the Batch service should respond to exit codes + within that range. + """) model ExitCodeRangeMapping { @doc("The first exit code in the range.") start: int32; @@ -3253,9 +3253,9 @@ model ExitCodeRangeMapping { } @doc(""" -A locality hint that can be used by the Batch service to select a Compute Node -on which to start a Task. -""") + A locality hint that can be used by the Batch service to select a Compute Node + on which to start a Task. + """) model AffinityInfo { @doc("An opaque string representing the location of a Compute Node or a Task that has run previously. You can pass the affinityId of a Node to indicate that this Task needs to run on that Compute Node. Note that this is just a soft affinity. If the target Compute Node is busy or unavailable at the time the Task is scheduled, then the Task will be scheduled elsewhere.") affinityId: string; @@ -3316,11 +3316,11 @@ model BatchNodeInfo { } @doc(""" -Multi-instance Tasks are commonly used to support MPI Tasks. In the MPI case, -if any of the subtasks fail (for example due to exiting with a non-zero exit -code) the entire multi-instance Task fails. The multi-instance Task is then -terminated and retried, up to its retry limit. -""") + Multi-instance Tasks are commonly used to support MPI Tasks. In the MPI case, + if any of the subtasks fail (for example due to exiting with a non-zero exit + code) the entire multi-instance Task fails. The multi-instance Task is then + terminated and retried, up to its retry limit. + """) model MultiInstanceSettings { @doc("The number of Compute Nodes required by the Task. If omitted, the default is 1.") numberOfInstances?: int32; @@ -3372,10 +3372,10 @@ model BatchTaskStatistics { } @doc(""" -Specifies any dependencies of a Task. Any Task that is explicitly specified or -within a dependency range must complete before the dependant Task will be -scheduled. -""") + Specifies any dependencies of a Task. Any Task that is explicitly specified or + within a dependency range must complete before the dependant Task will be + scheduled. + """) model BatchTaskDependencies { @doc("The list of Task IDs that this Task depends on. All Tasks in this list must complete successfully before the dependent Task can be scheduled. The taskIds collection is limited to 64000 characters total (i.e. the combined length of all Task IDs). If the taskIds collection exceeds the maximum length, the Add Task request fails with error code TaskDependencyListTooLong. In this case consider using Task ID ranges instead.") taskIds?: string[]; @@ -3385,9 +3385,9 @@ model BatchTaskDependencies { } @doc(""" -The start and end of the range are inclusive. For example, if a range has start -9 and end 12, then it represents Tasks '9', '10', '11' and '12'. -""") + The start and end of the range are inclusive. For example, if a range has start + 9 and end 12, then it represents Tasks '9', '10', '11' and '12'. + """) model BatchTaskIdRange { @doc("The first Task ID in the range.") start: int32; @@ -3743,9 +3743,9 @@ model InboundEndpoint { } @doc(""" -The Batch Compute Node agent is a program that runs on each Compute Node in the -Pool and provides Batch capability on the Compute Node. -""") + The Batch Compute Node agent is a program that runs on each Compute Node in the + Pool and provides Batch capability on the Compute Node. + """) model BatchNodeAgentInfo { @doc("The version of the Batch Compute Node agent running on the Compute Node. This version number can be checked against the Compute Node agent release notes located at https://github.com/Azure/Batch/blob/master/changelogs/nodeagent/CHANGELOG.md.") version: string; diff --git a/specification/batch/Azure.Batch/routes.tsp b/specification/batch/Azure.Batch/routes.tsp index 3cb0f122b964..43036ef3a0c6 100644 --- a/specification/batch/Azure.Batch/routes.tsp +++ b/specification/batch/Azure.Batch/routes.tsp @@ -30,24 +30,24 @@ namespace Azure.Batch; interface Batch { @summary("Lists all of the applications available in the specified Account.") @doc(""" -This operation returns only Applications and versions that are available for -use on Compute Nodes; that is, that can be used in an Package reference. For -administrator information about applications and versions that are not yet -available to Compute Nodes, use the Azure portal or the Azure Resource Manager -API. -""") + This operation returns only Applications and versions that are available for + use on Compute Nodes; that is, that can be used in an Package reference. For + administrator information about applications and versions that are not yet + available to Compute Nodes, use the Azure portal or the Azure Resource Manager + API. + """) @route("/applications") @clientName("listApplicationsInternal", "java") listApplications is ListOperation<{}, BatchApplicationListResult>; @summary("Gets information about the specified Application.") @doc(""" -This operation returns only Applications and versions that are available for -use on Compute Nodes; that is, that can be used in an Package reference. For -administrator information about Applications and versions that are not yet -available to Compute Nodes, use the Azure portal or the Azure Resource Manager -API. -""") + This operation returns only Applications and versions that are available for + use on Compute Nodes; that is, that can be used in an Package reference. For + administrator information about Applications and versions that are not yet + available to Compute Nodes, use the Azure portal or the Azure Resource Manager + API. + """) @route("/applications/{applicationId}") @clientName("getApplicationInternal", "java") getApplication is ReadOperation< @@ -60,42 +60,42 @@ API. >; @summary(""" -Lists the usage metrics, aggregated by Pool across individual time intervals, -for the specified Account. -""") + Lists the usage metrics, aggregated by Pool across individual time intervals, + for the specified Account. + """) @doc(""" -If you do not specify a $filter clause including a poolId, the response -includes all Pools that existed in the Account in the time range of the -returned aggregation intervals. If you do not specify a $filter clause -including a startTime or endTime these filters default to the start and end -times of the last aggregation interval currently available; that is, only the -last aggregation interval is returned. -""") + If you do not specify a $filter clause including a poolId, the response + includes all Pools that existed in the Account in the time range of the + returned aggregation intervals. If you do not specify a $filter clause + including a startTime or endTime these filters default to the start and end + times of the last aggregation interval currently available; that is, only the + last aggregation interval is returned. + """) @route("/poolusagemetrics") @clientName("listPoolUsageMetricsInternal", "java") listPoolUsageMetrics is ListOperation< { @doc(""" - The earliest time from which to include metrics. This must be at least two and - a half hours before the current time. If not specified this defaults to the - start time of the last aggregation interval currently available. - """) + The earliest time from which to include metrics. This must be at least two and + a half hours before the current time. If not specified this defaults to the + start time of the last aggregation interval currently available. + """) @query @clientName("starttime") startTime?: utcDateTime; @doc(""" - The latest time from which to include metrics. This must be at least two hours - before the current time. If not specified this defaults to the end time of the - last aggregation interval currently available. - """) + The latest time from which to include metrics. This must be at least two hours + before the current time. If not specified this defaults to the end time of the + last aggregation interval currently available. + """) @query endtime?: utcDateTime; @doc(""" - An OData $filter clause. For more information on constructing this filter, see - https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-account-usage-metrics. - """) + An OData $filter clause. For more information on constructing this filter, see + https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-account-usage-metrics. + """) @query @clientName("filter") $filter?: string; @@ -105,10 +105,10 @@ last aggregation interval is returned. @summary("Creates a Pool to the specified Account.") @doc(""" -When naming Pools, avoid including sensitive information such as user names or -secret project names. This information may appear in telemetry logs accessible -to Microsoft Support engineers. -""") + When naming Pools, avoid including sensitive information such as user names or + secret project names. This information may appear in telemetry logs accessible + to Microsoft Support engineers. + """) @route("/pools") @clientName("createPoolInternal", "java") createPool is CreateOperation< @@ -127,9 +127,9 @@ to Microsoft Support engineers. listPools is ListOperation< { @doc(""" -An OData $filter clause. For more information on constructing this filter, see -https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-pools. -""") + An OData $filter clause. For more information on constructing this filter, see + https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-pools. + """) @query @clientName("filter") $filter?: string; @@ -153,19 +153,19 @@ https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#li @summary("Deletes a Pool from the specified Account.") @doc(""" -When you request that a Pool be deleted, the following actions occur: the Pool -state is set to deleting; any ongoing resize operation on the Pool are stopped; -the Batch service starts resizing the Pool to zero Compute Nodes; any Tasks -running on existing Compute Nodes are terminated and requeued (as if a resize -Pool operation had been requested with the default requeue option); finally, -the Pool is removed from the system. Because running Tasks are requeued, the -user can rerun these Tasks by updating their Job to target a different Pool. -The Tasks can then run on the new Pool. If you want to override the requeue -behavior, then you should call resize Pool explicitly to shrink the Pool to -zero size before deleting the Pool. If you call an Update, Patch or Delete API -on a Pool in the deleting state, it will fail with HTTP status code 409 with -error code PoolBeingDeleted. -""") + When you request that a Pool be deleted, the following actions occur: the Pool + state is set to deleting; any ongoing resize operation on the Pool are stopped; + the Batch service starts resizing the Pool to zero Compute Nodes; any Tasks + running on existing Compute Nodes are terminated and requeued (as if a resize + Pool operation had been requested with the default requeue option); finally, + the Pool is removed from the system. Because running Tasks are requeued, the + user can rerun these Tasks by updating their Job to target a different Pool. + The Tasks can then run on the new Pool. If you want to override the requeue + behavior, then you should call resize Pool explicitly to shrink the Pool to + zero size before deleting the Pool. If you call an Update, Patch or Delete API + on a Pool in the deleting state, it will fail with HTTP status code 409 with + error code PoolBeingDeleted. + """) @route("/pools/{poolId}") @clientName("deletePoolInternal", "java") deletePool is DeleteOperation; @@ -203,10 +203,10 @@ error code PoolBeingDeleted. @summary("Updates the properties of the specified Pool.") @doc(""" -This only replaces the Pool properties specified in the request. For example, -if the Pool has a StartTask associated with it, and a request does not specify -a StartTask element, then the Pool keeps the existing StartTask. -""") + This only replaces the Pool properties specified in the request. For example, + if the Pool has a StartTask associated with it, and a request does not specify + a StartTask element, then the Pool keeps the existing StartTask. + """) @route("/pools/{poolId}") @clientName("updatePoolInternal", "java") updatePool is UpdateOperation< @@ -233,13 +233,13 @@ a StartTask element, then the Pool keeps the existing StartTask. @summary("Enables automatic scaling for a Pool.") @doc(""" -You cannot enable automatic scaling on a Pool if a resize operation is in -progress on the Pool. If automatic scaling of the Pool is currently disabled, -you must specify a valid autoscale formula as part of the request. If automatic -scaling of the Pool is already enabled, you may specify a new autoscale formula -and/or a new evaluation interval. You cannot call this API for the same Pool -more than once every 30 seconds. -""") + You cannot enable automatic scaling on a Pool if a resize operation is in + progress on the Pool. If automatic scaling of the Pool is currently disabled, + you must specify a valid autoscale formula as part of the request. If automatic + scaling of the Pool is already enabled, you may specify a new autoscale formula + and/or a new evaluation interval. You cannot call this API for the same Pool + more than once every 30 seconds. + """) @route("/pools/{poolId}/enableautoscale") @clientName("enablePoolAutoScaleInternal", "java") enablePoolAutoScale is PostOperation< @@ -254,10 +254,10 @@ more than once every 30 seconds. @summary("Gets the result of evaluating an automatic scaling formula on the Pool.") @doc(""" -This API is primarily for validating an autoscale formula, as it simply returns -the result without applying the formula to the Pool. The Pool must have auto -scaling enabled in order to evaluate a formula. -""") + This API is primarily for validating an autoscale formula, as it simply returns + the result without applying the formula to the Pool. The Pool must have auto + scaling enabled in order to evaluate a formula. + """) @route("/pools/{poolId}/evaluateautoscale") @clientName("evaluatePoolAutoScaleInternal", "java") evaluatePoolAutoScale is PostOperation< @@ -275,14 +275,14 @@ scaling enabled in order to evaluate a formula. @summary("Changes the number of Compute Nodes that are assigned to a Pool.") @doc(""" -You can only resize a Pool when its allocation state is steady. If the Pool is -already resizing, the request fails with status code 409. When you resize a -Pool, the Pool's allocation state changes from steady to resizing. You cannot -resize Pools which are configured for automatic scaling. If you try to do this, -the Batch service returns an error 409. If you resize a Pool downwards, the -Batch service chooses which Compute Nodes to remove. To remove specific Compute -Nodes, use the Pool remove Compute Nodes API instead. -""") + You can only resize a Pool when its allocation state is steady. If the Pool is + already resizing, the request fails with status code 409. When you resize a + Pool, the Pool's allocation state changes from steady to resizing. You cannot + resize Pools which are configured for automatic scaling. If you try to do this, + the Batch service returns an error 409. If you resize a Pool downwards, the + Batch service chooses which Compute Nodes to remove. To remove specific Compute + Nodes, use the Pool remove Compute Nodes API instead. + """) @route("/pools/{poolId}/resize") @clientName("resizePoolInternal", "java") resizePool is PostOperation< @@ -297,14 +297,14 @@ Nodes, use the Pool remove Compute Nodes API instead. @summary("Stops an ongoing resize operation on the Pool.") @doc(""" -This does not restore the Pool to its previous state before the resize -operation: it only stops any further changes being made, and the Pool maintains -its current state. After stopping, the Pool stabilizes at the number of Compute -Nodes it was at when the stop operation was done. During the stop operation, -the Pool allocation state changes first to stopping and then to steady. A -resize operation need not be an explicit resize Pool request; this API can also -be used to halt the initial sizing of the Pool when it is created. -""") + This does not restore the Pool to its previous state before the resize + operation: it only stops any further changes being made, and the Pool maintains + its current state. After stopping, the Pool stabilizes at the number of Compute + Nodes it was at when the stop operation was done. During the stop operation, + the Pool allocation state changes first to stopping and then to steady. A + resize operation need not be an explicit resize Pool request; this API can also + be used to halt the initial sizing of the Pool when it is created. + """) @route("/pools/{poolId}/stopresize") @clientName("stopPoolResizeInternal", "java") stopPoolResize is PostOperation< @@ -314,10 +314,10 @@ be used to halt the initial sizing of the Pool when it is created. @summary("Updates the properties of the specified Pool.") @doc(""" -This fully replaces all the updatable properties of the Pool. For example, if -the Pool has a StartTask associated with it and if StartTask is not specified -with this request, then the Batch service will remove the existing StartTask. -""") + This fully replaces all the updatable properties of the Pool. For example, if + the Pool has a StartTask associated with it and if StartTask is not specified + with this request, then the Batch service will remove the existing StartTask. + """) @route("/pools/{poolId}/updateproperties") @clientName("replacePoolPropertiesInternal", "java") replacePoolProperties is PostOperation< @@ -335,10 +335,10 @@ with this request, then the Batch service will remove the existing StartTask. @summary("Removes Compute Nodes from the specified Pool.") @doc(""" -This operation can only run when the allocation state of the Pool is steady. -When this operation runs, the allocation state changes from steady to resizing. -Each request may remove up to 100 nodes. -""") + This operation can only run when the allocation state of the Pool is steady. + When this operation runs, the allocation state changes from steady to resizing. + Each request may remove up to 100 nodes. + """) @route("/pools/{poolId}/removenodes") @clientName("removeNodesInternal", "java") removeNodes is PostOperation< @@ -358,9 +358,9 @@ Each request may remove up to 100 nodes. listSupportedImages is ListOperation< { @doc(""" -An OData $filter clause. For more information on constructing this filter, see -https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-support-images. -""") + An OData $filter clause. For more information on constructing this filter, see + https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-support-images. + """) @query @clientName("filter") $filter?: string; @@ -369,18 +369,18 @@ https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#li >; @doc(""" -Gets the number of Compute Nodes in each state, grouped by Pool. Note that the -numbers returned may not always be up to date. If you need exact node counts, -use a list query. -""") + Gets the number of Compute Nodes in each state, grouped by Pool. Note that the + numbers returned may not always be up to date. If you need exact node counts, + use a list query. + """) @route("/nodecounts") @clientName("listPoolNodeCountsInternal", "java") listPoolNodeCounts is ListOperation< { @doc(""" -An OData $filter clause. For more information on constructing this filter, see -https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-support-images. -""") + An OData $filter clause. For more information on constructing this filter, see + https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-support-images. + """) @query @clientName("filter") $filter?: string; @@ -390,15 +390,15 @@ https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#li @summary("Deletes a Job.") @doc(""" -Deleting a Job also deletes all Tasks that are part of that Job, and all Job -statistics. This also overrides the retention period for Task data; that is, if -the Job contains Tasks which are still retained on Compute Nodes, the Batch -services deletes those Tasks' working directories and all their contents. When -a Delete Job request is received, the Batch service sets the Job to the -deleting state. All update operations on a Job that is in deleting state will -fail with status code 409 (Conflict), with additional information indicating -that the Job is being deleted. -""") + Deleting a Job also deletes all Tasks that are part of that Job, and all Job + statistics. This also overrides the retention period for Task data; that is, if + the Job contains Tasks which are still retained on Compute Nodes, the Batch + services deletes those Tasks' working directories and all their contents. When + a Delete Job request is received, the Batch service sets the Job to the + deleting state. All update operations on a Job that is in deleting state will + fail with status code 409 (Conflict), with additional information indicating + that the Job is being deleted. + """) @route("/jobs/{jobId}") @clientName("deleteJobInternal", "java") deleteJob is DeleteOperation< @@ -439,10 +439,10 @@ that the Job is being deleted. @summary("Updates the properties of the specified Job.") @doc(""" -This replaces only the Job properties specified in the request. For example, if -the Job has constraints, and a request does not specify the constraints -element, then the Job keeps the existing constraints. -""") + This replaces only the Job properties specified in the request. For example, if + the Job has constraints, and a request does not specify the constraints + element, then the Job keeps the existing constraints. + """) @route("/jobs/{jobId}") @clientName("updateJobInternal", "java") updateJob is UpdateOperation< @@ -460,10 +460,10 @@ element, then the Job keeps the existing constraints. @summary("Updates the properties of the specified Job.") @doc(""" -This fully replaces all the updatable properties of the Job. For example, if -the Job has constraints associated with it and if constraints is not specified -with this request, then the Batch service will remove the existing constraints. -""") + This fully replaces all the updatable properties of the Job. For example, if + the Job has constraints associated with it and if constraints is not specified + with this request, then the Batch service will remove the existing constraints. + """) @route("/jobs/{jobId}") @clientName("replaceJobInternal", "java") replaceJob is ReplaceOperation< @@ -481,15 +481,15 @@ with this request, then the Batch service will remove the existing constraints. @summary("Disables the specified Job, preventing new Tasks from running.") @doc(""" -The Batch Service immediately moves the Job to the disabling state. Batch then -uses the disableTasks parameter to determine what to do with the currently -running Tasks of the Job. The Job remains in the disabling state until the -disable operation is completed and all Tasks have been dealt with according to -the disableTasks option; the Job then moves to the disabled state. No new Tasks -are started under the Job until it moves back to active state. If you try to -disable a Job that is in any state other than active, disabling, or disabled, -the request fails with status code 409. -""") + The Batch Service immediately moves the Job to the disabling state. Batch then + uses the disableTasks parameter to determine what to do with the currently + running Tasks of the Job. The Job remains in the disabling state until the + disable operation is completed and all Tasks have been dealt with according to + the disableTasks option; the Job then moves to the disabled state. No new Tasks + are started under the Job until it moves back to active state. If you try to + disable a Job that is in any state other than active, disabling, or disabled, + the request fails with status code 409. + """) @route("/jobs/{jobId}/disable") @clientName("disableJobInternal", "java") disableJob is PostOperation< @@ -508,13 +508,13 @@ the request fails with status code 409. @summary("Enables the specified Job, allowing new Tasks to run.") @doc(""" -When you call this API, the Batch service sets a disabled Job to the enabling -state. After the this operation is completed, the Job moves to the active -state, and scheduling of new Tasks under the Job resumes. The Batch service -does not allow a Task to remain in the active state for more than 180 days. -Therefore, if you enable a Job containing active Tasks which were added more -than 180 days ago, those Tasks will not run. -""") + When you call this API, the Batch service sets a disabled Job to the enabling + state. After the this operation is completed, the Job moves to the active + state, and scheduling of new Tasks under the Job resumes. The Batch service + does not allow a Task to remain in the active state for more than 180 days. + Therefore, if you enable a Job containing active Tasks which were added more + than 180 days ago, those Tasks will not run. + """) @route("/jobs/{jobId}/enable") @clientName("enableJobInternal", "java") enableJob is PostOperation< @@ -528,13 +528,13 @@ than 180 days ago, those Tasks will not run. @summary("Terminates the specified Job, marking it as completed.") @doc(""" -When a Terminate Job request is received, the Batch service sets the Job to the -terminating state. The Batch service then terminates any running Tasks -associated with the Job and runs any required Job release Tasks. Then the Job -moves into the completed state. If there are any Tasks in the Job in the active -state, they will remain in the active state. Once a Job is terminated, new -Tasks cannot be added and any remaining active Tasks will not be scheduled. -""") + When a Terminate Job request is received, the Batch service sets the Job to the + terminating state. The Batch service then terminates any running Tasks + associated with the Job and runs any required Job release Tasks. Then the Job + moves into the completed state. If there are any Tasks in the Job in the active + state, they will remain in the active state. Once a Job is terminated, new + Tasks cannot be added and any remaining active Tasks will not be scheduled. + """) @route("/jobs/{jobId}/terminate") @clientName("terminateJobInternal", "java") terminateJob is PostOperation< @@ -553,16 +553,16 @@ Tasks cannot be added and any remaining active Tasks will not be scheduled. @summary("Creates a Job to the specified Account.") @doc(""" -The Batch service supports two ways to control the work done as part of a Job. -In the first approach, the user specifies a Job Manager Task. The Batch service -launches this Task when it is ready to start the Job. The Job Manager Task -controls all other Tasks that run under this Job, by using the Task APIs. In -the second approach, the user directly controls the execution of Tasks under an -active Job, by using the Task APIs. Also note: when naming Jobs, avoid -including sensitive information such as user names or secret project names. -This information may appear in telemetry logs accessible to Microsoft Support -engineers. -""") + The Batch service supports two ways to control the work done as part of a Job. + In the first approach, the user specifies a Job Manager Task. The Batch service + launches this Task when it is ready to start the Job. The Job Manager Task + controls all other Tasks that run under this Job, by using the Task APIs. In + the second approach, the user directly controls the execution of Tasks under an + active Job, by using the Task APIs. Also note: when naming Jobs, avoid + including sensitive information such as user names or secret project names. + This information may appear in telemetry logs accessible to Microsoft Support + engineers. + """) @route("/jobs") @clientName("createJobInternal", "java") createJob is CreateOperation< @@ -581,9 +581,9 @@ engineers. listJobs is ListOperation< { @doc(""" -An OData $filter clause. For more information on constructing this filter, see -https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs. -""") + An OData $filter clause. For more information on constructing this filter, see + https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs. + """) @query @clientName("filter") $filter?: string; @@ -616,9 +616,9 @@ https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#li jobScheduleId: string; @doc(""" -An OData $filter clause. For more information on constructing this filter, see -https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs-in-a-job-schedule. -""") + An OData $filter clause. For more information on constructing this filter, see + https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-jobs-in-a-job-schedule. + """) @query @clientName("filter") $filter?: string; @@ -641,17 +641,17 @@ https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#li >; @summary(""" -Lists the execution status of the Job Preparation and Job Release Task for the -specified Job across the Compute Nodes where the Job has run. -""") + Lists the execution status of the Job Preparation and Job Release Task for the + specified Job across the Compute Nodes where the Job has run. + """) @doc(""" -This API returns the Job Preparation and Job Release Task status on all Compute -Nodes that have run the Job Preparation or Job Release Task. This includes -Compute Nodes which have since been removed from the Pool. If this API is -invoked on a Job which has no Job Preparation or Job Release Task, the Batch -service returns HTTP status code 409 (Conflict) with an error code of -JobPreparationTaskNotSpecified. -""") + This API returns the Job Preparation and Job Release Task status on all Compute + Nodes that have run the Job Preparation or Job Release Task. This includes + Compute Nodes which have since been removed from the Pool. If this API is + invoked on a Job which has no Job Preparation or Job Release Task, the Batch + service returns HTTP status code 409 (Conflict) with an error code of + JobPreparationTaskNotSpecified. + """) @route("/jobs/{jobId}/jobpreparationandreleasetaskstatus") @clientName("listJobPreparationAndReleaseTaskStatusInternal", "java") listJobPreparationAndReleaseTaskStatus is ListOperation< @@ -661,9 +661,9 @@ JobPreparationTaskNotSpecified. jobId: string; @doc(""" -An OData $filter clause. For more information on constructing this filter, see -https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-preparation-and-release-status. -""") + An OData $filter clause. For more information on constructing this filter, see + https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-preparation-and-release-status. + """) @query @clientName("filter") $filter?: string; @@ -680,11 +680,11 @@ https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#li @summary("Gets the Task counts for the specified Job.") @doc(""" -Task counts provide a count of the Tasks by active, running or completed Task -state, and a count of Tasks which succeeded or failed. Tasks in the preparing -state are counted as running. Note that the numbers returned may not always be -up to date. If you need exact task counts, use a list query. -""") + Task counts provide a count of the Tasks by active, running or completed Task + state, and a count of Tasks which succeeded or failed. Tasks in the preparing + state are counted as running. Note that the numbers returned may not always be + up to date. If you need exact task counts, use a list query. + """) @route("/jobs/{jobId}/taskcounts") @clientName("getJobTaskCountsInternal", "java") getJobTaskCounts is ReadOperation< @@ -713,12 +713,12 @@ up to date. If you need exact task counts, use a list query. @summary("Deletes a Job Schedule from the specified Account.") @doc(""" -When you delete a Job Schedule, this also deletes all Jobs and Tasks under that -schedule. When Tasks are deleted, all the files in their working directories on -the Compute Nodes are also deleted (the retention period is ignored). The Job -Schedule statistics are no longer accessible once the Job Schedule is deleted, -though they are still counted towards Account lifetime statistics. -""") + When you delete a Job Schedule, this also deletes all Jobs and Tasks under that + schedule. When Tasks are deleted, all the files in their working directories on + the Compute Nodes are also deleted (the retention period is ignored). The Job + Schedule statistics are no longer accessible once the Job Schedule is deleted, + though they are still counted towards Account lifetime statistics. + """) @route("/jobschedules/{jobScheduleId}") @clientName("deleteJobScheduleInternal", "java") deleteJobSchedule is DeleteOperation< @@ -758,12 +758,12 @@ though they are still counted towards Account lifetime statistics. @summary("Updates the properties of the specified Job Schedule.") @doc(""" -This replaces only the Job Schedule properties specified in the request. For -example, if the schedule property is not specified with this request, then the -Batch service will keep the existing schedule. Changes to a Job Schedule only -impact Jobs created by the schedule after the update has taken place; currently -running Jobs are unaffected. -""") + This replaces only the Job Schedule properties specified in the request. For + example, if the schedule property is not specified with this request, then the + Batch service will keep the existing schedule. Changes to a Job Schedule only + impact Jobs created by the schedule after the update has taken place; currently + running Jobs are unaffected. + """) @route("/jobschedules/{jobScheduleId}") @clientName("updateJobScheduleInternal", "java") updateJobSchedule is UpdateOperation< @@ -781,12 +781,12 @@ running Jobs are unaffected. @summary("Updates the properties of the specified Job Schedule.") @doc(""" -This fully replaces all the updatable properties of the Job Schedule. For -example, if the schedule property is not specified with this request, then the -Batch service will remove the existing schedule. Changes to a Job Schedule only -impact Jobs created by the schedule after the update has taken place; currently -running Jobs are unaffected. -""") + This fully replaces all the updatable properties of the Job Schedule. For + example, if the schedule property is not specified with this request, then the + Batch service will remove the existing schedule. Changes to a Job Schedule only + impact Jobs created by the schedule after the update has taken place; currently + running Jobs are unaffected. + """) @route("/jobschedules/{jobScheduleId}") @clientName("replaceJobScheduleInternal", "java") replaceJobSchedule is ReplaceOperation< @@ -861,9 +861,9 @@ running Jobs are unaffected. listJobSchedules is ListOperation< { @doc(""" -An OData $filter clause. For more information on constructing this filter, see -https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-schedules. -""") + An OData $filter clause. For more information on constructing this filter, see + https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-job-schedules. + """) @query @clientName("filter") $filter?: string; @@ -887,10 +887,10 @@ https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#li @summary("Creates a Task to the specified Job.") @doc(""" -The maximum lifetime of a Task from addition to completion is 180 days. If a -Task has not completed within 180 days of being added it will be terminated by -the Batch service and left in whatever state it was in at that time. -""") + The maximum lifetime of a Task from addition to completion is 180 days. If a + Task has not completed within 180 days of being added it will be terminated by + the Batch service and left in whatever state it was in at that time. + """) @route("/jobs/{jobId}/tasks") @clientName("createTaskInternal", "java") createTask is CreateOperation< @@ -908,10 +908,10 @@ the Batch service and left in whatever state it was in at that time. @summary("Lists all of the Tasks that are associated with the specified Job.") @doc(""" -For multi-instance Tasks, information such as affinityId, executionInfo and -nodeInfo refer to the primary Task. Use the list subtasks API to retrieve -information about subtasks. -""") + For multi-instance Tasks, information such as affinityId, executionInfo and + nodeInfo refer to the primary Task. Use the list subtasks API to retrieve + information about subtasks. + """) @route("/jobs/{jobId}/tasks") @clientName("listTasksInternal", "java") listTasks is ListOperation< @@ -921,9 +921,9 @@ information about subtasks. jobId: string; @doc(""" -An OData $filter clause. For more information on constructing this filter, see -https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-tasks. -""") + An OData $filter clause. For more information on constructing this filter, see + https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-tasks. + """) @query @clientName("filter") $filter?: string; @@ -947,21 +947,21 @@ https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#li @summary("Adds a collection of Tasks to the specified Job.") @doc(""" -Note that each Task must have a unique ID. The Batch service may not return the -results for each Task in the same order the Tasks were submitted in this -request. If the server times out or the connection is closed during the -request, the request may have been partially or fully processed, or not at all. -In such cases, the user should re-issue the request. Note that it is up to the -user to correctly handle failures when re-issuing a request. For example, you -should use the same Task IDs during a retry so that if the prior operation -succeeded, the retry will not create extra Tasks unexpectedly. If the response -contains any Tasks which failed to add, a client can retry the request. In a -retry, it is most efficient to resubmit only Tasks that failed to add, and to -omit Tasks that were successfully added on the first attempt. The maximum -lifetime of a Task from addition to completion is 180 days. If a Task has not -completed within 180 days of being added it will be terminated by the Batch -service and left in whatever state it was in at that time. -""") + Note that each Task must have a unique ID. The Batch service may not return the + results for each Task in the same order the Tasks were submitted in this + request. If the server times out or the connection is closed during the + request, the request may have been partially or fully processed, or not at all. + In such cases, the user should re-issue the request. Note that it is up to the + user to correctly handle failures when re-issuing a request. For example, you + should use the same Task IDs during a retry so that if the prior operation + succeeded, the retry will not create extra Tasks unexpectedly. If the response + contains any Tasks which failed to add, a client can retry the request. In a + retry, it is most efficient to resubmit only Tasks that failed to add, and to + omit Tasks that were successfully added on the first attempt. The maximum + lifetime of a Task from addition to completion is 180 days. If a Task has not + completed within 180 days of being added it will be terminated by the Batch + service and left in whatever state it was in at that time. + """) @route("/jobs/{jobId}/addtaskcollection") @clientName("createTaskCollectionInternal", "java") createTaskCollection is PostOperation< @@ -979,12 +979,12 @@ service and left in whatever state it was in at that time. @summary("Deletes a Task from the specified Job.") @doc(""" -When a Task is deleted, all of the files in its directory on the Compute Node -where it ran are also deleted (regardless of the retention time). For -multi-instance Tasks, the delete Task operation applies synchronously to the -primary task; subtasks and their files are then deleted asynchronously in the -background. -""") + When a Task is deleted, all of the files in its directory on the Compute Node + where it ran are also deleted (regardless of the retention time). For + multi-instance Tasks, the delete Task operation applies synchronously to the + primary task; subtasks and their files are then deleted asynchronously in the + background. + """) @route("/jobs/{jobId}/tasks/{taskId}") @clientName("deleteTaskInternal", "java") deleteTask is DeleteOperation< @@ -1006,10 +1006,10 @@ background. @summary("Gets information about the specified Task.") @doc(""" -For multi-instance Tasks, information such as affinityId, executionInfo and -nodeInfo refer to the primary Task. Use the list subtasks API to retrieve -information about subtasks. -""") + For multi-instance Tasks, information such as affinityId, executionInfo and + nodeInfo refer to the primary Task. Use the list subtasks API to retrieve + information about subtasks. + """) @route("/jobs/{jobId}/tasks/{taskId}") @clientName("getTaskInternal", "java") getTask is ReadOperation< @@ -1061,9 +1061,9 @@ information about subtasks. #suppress "@azure-tools/typespec-azure-core/use-standard-names" "GET operations that return single objects should start with 'get'" @summary(""" -Lists all of the subtasks that are associated with the specified multi-instance -Task. -""") + Lists all of the subtasks that are associated with the specified multi-instance + Task. + """) @doc("If the Task is not a multi-instance Task then this returns an empty collection.") @route("/jobs/{jobId}/tasks/{taskId}/subtasksinfo") @clientName("listSubTasksInternal", "java") @@ -1089,10 +1089,10 @@ Task. @summary("Terminates the specified Task.") @doc(""" -When the Task has been terminated, it moves to the completed state. For -multi-instance Tasks, the terminate Task operation applies synchronously to the -primary task; subtasks are then terminated asynchronously in the background. -""") + When the Task has been terminated, it moves to the completed state. For + multi-instance Tasks, the terminate Task operation applies synchronously to the + primary task; subtasks are then terminated asynchronously in the background. + """) @route("/jobs/{jobId}/tasks/{taskId}/terminate") @clientName("terminateTaskInternal", "java") terminateTask is PostOperation< @@ -1109,18 +1109,18 @@ primary task; subtasks are then terminated asynchronously in the background. >; @summary(""" -Reactivates a Task, allowing it to run again even if its retry count has been -exhausted. -""") + Reactivates a Task, allowing it to run again even if its retry count has been + exhausted. + """) @doc(""" -Reactivation makes a Task eligible to be retried again up to its maximum retry -count. The Task's state is changed to active. As the Task is no longer in the -completed state, any previous exit code or failure information is no longer -available after reactivation. Each time a Task is reactivated, its retry count -is reset to 0. Reactivation will fail for Tasks that are not completed or that -previously completed successfully (with an exit code of 0). Additionally, it -will fail if the Job has completed (or is terminating or deleting). -""") + Reactivation makes a Task eligible to be retried again up to its maximum retry + count. The Task's state is changed to active. As the Task is no longer in the + completed state, any previous exit code or failure information is no longer + available after reactivation. Each time a Task is reactivated, its retry count + is reset to 0. Reactivation will fail for Tasks that are not completed or that + previously completed successfully (with an exit code of 0). Additionally, it + will fail if the Job has completed (or is terminating or deleting). + """) @route("/jobs/{jobId}/tasks/{taskId}/reactivate") @clientName("reactivateTaskInternal", "java") reactivateTask is PostOperation< @@ -1143,11 +1143,11 @@ will fail if the Job has completed (or is terminating or deleting). deleteTaskFile is DeleteOperation< BatchTaskFileClientPathContent & { @doc(""" -Whether to delete children of a directory. If the filePath parameter represents -a directory instead of a file, you can set recursive to true to delete the -directory and all of the files and subdirectories in it. If recursive is false -then the directory must be empty or deletion will fail. -""") + Whether to delete children of a directory. If the filePath parameter represents + a directory instead of a file, you can set recursive to true to delete the + directory and all of the files and subdirectories in it. If recursive is false + then the directory must be empty or deletion will fail. + """) @query recursive?: boolean; }, @@ -1165,9 +1165,9 @@ then the directory must be empty or deletion will fail. BatchTaskFileClientPathContent & BatchModifiedSinceHeaders & { @doc(""" -The byte range to be retrieved. The default is to retrieve the entire file. The -format is bytes=startRange-endRange. -""") + The byte range to be retrieved. The default is to retrieve the entire file. The + format is bytes=startRange-endRange. + """) @header `ocp-range`?: string; }, @@ -1206,17 +1206,17 @@ format is bytes=startRange-endRange. taskId: string; @doc(""" -An OData $filter clause. For more information on constructing this filter, see -https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-task-files. -""") + An OData $filter clause. For more information on constructing this filter, see + https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-task-files. + """) @query @clientName("filter") $filter?: string; @doc(""" -Whether to list children of the Task directory. This parameter can be used in -combination with the filter parameter to list specific type of files. -""") + Whether to list children of the Task directory. This parameter can be used in + combination with the filter parameter to list specific type of files. + """) @query recursive?: boolean; }, @@ -1225,9 +1225,9 @@ combination with the filter parameter to list specific type of files. @summary("Adds a user Account to the specified Compute Node.") @doc(""" -You can add a user Account to a Compute Node only when it is in the idle or -running state. -""") + You can add a user Account to a Compute Node only when it is in the idle or + running state. + """) @route("/pools/{poolId}/nodes/{nodeId}/users") @clientName("createNodeUserInternal", "java") createNodeUser is CreateOperation< @@ -1249,9 +1249,9 @@ running state. @summary("Deletes a user Account from the specified Compute Node.") @doc(""" -You can delete a user Account to a Compute Node only when it is in the idle or -running state. -""") + You can delete a user Account to a Compute Node only when it is in the idle or + running state. + """) @route("/pools/{poolId}/nodes/{nodeId}/users/{userName}") @clientName("deleteNodeUserInternal", "java") deleteNodeUser is DeleteOperation< @@ -1276,14 +1276,14 @@ running state. >; @summary(""" -Updates the password and expiration time of a user Account on the specified Compute Node. -""") + Updates the password and expiration time of a user Account on the specified Compute Node. + """) @doc(""" -This operation replaces of all the updatable properties of the Account. For -example, if the expiryTime element is not specified, the current value is -replaced with the default value, not left unmodified. You can update a user -Account on a Compute Node only when it is in the idle or running state. -""") + This operation replaces of all the updatable properties of the Account. For + example, if the expiryTime element is not specified, the current value is + replaced with the default value, not left unmodified. You can update a user + Account on a Compute Node only when it is in the idle or running state. + """) @route("/pools/{poolId}/nodes/{nodeId}/users/{userName}") @clientName("replaceNodeUserInternal", "java") replaceNodeUser is ReplaceOperation< @@ -1354,9 +1354,9 @@ Account on a Compute Node only when it is in the idle or running state. @summary("Disables Task scheduling on the specified Compute Node.") @doc(""" -You can disable Task scheduling on a Compute Node only if its current -scheduling state is enabled. -""") + You can disable Task scheduling on a Compute Node only if its current + scheduling state is enabled. + """) @route("/pools/{poolId}/nodes/{nodeId}/disablescheduling") @clientName("disableNodeSchedulingInternal", "java") disableNodeScheduling is PostOperation< @@ -1378,9 +1378,9 @@ scheduling state is enabled. @summary("Enables Task scheduling on the specified Compute Node.") @doc(""" -You can enable Task scheduling on a Compute Node only if its current scheduling -state is disabled -""") + You can enable Task scheduling on a Compute Node only if its current scheduling + state is disabled + """) @route("/pools/{poolId}/nodes/{nodeId}/enablescheduling") @clientName("enableNodeSchedulingInternal", "java") enableNodeScheduling is PostOperation< @@ -1398,10 +1398,10 @@ state is disabled @summary("Gets the settings required for remote login to a Compute Node.") @doc(""" -Before you can remotely login to a Compute Node using the remote login -settings, you must create a user Account on the Compute Node. This API can be -invoked only on Pools created with the virtual machine configuration property. -""") + Before you can remotely login to a Compute Node using the remote login + settings, you must create a user Account on the Compute Node. This API can be + invoked only on Pools created with the virtual machine configuration property. + """) @route("/pools/{poolId}/nodes/{nodeId}/remoteloginsettings") @clientName("getNodeRemoteLoginSettingsInternal", "java") getNodeRemoteLoginSettings is ReadOperation< @@ -1418,15 +1418,15 @@ invoked only on Pools created with the virtual machine configuration property. >; @summary(""" -Upload Azure Batch service log files from the specified Compute Node to Azure -Blob Storage. -""") + Upload Azure Batch service log files from the specified Compute Node to Azure + Blob Storage. + """) @doc(""" -This is for gathering Azure Batch service log files in an automated fashion -from Compute Nodes if you are experiencing an error and wish to escalate to -Azure support. The Azure Batch service log files should be shared with Azure -support to aid in debugging issues with the Batch service. -""") + This is for gathering Azure Batch service log files in an automated fashion + from Compute Nodes if you are experiencing an error and wish to escalate to + Azure support. The Azure Batch service log files should be shared with Azure + support to aid in debugging issues with the Batch service. + """) @route("/pools/{poolId}/nodes/{nodeId}/uploadbatchservicelogs") @clientName("uploadNodeLogsInternal", "java") uploadNodeLogs is PostOperation< @@ -1436,9 +1436,9 @@ support to aid in debugging issues with the Batch service. poolId: string; @doc(""" -The ID of the Compute Node for which you want to get the Remote Desktop -Protocol file. -""") + The ID of the Compute Node for which you want to get the Remote Desktop + Protocol file. + """) @path nodeId: string; @@ -1460,9 +1460,9 @@ Protocol file. poolId: string; @doc(""" -An OData $filter clause. For more information on constructing this filter, see -https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-nodes-in-a-pool. -""") + An OData $filter clause. For more information on constructing this filter, see + https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-nodes-in-a-pool. + """) @query @clientName("filter") $filter?: string; @@ -1492,8 +1492,8 @@ https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#li nodeId: string; @doc(""" -The name of the Compute Node Extension that you want to get information about. -""") + The name of the Compute Node Extension that you want to get information about. + """) @path extensionName: string; @@ -1538,11 +1538,11 @@ The name of the Compute Node Extension that you want to get information about. deleteNodeFile is DeleteOperation< BatchNodeFileClientPathContent & { @doc(""" -Whether to delete children of a directory. If the filePath parameter represents -a directory instead of a file, you can set recursive to true to delete the -directory and all of the files and subdirectories in it. If recursive is false -then the directory must be empty or deletion will fail. -""") + Whether to delete children of a directory. If the filePath parameter represents + a directory instead of a file, you can set recursive to true to delete the + directory and all of the files and subdirectories in it. If recursive is false + then the directory must be empty or deletion will fail. + """) @query recursive?: boolean; }, @@ -1560,9 +1560,9 @@ then the directory must be empty or deletion will fail. BatchNodeFileClientPathContent & BatchModifiedSinceHeaders & { @doc(""" -The byte range to be retrieved. The default is to retrieve the entire file. The -format is bytes=startRange-endRange. -""") + The byte range to be retrieved. The default is to retrieve the entire file. The + format is bytes=startRange-endRange. + """) @header `ocp-range`?: string; }, @@ -1601,9 +1601,9 @@ format is bytes=startRange-endRange. nodeId: string; @doc(""" -An OData $filter clause. For more information on constructing this filter, see -https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-compute-node-files. -""") + An OData $filter clause. For more information on constructing this filter, see + https://docs.microsoft.com/en-us/rest/api/batchservice/odata-filters-in-batch#list-compute-node-files. + """) @query @clientName("filter") $filter?: string; diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/agreement.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/agreement.json new file mode 100644 index 000000000000..573fcb62a0e7 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/agreement.json @@ -0,0 +1,315 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements/{agreementName}": { + "get": { + "tags": [ + "Agreement" + ], + "description": "Gets an agreement by ID.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Agreements_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "in": "path", + "name": "agreementName", + "description": "The ID that uniquely identifies an agreement.", + "required": true, + "type": "string", + "pattern": "^[a-fA-F0-9]{1,12}$" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A billing account.", + "schema": { + "$ref": "#/definitions/Agreement" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AgreementByName": { + "$ref": "./examples/agreementByName.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements": { + "get": { + "tags": [ + "Agreement" + ], + "description": "Lists the agreements for a billing account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Agreements_ListByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "query", + "name": "expand", + "description": "May be used to expand the participants.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Result of listing agreements.", + "schema": { + "$ref": "#/definitions/AgreementListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AgreementsListByBillingAccount": { + "$ref": "./examples/agreementsListByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Agreement": { + "description": "An agreement.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AgreementProperties" + } + }, + "x-ms-azure-resource": true + }, + "AgreementListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Agreement" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "AgreementProperties": { + "description": "An agreement.", + "type": "object", + "properties": { + "acceptanceMode": { + "description": "The mode of acceptance for an agreement.", + "enum": [ + "Other", + "ClickToAccept", + "ESignEmbedded", + "ESignOffline", + "Implicit", + "Offline", + "PhysicalSign" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AcceptanceMode", + "modelAsString": true + } + }, + "agreementLink": { + "description": "The URL to download the agreement.", + "type": "string", + "readOnly": true + }, + "billingProfileInfo": { + "description": "The list of billing profiles associated with agreement and present only for specific agreements.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingProfileInfo" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "category": { + "description": "The category of the agreement.", + "enum": [ + "Other", + "AffiliatePurchaseTerms", + "IndirectForGovernmentAgreement", + "MicrosoftCustomerAgreement", + "MicrosoftPartnerAgreement", + "UKCloudComputeFramework" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "Category", + "modelAsString": true + } + }, + "displayName": { + "description": "The name of the agreement signed by a customer.", + "type": "string", + "readOnly": true + }, + "effectiveDate": { + "format": "date-time", + "description": "The date from which the agreement is effective.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "format": "date-time", + "description": "The date when the agreement expires.", + "type": "string", + "readOnly": true + }, + "participants": { + "description": "The list of participants that participates in acceptance of an agreement.", + "type": "array", + "items": { + "$ref": "#/definitions/Participant" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "status": { + "description": "The current status of the agreement.", + "type": "string", + "readOnly": true + }, + "leadBillingAccountName": { + "description": "The ID of the lead billing account if this agreement is part of the Customer Affiliate Purchase Terms.", + "type": "string", + "readOnly": true + } + } + }, + "BillingProfileInfo": { + "description": "Details about billing profile associated with agreement and available only for specific agreements.", + "type": "object", + "properties": { + "billingAccountId": { + "description": "The fully qualified ID that uniquely identifies a billing account.", + "type": "string" + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile.", + "type": "string" + }, + "billingProfileId": { + "description": "The friendly ID that uniquely identifies a billing profile.", + "type": "string" + }, + "billingProfileSystemId": { + "description": "The fully qualified ID that uniquely identifies a billing profile.", + "type": "string" + }, + "indirectRelationshipOrganizationName": { + "description": "Billing account name. Available for a specific type of agreement.", + "type": "string" + } + } + }, + "Participant": { + "description": "Billing account name. Available for a specific type of agreement.", + "type": "object", + "properties": { + "email": { + "description": "The email address of the participant.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The acceptance status of the participant.", + "type": "string", + "readOnly": true + }, + "statusDate": { + "format": "date-time", + "description": "The date when the status got changed.", + "type": "string", + "readOnly": true + } + } + } + }, + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/associatedTenant.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/associatedTenant.json new file mode 100644 index 000000000000..0955a9a69583 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/associatedTenant.json @@ -0,0 +1,387 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/associatedTenants/{associatedTenantName}": { + "delete": { + "tags": [ + "AssociatedTenant" + ], + "description": "Deletes an associated tenant for a billing account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "AssociatedTenants_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/associatedTenantName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "AssociatedTenantsDelete": { + "$ref": "./examples/associatedTenantsDelete.json" + } + } + }, + "get": { + "tags": [ + "AssociatedTenant" + ], + "description": "Gets an associated tenant by ID.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "AssociatedTenants_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/associatedTenantName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "An associated tenant.", + "schema": { + "$ref": "#/definitions/AssociatedTenant" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AssociatedTenantsGet": { + "$ref": "./examples/associatedTenantsGet.json" + } + } + }, + "put": { + "tags": [ + "AssociatedTenant" + ], + "description": "Create or update an associated tenant for the billing account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "AssociatedTenants_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/associatedTenantName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "An associated tenant.", + "required": true, + "schema": { + "$ref": "#/definitions/AssociatedTenant" + } + } + ], + "responses": { + "200": { + "description": "An associated tenant.", + "schema": { + "$ref": "#/definitions/AssociatedTenant" + } + }, + "201": { + "description": "An associated tenant.", + "schema": { + "$ref": "#/definitions/AssociatedTenant" + }, + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "AssociatedTenantsCreateOrUpdate": { + "$ref": "./examples/associatedTenantsCreateOrUpdate.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/associatedTenants": { + "get": { + "tags": [ + "AssociatedTenant" + ], + "description": "Lists the associated tenants that can collaborate with the billing account on commerce activities like viewing and downloading invoices, managing payments, making purchases, and managing or provisioning licenses.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "AssociatedTenants_ListByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "in": "query", + "name": "includeRevoked", + "description": "Can be used to get revoked associated tenants.", + "type": "boolean", + "default": false + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "A list of associated tenants.", + "schema": { + "$ref": "#/definitions/AssociatedTenantListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AssociatedTenantsListByBillingAccount": { + "$ref": "./examples/associatedTenantsListByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AssociatedTenant": { + "description": "An associated tenant.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AssociatedTenantProperties" + } + }, + "x-ms-azure-resource": true + }, + "AssociatedTenantListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/AssociatedTenant" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "AssociatedTenantProperties": { + "description": "An associated tenant.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource during a long-running operation.", + "enum": [ + "Succeeded", + "Canceled", + "Failed", + "New", + "Pending", + "Provisioning" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "displayName": { + "description": "The name of the associated tenant.", + "type": "string" + }, + "tenantId": { + "description": "The ID that uniquely identifies a tenant.", + "type": "string" + }, + "billingManagementState": { + "description": "The state determines whether users from the associated tenant can be assigned roles for commerce activities like viewing and downloading invoices, managing payments, and making purchases.", + "enum": [ + "Other", + "NotAllowed", + "Active", + "Revoked" + ], + "type": "string", + "x-ms-enum": { + "name": "BillingManagementTenantState", + "modelAsString": true + } + }, + "provisioningManagementState": { + "description": "The state determines whether subscriptions and licenses can be provisioned in the associated tenant. It can be set to 'Pending' to initiate a billing request.", + "enum": [ + "Other", + "NotRequested", + "Active", + "Pending", + "BillingRequestExpired", + "BillingRequestDeclined", + "Revoked" + ], + "type": "string", + "x-ms-enum": { + "name": "ProvisioningTenantState", + "modelAsString": true + } + }, + "provisioningBillingRequestId": { + "description": "The unique identifier for the billing request that is created when enabling provisioning for an associated tenant.", + "type": "string", + "readOnly": true + } + } + } + }, + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/availableBalance.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/availableBalance.json new file mode 100644 index 000000000000..9e9d41b07f9d --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/availableBalance.json @@ -0,0 +1,230 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/availableBalance/default": { + "get": { + "tags": [ + "AvailableBalance" + ], + "description": "The Available Credit or Payment on Account Balance for a billing account. The credit balance can be used to settle due or past due invoices and is supported for billing accounts with agreement type Microsoft Customer Agreement. The payment on account balance is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Online Services Program.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "AvailableBalances_GetByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Available Credit or Payment on Account Balance. The credit balance can be used to settle due or past due invoices.", + "schema": { + "$ref": "#/definitions/AvailableBalance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AvailableBalanceGetByBillingAccount": { + "$ref": "./examples/availableBalanceGetByBillingAccount.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/availableBalance/default": { + "get": { + "tags": [ + "AvailableBalance" + ], + "description": "The Available Credit or Payment on Account Balance for a billing profile. The credit balance can be used to settle due or past due invoices and is supported for billing accounts with agreement type Microsoft Customer Agreement. The payment on account balance is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "AvailableBalances_GetByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Available Credit or Payment on Account Balance. The credit balance can be used to settle due or past due invoices.", + "schema": { + "$ref": "#/definitions/AvailableBalance" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AvailableBalanceGetByBillingProfile": { + "$ref": "./examples/availableBalanceGetByBillingProfile.json" + } + } + } + } + }, + "definitions": { + "AvailableBalance": { + "description": "The Available Credit or Payment on Account Balance. The credit balance can be used to settle due or past due invoices.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AvailableBalanceProperties" + } + }, + "x-ms-azure-resource": true + }, + "AvailableBalanceProperties": { + "description": "The Available Credit or Payment on Account Balance. The credit balance can be used to settle due or past due invoices.", + "type": "object", + "properties": { + "amount": { + "description": "Credit amount for immediate payment.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "paymentsOnAccount": { + "description": "The list of payments on accounts.", + "type": "array", + "items": { + "$ref": "#/definitions/PaymentOnAccount" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "totalPaymentsOnAccount": { + "description": "Total amount of payments on accounts.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + } + } + }, + "PaymentOnAccount": { + "description": "A Payment on Account.", + "type": "object", + "properties": { + "amount": { + "description": "Payment on Account amount.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "billingProfileId": { + "description": "The ID of the billing profile for the payments on account.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile for the payments on account.", + "type": "string", + "readOnly": true + }, + "invoiceId": { + "description": "The ID of the invoice for which the payments on account was generated.", + "type": "string", + "readOnly": true + }, + "invoiceName": { + "description": "The name of the invoice for the payments on account.", + "type": "string", + "readOnly": true + }, + "date": { + "format": "date-time", + "description": "The date of the payments on account.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Payment on Account type.", + "enum": [ + "Other", + "None", + "CreditCard", + "Credits", + "CheckWire", + "EWallet", + "TaskOrder", + "DirectDebit" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PaymentMethodFamily", + "modelAsString": true + } + } + } + } + }, + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingAccount.json new file mode 100644 index 000000000000..3ef42cf8a3b7 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingAccount.json @@ -0,0 +1,1324 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/addPaymentTerms": { + "post": { + "tags": [ + "BillingAccount" + ], + "description": "Adds payment terms to all the billing profiles under the billing account. Currently, payment terms can be added only on billing accounts that have Agreement Type as 'Microsoft Customer Agreement' and AccountType as 'Enterprise'. This action needs pre-authorization and only Field Sellers are authorized to add the payment terms and is not a self-serve action.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingAccounts_AddPaymentTerms", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The properties of payment term.", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentTerm" + }, + "x-ms-identifiers": [] + } + } + ], + "responses": { + "200": { + "description": "The list of billing accounts.", + "schema": { + "$ref": "#/definitions/BillingAccount" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "PaymentTermsAdd": { + "$ref": "./examples/paymentTermsAdd.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/cancelPaymentTerms": { + "post": { + "tags": [ + "BillingAccount" + ], + "description": "Cancels all the payment terms on billing account that falls after the cancellation date in the request. Currently, cancel payment terms is only served by admin actions and is not a self-serve action.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingAccounts_CancelPaymentTerms", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "Date after which any payment terms that needs to be cancelled.", + "required": true, + "schema": { + "format": "date-time", + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "The list of billing accounts.", + "schema": { + "$ref": "#/definitions/BillingAccount" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "PaymentTermsCancel": { + "$ref": "./examples/paymentTermsCancel.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/confirmTransition": { + "post": { + "tags": [ + "BillingAccount" + ], + "description": "Gets the transition details for a billing account that has transitioned from agreement type Microsoft Online Services Program to agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingAccounts_ConfirmTransition", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The details for a billing account transitioned from agreement type Microsoft Online Services Program to agreement type Microsoft Customer Agreement.", + "schema": { + "$ref": "#/definitions/TransitionDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingAccountsConfirmTransition": { + "$ref": "./examples/billingAccountsConfirmTransition.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/listInvoiceSectionsWithCreateSubscriptionPermission": { + "post": { + "tags": [ + "BillingAccount" + ], + "description": "Lists the invoice sections for which the user has permission to create Azure subscriptions. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingAccounts_ListInvoiceSectionsByCreateSubscriptionPermission", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/InvoiceSectionWithCreateSubPermissionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "InvoiceSectionsWithCreateSubscriptionPermissionList": { + "$ref": "./examples/invoiceSectionsWithCreateSubscriptionPermissionList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/validatePaymentTerms": { + "post": { + "tags": [ + "BillingAccount" + ], + "description": "Validates payment terms on a billing account with agreement type 'Microsoft Customer Agreement' and account type 'Enterprise'.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingAccounts_ValidatePaymentTerms", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The properties of payment term.", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentTerm" + }, + "x-ms-identifiers": [] + } + } + ], + "responses": { + "200": { + "description": "Result of the payment terms eligibility.", + "schema": { + "$ref": "#/definitions/PaymentTermsEligibilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PaymentTermInvalid": { + "$ref": "./examples/paymentTermInvalid.json" + }, + "PaymentTermValid": { + "$ref": "./examples/paymentTermValid.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}": { + "get": { + "tags": [ + "BillingAccount" + ], + "description": "Gets a billing account by its ID.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingAccounts_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A billing account.", + "schema": { + "$ref": "#/definitions/BillingAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingAccountsGet": { + "$ref": "./examples/billingAccountsGet.json" + }, + "BillingAccountsGetWithExpand": { + "$ref": "./examples/billingAccountsGetWithExpand.json" + }, + "BillingAccountWithRegistrationNumberWithDefaultType": { + "$ref": "./examples/billingAccountWithRegistrationNumberWithDefaultType.json" + }, + "BillingAccountWithRegistrationNumberWithType": { + "$ref": "./examples/billingAccountWithRegistrationNumberWithType.json" + }, + "BillingAccountsGetEA": { + "$ref": "./examples/billingAccountsGetEA.json" + }, + "BillingAccountWithExpandForPONumber": { + "$ref": "./examples/billingAccountWithExpandForPONumber.json" + } + } + }, + "patch": { + "tags": [ + "BillingAccount" + ], + "description": "Updates the properties of a billing account. Currently, displayName and address can be updated for billing accounts with agreement type Microsoft Customer Agreement. Currently address and notification email address can be updated for billing accounts with agreement type Microsoft Online Services Agreement. Currently, purchase order number can be edited for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingAccounts_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "A billing account.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingAccountPatch" + } + } + ], + "responses": { + "200": { + "description": "A billing account.", + "schema": { + "$ref": "#/definitions/BillingAccount" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "BillingAccountsUpdate": { + "$ref": "./examples/billingAccountsUpdate.json" + }, + "BillingAccountUpdateWithPONumber": { + "$ref": "./examples/billingAccountUpdateWithPONumber.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts": { + "get": { + "tags": [ + "BillingAccount" + ], + "description": "Lists the billing accounts that a user has access to.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingAccounts_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "includeAll", + "description": "When true, results will include Billing Accounts that the user does not have a direct role assignment on if the user has one of the following AAD roles: Global Administrator, Global Reader, Billing Administrator.", + "type": "boolean", + "default": false + }, + { + "in": "query", + "name": "includeAllWithoutBillingProfiles", + "description": "When true, results will include Billing Accounts that are not fully created if the user has one of the following AAD roles: Global Administrator, Global Reader, Billing Administrator.", + "type": "boolean", + "default": false + }, + { + "in": "query", + "name": "includeDeleted", + "description": "When true, results will include any billing accounts in a deleted state.", + "type": "boolean", + "default": false + }, + { + "in": "query", + "name": "includePendingAgreement", + "description": "Includes billing accounts with agreement pending signature that the user has access to.", + "type": "boolean", + "default": false + }, + { + "in": "query", + "name": "includeResellee", + "description": "Includes the customer's billing account of Microsoft Partner Agreement that the user has access to.", + "type": "boolean", + "default": false + }, + { + "in": "query", + "name": "legalOwnerTID", + "description": "Must be combined with legalOwnerOID, results will only include Billing Accounts for whom is legally responsible for the Billing Accounts. Optional.", + "type": "string" + }, + { + "in": "query", + "name": "legalOwnerOID", + "description": "Must be combined with legalOwnerTID, results will only include Billing Accounts for whom is legally responsible for the Billing Accounts. Optional.", + "type": "string" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "in": "query", + "name": "expand", + "description": "Expand is allowed for SoldTo and EnrollmentDetails/PONumber.", + "type": "string" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of billing accounts.", + "schema": { + "$ref": "#/definitions/BillingAccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingAccountsList": { + "$ref": "./examples/billingAccountsList.json" + }, + "BillingAccountForLegacyAccountDetails": { + "$ref": "./examples/billingAccountForLegacyAccountDetails.json" + }, + "BillingAccountsListWithExpandForPONumber": { + "$ref": "./examples/billingAccountsListWithExpandForPONumber.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/validateAddress": { + "post": { + "tags": [ + "BillingAccount" + ], + "description": "Validates an address. Use the operation to validate an address before using it as soldTo or a billTo address.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Address_Validate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "Address details.", + "required": true, + "schema": { + "$ref": "./types.json#/definitions/AddressDetails" + } + } + ], + "responses": { + "200": { + "description": "Result of the address validation.", + "schema": { + "$ref": "#/definitions/AddressValidationResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AddressValidateValid": { + "$ref": "./examples/addressValidateValid.json" + }, + "AddressValidateInvalid": { + "$ref": "./examples/addressValidateInvalid.json" + } + } + } + } + }, + "definitions": { + "AddressValidationResponse": { + "description": "Result of the address validation.", + "type": "object", + "properties": { + "status": { + "description": "Status of the address validation.", + "enum": [ + "Other", + "Valid", + "Invalid" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AddressValidationStatus", + "modelAsString": true + } + }, + "suggestedAddresses": { + "description": "The list of suggested addresses.", + "type": "array", + "items": { + "$ref": "./types.json#/definitions/AddressDetails" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "validationMessage": { + "description": "Validation error message.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + }, + "BillingAccount": { + "description": "A billing account.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BillingAccountProperties" + } + }, + "x-ms-azure-resource": true + }, + "BillingAccountListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingAccount" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "BillingAccountPatch": { + "description": "A billing account.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BillingAccountProperties" + } + }, + "x-ms-azure-resource": true + }, + "BillingAccountProperties": { + "description": "A billing account.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource during a long-running operation.", + "enum": [ + "Succeeded", + "Canceled", + "Failed", + "New", + "Pending", + "Provisioning" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "accountStatus": { + "description": "The current status of the billing account.", + "enum": [ + "Other", + "Active", + "UnderReview", + "Disabled", + "Deleted", + "Extended", + "Pending", + "New", + "Expired", + "Terminated", + "Transferred" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AccountStatus", + "modelAsString": true + } + }, + "accountType": { + "description": "The type of customer.", + "enum": [ + "Other", + "Enterprise", + "Individual", + "Partner", + "Reseller", + "ClassicPartner", + "Internal", + "Tenant", + "Business" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AccountType", + "modelAsString": true + } + }, + "accountSubType": { + "description": "The tier of the account.", + "enum": [ + "Other", + "None", + "Individual", + "Professional", + "Enterprise" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AccountSubType", + "modelAsString": true + } + }, + "accountStatusReasonCode": { + "description": "Reason for the specified billing account status.", + "enum": [ + "Other", + "UnusualActivity", + "ManuallyTerminated", + "Expired", + "Transferred", + "TerminateProcessing" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingAccountStatusReasonCode", + "modelAsString": true + } + }, + "agreementType": { + "description": "The type of agreement.", + "enum": [ + "Other", + "MicrosoftCustomerAgreement", + "EnterpriseAgreement", + "MicrosoftOnlineServicesProgram", + "MicrosoftPartnerAgreement" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AgreementType", + "modelAsString": true + } + }, + "displayName": { + "description": "The billing account name.", + "type": "string" + }, + "enrollmentDetails": { + "description": "The properties of an enrollment.", + "allOf": [ + { + "$ref": "#/definitions/EnrollmentDetails" + } + ] + }, + "hasReadAccess": { + "description": "Indicates whether user has read access to the billing account.", + "type": "boolean" + }, + "hasNoBillingProfiles": { + "description": "Indicates whether or not the billing account has any billing profiles.", + "type": "boolean" + }, + "notificationEmailAddress": { + "description": "Notification email address for legacy account. Available for agreement type Microsoft Online Services Program.", + "type": "string" + }, + "primaryBillingTenantId": { + "description": "The tenant that was used to set up the billing account. By default, only users from this tenant can get role assignments on the billing account and all purchases are provisioned in this tenant.", + "type": "string" + }, + "soldTo": { + "description": "The address of the individual or organization that is responsible for the billing account.", + "allOf": [ + { + "$ref": "./types.json#/definitions/AddressDetails" + } + ] + }, + "registrationNumber": { + "description": "Describes the registration number of the organization linked with the billing account.", + "allOf": [ + { + "$ref": "#/definitions/RegistrationNumber" + } + ] + }, + "billingRelationshipTypes": { + "description": "Identifies the billing relationships represented by a billing account. The billing relationship may be between Microsoft, the customer, and/or a third-party.", + "type": "array", + "items": { + "description": "Identifies the billing relationships represented by a billing account or billing profile. The billing relationship may be between Microsoft, the customer, and/or a third-party.", + "enum": [ + "Other", + "Direct", + "IndirectCustomer", + "IndirectPartner", + "CSPPartner", + "CSPCustomer" + ], + "type": "string", + "x-ms-enum": { + "name": "BillingRelationshipType", + "modelAsString": true + } + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "qualifications": { + "description": "Qualifications for pricing on a billing account. Values may be Commercial, Education, Charity or Government.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "taxIds": { + "description": "A list of tax identifiers for the billing account.", + "type": "array", + "items": { + "$ref": "#/definitions/TaxIdentifier" + }, + "x-ms-identifiers": [] + } + } + }, + "EnrollmentDetails": { + "description": "The properties of an enrollment.", + "type": "object", + "properties": { + "startDate": { + "format": "date-time", + "description": "The start date of the enrollment.", + "type": "string" + }, + "endDate": { + "format": "date-time", + "description": "The end date of the enrollment.", + "type": "string" + }, + "currency": { + "description": "The billing currency for the enrollment.", + "type": "string", + "readOnly": true + }, + "channel": { + "description": "The channel type of the enrollment.", + "type": "string", + "readOnly": true + }, + "language": { + "description": "The language for the enrollment.", + "type": "string", + "readOnly": true + }, + "countryCode": { + "description": "The country code of the enrollment.", + "type": "string", + "readOnly": true + }, + "billingCycle": { + "description": "The billing cycle for the enrollment.", + "type": "string", + "readOnly": true + }, + "extendedTermOption": { + "description": "The billing account extension opted by the company.", + "enum": [ + "Other", + "Opted-In", + "Opted-Out" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ExtendedTermOption", + "modelAsString": true + } + }, + "supportLevel": { + "description": "The support level offer associated with an enrollment.", + "enum": [ + "Other", + "Standard", + "Pro-Direct", + "Developer" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SupportLevel", + "modelAsString": true + } + }, + "supportCoverage": { + "description": "The support coverage period for the enrollment.", + "type": "string", + "readOnly": true + }, + "cloud": { + "description": "The cloud of the enrollment.", + "type": "string", + "readOnly": true + }, + "poNumber": { + "description": "The purchase order number of the enrollment.", + "type": "string" + }, + "markupStatus": { + "description": "Markup status of enrollment, applicable only for indirect enrollments.", + "enum": [ + "Other", + "Disabled", + "Preview", + "Published", + "Locked" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MarkupStatus", + "modelAsString": true + } + }, + "indirectRelationshipInfo": { + "description": "The properties of an enrollment which are applicable only for indirect enrollments.", + "allOf": [ + { + "$ref": "./types.json#/definitions/IndirectRelationshipInfo" + } + ] + }, + "invoiceRecipient": { + "description": "The contact who receives invoices of the enrollment.", + "type": "string", + "readOnly": true + } + } + }, + "InvoiceSectionWithCreateSubPermission": { + "description": "Invoice section properties with create subscription permission.", + "type": "object", + "properties": { + "billingProfileDisplayName": { + "description": "The name of the billing profile.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The fully qualified ID that uniquely identifies a billing profile.", + "type": "string", + "readOnly": true + }, + "billingProfileSystemId": { + "description": "The system generated unique identifier for a billing profile.", + "type": "string", + "readOnly": true + }, + "billingProfileStatus": { + "description": "The status of the billing profile.", + "enum": [ + "Other", + "Active", + "Disabled", + "Warned", + "Deleted", + "UnderReview" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileStatus", + "modelAsString": true + } + }, + "billingProfileStatusReasonCode": { + "description": "Reason for the specified billing profile status.", + "enum": [ + "Other", + "PastDue", + "UnusualActivity", + "SpendingLimitReached", + "SpendingLimitExpired" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileStatusReasonCode", + "modelAsString": true + } + }, + "billingProfileSpendingLimit": { + "description": "The billing profile spending limit.", + "enum": [ + "Off", + "On" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SpendingLimit", + "modelAsString": true + } + }, + "enabledAzurePlans": { + "description": "Enabled azure plans for the associated billing profile.", + "type": "array", + "items": { + "$ref": "./types.json#/definitions/AzurePlan" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section.", + "type": "string", + "readOnly": true + }, + "invoiceSectionId": { + "description": "The fully qualified ID that uniquely identifies an invoice section.", + "type": "string", + "readOnly": true + }, + "invoiceSectionSystemId": { + "description": "The system generated unique identifier for an invoice section.", + "type": "string", + "readOnly": true + } + } + }, + "InvoiceSectionWithCreateSubPermissionListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/InvoiceSectionWithCreateSubPermission" + }, + "readOnly": true, + "x-ms-identifiers": [ + "invoiceSectionId" + ] + } + } + }, + "PaymentTerm": { + "description": "The properties of payment term.", + "type": "object", + "properties": { + "term": { + "description": "Represents duration in netXX format. Always in days.", + "type": "string" + }, + "startDate": { + "format": "date-time", + "description": "The date on when the defined 'Payment Term' will be effective from and is always in UTC.", + "type": "string" + }, + "endDate": { + "format": "date-time", + "description": "The date on when the defined 'Payment Term' will end and is always in UTC.", + "type": "string" + }, + "isDefault": { + "description": "Indicates payment term is the standard payment term.", + "type": "boolean", + "readOnly": true + } + } + }, + "PaymentTermsEligibilityDetail": { + "description": "Details of the payment terms eligibility.", + "type": "object", + "properties": { + "code": { + "description": "Indicates the reason for the ineligibility of the payment terms.", + "enum": [ + "Other", + "OverlappingPaymentTerms", + "InvalidDateFormat", + "InvalidDateRange", + "InactiveBillingAccount", + "InvalidBillingAccountType", + "NullOrEmptyPaymentTerms", + "BillingAccountNotFound", + "IneligibleBillingAccountStatus", + "InvalidTerms" + ], + "type": "string", + "x-ms-enum": { + "name": "PaymentTermsEligibilityCode", + "modelAsString": true + } + }, + "message": { + "description": "Indicates the message for the ineligibility of the payment terms.", + "type": "string" + } + } + }, + "PaymentTermsEligibilityResult": { + "description": "Result of the payment terms eligibility.", + "type": "object", + "properties": { + "eligibilityStatus": { + "description": "Indicates the eligibility status of the payment terms.", + "enum": [ + "Other", + "Valid", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "PaymentTermsEligibilityStatus", + "modelAsString": true + } + }, + "eligibilityDetails": { + "description": "Details of the payment terms eligibility.", + "type": "array", + "items": { + "$ref": "#/definitions/PaymentTermsEligibilityDetail" + }, + "x-ms-identifiers": [] + } + } + }, + "RegistrationNumber": { + "description": "Describes the registration number of the organization linked with the billing account.", + "type": "object", + "properties": { + "id": { + "description": "The unique identification number of the organization linked with the billing account.", + "type": "string" + }, + "required": { + "description": "Identifies if the registration number is required for the billing account.", + "type": "boolean", + "readOnly": true + }, + "type": { + "description": "The types of registration number allowed based on the country of the billing account.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "TaxIdentifier": { + "description": "A tax identifier for the billing account.", + "type": "object", + "properties": { + "id": { + "description": "The id of the tax identifier.", + "type": "string" + }, + "type": { + "description": "The type of the tax identifier.", + "enum": [ + "Other", + "BrazilCcmId", + "BrazilCnpjId", + "BrazilCpfId", + "CanadianFederalExempt", + "CanadianProvinceExempt", + "ExternalTaxation", + "IndiaFederalTanId", + "IndiaFederalServiceTaxId", + "IndiaPanId", + "IndiaStateCstId", + "IndiaStateGstINId", + "IndiaStateVatId", + "IntlExempt", + "USExempt", + "VatId", + "LoveCode", + "MobileBarCode", + "NationalIdentificationNumber", + "PublicSectorId" + ], + "type": "string", + "x-ms-enum": { + "name": "TaxIdentifierType", + "modelAsString": true + } + }, + "scope": { + "description": "The scope of the tax identifier.", + "type": "string" + }, + "country": { + "description": "The country of the tax identifier.", + "type": "string" + }, + "status": { + "description": "The status of the tax identifier.", + "enum": [ + "Other", + "Valid", + "Invalid" + ], + "type": "string", + "x-ms-enum": { + "name": "TaxIdentifierStatus", + "modelAsString": true + } + } + } + }, + "TransitionDetails": { + "description": "The details for a billing account transitioned from agreement type Microsoft Online Services Program to agreement type Microsoft Customer Agreement.", + "type": "object", + "properties": { + "transitionDate": { + "format": "date-time", + "description": "The transition completion date.", + "type": "string", + "readOnly": true + }, + "anniversaryDay": { + "format": "int32", + "description": "The anniversary day of the pre-transitioned account of type Microsoft Online Services Program.", + "type": "integer", + "readOnly": true + } + } + } + }, + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingPermission.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingPermission.json new file mode 100644 index 000000000000..40ef0839c93c --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingPermission.json @@ -0,0 +1,830 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermission" + ], + "description": "Lists the billing permissions the caller has on a billing account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingPermissions_ListByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of billingPermissions a caller has on a billing account.", + "schema": { + "$ref": "#/definitions/BillingPermissionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingPermissionsListByBillingAccount": { + "$ref": "./examples/billingPermissionsListByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermission" + ], + "description": "Lists the billing permissions the caller has on a billing profile.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingPermissions_ListByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of billingPermissions a caller has on a billing profile.", + "schema": { + "$ref": "#/definitions/BillingPermissionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingPermissionsListByBillingProfile": { + "$ref": "./examples/billingPermissionsListByBillingProfile.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/checkAccess": { + "post": { + "tags": [ + "BillingPermission" + ], + "description": "Provides a list of check access response objects for a billing profile.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingPermissions_CheckAccessByBillingProfile", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The request object against which access of the caller will be checked.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckAccessRequest" + } + } + ], + "responses": { + "200": { + "description": "The list of check access response objects for a billing profile.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CheckAccessResponse" + }, + "x-ms-identifiers": [] + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CheckAccessByBillingProfile": { + "$ref": "./examples/checkAccessByBillingProfile.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermission" + ], + "description": "Lists the billing permissions the caller has for a customer.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingPermissions_ListByCustomer", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of billingPermissions a caller has on a customer.", + "schema": { + "$ref": "#/definitions/BillingPermissionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingPermissionsListByCustomer": { + "$ref": "./examples/billingPermissionsListByCustomer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/checkAccess": { + "post": { + "tags": [ + "BillingPermission" + ], + "description": "Provides a list of check access response objects for a customer.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingPermissions_CheckAccessByCustomer", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The request object against which access of the caller will be checked.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckAccessRequest" + } + } + ], + "responses": { + "200": { + "description": "The list of check access response objects for a customer.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CheckAccessResponse" + }, + "x-ms-identifiers": [] + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CheckAccessByCustomer": { + "$ref": "./examples/checkAccessByCustomer.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermission" + ], + "description": "Lists the billing permissions the caller has for an invoice section.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingPermissions_ListByInvoiceSection", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of billingPermissions a caller has on an invoice section.", + "schema": { + "$ref": "#/definitions/BillingPermissionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingPermissionsListByInvoiceSection": { + "$ref": "./examples/billingPermissionsListByInvoiceSection.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/checkAccess": { + "post": { + "tags": [ + "BillingPermission" + ], + "description": "Provides a list of check access response objects for an invoice section.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingPermissions_CheckAccessByInvoiceSection", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The request object against which access of the caller will be checked.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckAccessRequest" + } + } + ], + "responses": { + "200": { + "description": "The list of check access response objects for an invoice section.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CheckAccessResponse" + }, + "x-ms-identifiers": [] + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CheckAccessByInvoiceSection": { + "$ref": "./examples/checkAccessByInvoiceSection.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/checkAccess": { + "post": { + "tags": [ + "BillingPermission" + ], + "description": "Provides a list of check access response objects for a billing account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingPermissions_CheckAccessByBillingAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The request object against which access of the caller will be checked.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckAccessRequest" + } + } + ], + "responses": { + "200": { + "description": "The list of check access response objects for a billing account.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CheckAccessResponse" + }, + "x-ms-identifiers": [] + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CheckAccessByBillingAccount": { + "$ref": "./examples/checkAccessByBillingAccount.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermission" + ], + "description": "Lists the billing permissions the caller has for a customer at billing account level.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingPermissions_ListByCustomerAtBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of billingPermissions a caller has on a customer.", + "schema": { + "$ref": "#/definitions/BillingPermissionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingPermissionsListByCustomerAtBillingAccount": { + "$ref": "./examples/billingPermissionsListByCustomerAtBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermission" + ], + "description": "Lists the billing permissions the caller has for a department.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingPermissions_ListByDepartment", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/departmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of billingPermissions a caller has on a department.", + "schema": { + "$ref": "#/definitions/BillingPermissionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingPermissionsListByDepartment": { + "$ref": "./examples/billingPermissionsListByDepartment.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/checkAccess": { + "post": { + "tags": [ + "BillingPermission" + ], + "description": "Provides a list of check access response objects for a department.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingPermissions_CheckAccessByDepartment", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/departmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The request object against which access of the caller will be checked.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckAccessRequest" + } + } + ], + "responses": { + "200": { + "description": "The list of check access response objects for a department.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CheckAccessResponse" + }, + "x-ms-identifiers": [] + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CheckAccessByDepartment": { + "$ref": "./examples/checkAccessByDepartment.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingPermissions": { + "get": { + "tags": [ + "BillingPermission" + ], + "description": "Lists the billing permissions the caller has for an enrollment account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingPermissions_ListByEnrollmentAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/enrollmentAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of billingPermissions a caller has on an enrollment account.", + "schema": { + "$ref": "#/definitions/BillingPermissionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingPermissionsListByEnrollmentAccount": { + "$ref": "./examples/billingPermissionsListByEnrollmentAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/checkAccess": { + "post": { + "tags": [ + "BillingPermission" + ], + "description": "Provides a list of check access response objects for an enrollment account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingPermissions_CheckAccessByEnrollmentAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/enrollmentAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The request object against which access of the caller will be checked.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckAccessRequest" + } + } + ], + "responses": { + "200": { + "description": "The list of check access response objects for an enrollment account.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/CheckAccessResponse" + }, + "x-ms-identifiers": [] + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CheckAccessByEnrollmentAccount": { + "$ref": "./examples/checkAccessByEnrollmentAccount.json" + } + } + } + } + }, + "definitions": { + "BillingPermission": { + "description": "The set of allowed action and not allowed actions a caller has on a resource.", + "type": "object", + "properties": { + "actions": { + "description": "The set of actions that the caller is allowed to perform.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "notActions": { + "description": "The set of actions that the caller is not allowed to perform.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + }, + "readOnly": true + }, + "BillingPermissionListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingPermission" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "CheckAccessRequest": { + "description": "Request to check access.", + "type": "object", + "properties": { + "actions": { + "description": "List of actions passed in the request body against which the permissions will be checked.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + } + } + }, + "CheckAccessResponse": { + "description": "The properties of a check access response.", + "type": "object", + "properties": { + "accessDecision": { + "description": "Access Decision, specifies access is allowed or not.", + "enum": [ + "Other", + "Allowed", + "NotAllowed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AccessDecision", + "modelAsString": true + } + }, + "action": { + "description": "Gets or sets an action.", + "type": "string", + "readOnly": true + } + } + } + }, + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingProfile.json new file mode 100644 index 000000000000..6ae4572c384f --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingProfile.json @@ -0,0 +1,737 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/validateDeleteEligibility": { + "post": { + "tags": [ + "BillingProfile" + ], + "description": "Validates if the billing profile can be deleted. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingProfiles_ValidateDeleteEligibility", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Eligibility to delete a billing profile result.", + "schema": { + "$ref": "#/definitions/DeleteBillingProfileEligibilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingProfilesValidateDeleteEligibilitySuccess": { + "$ref": "./examples/billingProfilesValidateDeleteEligibilitySuccess.json" + }, + "BillingProfilesValidateDeleteEligibilityFailure": { + "$ref": "./examples/billingProfilesValidateDeleteEligibilityFailure.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}": { + "delete": { + "tags": [ + "BillingProfile" + ], + "description": "Deletes a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingProfiles_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "204": { + "description": "The request has succeeded with no response body." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "BillingProfilesDelete": { + "$ref": "./examples/billingProfilesDelete.json" + } + } + }, + "get": { + "tags": [ + "BillingProfile" + ], + "description": "Gets a billing profile by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingProfiles_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A billing profile.", + "schema": { + "$ref": "#/definitions/BillingProfile" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingProfilesGet": { + "$ref": "./examples/billingProfilesGet.json" + } + } + }, + "put": { + "tags": [ + "BillingProfile" + ], + "description": "Creates or updates a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement, Microsoft Partner Agreement and Enterprise Agreement. If you are a MCA Individual (Pay-as-you-go) customer, then please use the Azure portal experience to create the billing profile.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingProfiles_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "A billing profile.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingProfile" + } + } + ], + "responses": { + "200": { + "description": "A billing profile.", + "schema": { + "$ref": "#/definitions/BillingProfile" + } + }, + "201": { + "description": "A billing profile.", + "schema": { + "$ref": "#/definitions/BillingProfile" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "BillingProfilesCreateOrUpdate": { + "$ref": "./examples/billingProfilesCreateOrUpdate.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles": { + "get": { + "tags": [ + "BillingProfile" + ], + "description": "Lists the billing profiles that a user has access to. The operation is supported for billing accounts with agreement of type Microsoft Customer Agreement and Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingProfiles_ListByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "in": "query", + "name": "includeDeleted", + "description": "Can be used to get deleted billing profiles.", + "type": "boolean", + "default": false + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of billing profiles.", + "schema": { + "$ref": "#/definitions/BillingProfileListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingProfilesListByBillingAccount": { + "$ref": "./examples/billingProfilesListByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "BillingProfile": { + "description": "A billing profile.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BillingProfileProperties" + } + }, + "x-ms-azure-resource": true + }, + "BillingProfileListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingProfile" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "BillingProfileProperties": { + "description": "A billing profile.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource during a long-running operation.", + "enum": [ + "Succeeded", + "Canceled", + "Failed", + "New", + "Pending", + "Provisioning" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "billingRelationshipType": { + "description": "Identifies the billing relationship represented by the billing profile. The billing relationship may be between Microsoft, the customer, and/or a third-party.", + "enum": [ + "Other", + "Direct", + "IndirectCustomer", + "IndirectPartner", + "CSPPartner", + "CSPCustomer" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingRelationshipType", + "modelAsString": true + } + }, + "billTo": { + "description": "Billing address.", + "allOf": [ + { + "$ref": "./types.json#/definitions/AddressDetails" + } + ] + }, + "currency": { + "description": "The currency in which the charges for the billing profile are billed.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "The name of the billing profile.", + "type": "string" + }, + "enabledAzurePlans": { + "description": "Information about the enabled azure plans.", + "type": "array", + "items": { + "$ref": "./types.json#/definitions/AzurePlan" + }, + "x-ms-identifiers": [] + }, + "hasReadAccess": { + "description": "Indicates whether user has read access to the billing profile.", + "type": "boolean", + "readOnly": true + }, + "indirectRelationshipInfo": { + "description": "Identifies the billing profile that is linked to another billing profile in indirect purchase motion.", + "allOf": [ + { + "$ref": "./types.json#/definitions/IndirectRelationshipInfo" + } + ] + }, + "invoiceDay": { + "format": "int32", + "description": "The day of the month when the invoice for the billing profile is generated.", + "type": "integer", + "readOnly": true + }, + "invoiceEmailOptIn": { + "description": "Flag controlling whether the invoices for the billing profile are sent through email.", + "type": "boolean" + }, + "invoiceRecipients": { + "description": "The list of email addresses to receive invoices by email for the billing profile.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "poNumber": { + "description": "The default purchase order number that will appear on the invoices generated for the billing profile.", + "type": "string" + }, + "shipTo": { + "description": "The default address where the products are shipped, or the services are being used. If a ship to is not specified for a product or a subscription, then this address will be used.", + "allOf": [ + { + "$ref": "./types.json#/definitions/AddressDetails" + } + ] + }, + "soldTo": { + "description": "The address of the individual or organization that is responsible for the billing account.", + "allOf": [ + { + "$ref": "./types.json#/definitions/AddressDetails" + } + ] + }, + "spendingLimit": { + "description": "The billing profile spending limit.", + "enum": [ + "Off", + "On" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SpendingLimit", + "modelAsString": true + } + }, + "spendingLimitDetails": { + "description": "The details of billing profile spending limit.", + "type": "array", + "items": { + "$ref": "#/definitions/SpendingLimitDetails" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "status": { + "description": "The status of the billing profile.", + "enum": [ + "Other", + "Active", + "Disabled", + "Warned", + "Deleted", + "UnderReview" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileStatus", + "modelAsString": true + } + }, + "statusReasonCode": { + "description": "Reason for the specified billing profile status.", + "enum": [ + "Other", + "PastDue", + "UnusualActivity", + "SpendingLimitReached", + "SpendingLimitExpired" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileStatusReasonCode", + "modelAsString": true + } + }, + "systemId": { + "description": "The system generated unique identifier for a billing profile.", + "type": "string", + "readOnly": true + }, + "tags": { + "description": "Dictionary of metadata associated with the resource. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \\ ? /", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "targetClouds": { + "description": "Identifies the cloud environments that are associated with a billing profile. This is a system managed optional field and gets updated as the billing profile gets associated with accounts in various clouds.", + "type": "array", + "items": { + "description": "Identifies the cloud environments that are associated with an invoice section. This is a system managed optional field and gets updated as the invoice section gets associated with accounts in various clouds.", + "enum": [ + "Other", + "Internal", + "USGov", + "USNat", + "USSec" + ], + "type": "string", + "x-ms-enum": { + "name": "TargetCloud", + "modelAsString": true + } + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "currentPaymentTerm": { + "description": "The current payment term of the billing profile.", + "allOf": [ + { + "$ref": "#/definitions/PaymentTerm" + } + ] + }, + "otherPaymentTerms": { + "description": "The other payment terms of the billing profile.", + "type": "array", + "items": { + "$ref": "#/definitions/PaymentTerm" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "DeleteBillingProfileEligibilityDetail": { + "description": "Validation details of delete billing profile eligibility.", + "type": "object", + "properties": { + "code": { + "description": "Code of the delete invoice section eligibility response.", + "enum": [ + "None", + "ActiveCredits", + "ActiveCreditCard", + "LastBillingProfile", + "NotSupported", + "OutstandingCharges", + "PendingCharges", + "ReservedInstances", + "ActiveBillingSubscriptions" + ], + "type": "string", + "x-ms-enum": { + "name": "DeleteBillingProfileEligibilityCode", + "modelAsString": true + } + }, + "message": { + "description": "Validation message.", + "type": "string" + } + } + }, + "DeleteBillingProfileEligibilityResult": { + "description": "Eligibility to delete a billing profile result.", + "type": "object", + "properties": { + "eligibilityStatus": { + "description": "Status describing if billing profile is eligible to be deleted.", + "enum": [ + "Allowed", + "NotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "DeleteBillingProfileEligibilityStatus", + "modelAsString": true + } + }, + "eligibilityDetails": { + "description": "Validation details of delete billing profile eligibility.", + "type": "array", + "items": { + "$ref": "#/definitions/DeleteBillingProfileEligibilityDetail" + }, + "x-ms-identifiers": [] + } + } + }, + "PaymentTerm": { + "description": "The properties of payment term.", + "type": "object", + "properties": { + "term": { + "description": "Represents duration in netXX format. Always in days.", + "type": "string" + }, + "startDate": { + "format": "date-time", + "description": "The date on when the defined 'Payment Term' will be effective from and is always in UTC.", + "type": "string" + }, + "endDate": { + "format": "date-time", + "description": "The date on when the defined 'Payment Term' will end and is always in UTC.", + "type": "string" + }, + "isDefault": { + "description": "Indicates payment term is the standard payment term.", + "type": "boolean", + "readOnly": true + } + } + }, + "SpendingLimitDetails": { + "description": "The billing profile spending limit.", + "type": "object", + "properties": { + "amount": { + "description": "The initial amount for the billing profile.", + "type": "number" + }, + "currency": { + "description": "The currency in which the charges for the billing profile are billed.", + "type": "string" + }, + "startDate": { + "format": "date-time", + "description": "The date when this spending limit goes into effect.", + "type": "string" + }, + "endDate": { + "format": "date-time", + "description": "The date when this spending limit is no longer in effect.", + "type": "string" + }, + "type": { + "description": "The type of spending limit.", + "enum": [ + "Other", + "None", + "FreeAccount", + "Sandbox", + "AzureForStudents", + "AcademicSponsorship", + "AzureConsumptionCredit", + "AzurePassSponsorship", + "MpnSponsorship", + "MSDN", + "NonProfitSponsorship", + "Sponsorship", + "StartupSponsorship", + "AzureForStudentsStarter", + "VisualStudio" + ], + "type": "string", + "x-ms-enum": { + "name": "SpendingLimitType", + "modelAsString": true + } + }, + "status": { + "description": "The status of current spending limit.", + "enum": [ + "Other", + "None", + "Active", + "Expired", + "LimitReached", + "LimitRemoved" + ], + "type": "string", + "x-ms-enum": { + "name": "SpendingLimitStatus", + "modelAsString": true + } + } + } + } + }, + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingProperty.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingProperty.json new file mode 100644 index 000000000000..1f9b8fda1c9b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingProperty.json @@ -0,0 +1,694 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingProperty/default": { + "get": { + "tags": [ + "BillingProperty" + ], + "description": "Gets the billing properties for a subscription", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingProperty_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/subscriptionId" + }, + { + "in": "query", + "name": "includeBillingCountry", + "description": "A flag that specifies whether or not to include billing country.", + "type": "boolean", + "default": false + }, + { + "in": "query", + "name": "includeTransitionStatus", + "description": "A flag that specifies whether or not to include transition status for billing accounts with agreement type Microsoft Customer Agreement.", + "type": "boolean", + "default": false + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A billing property.", + "schema": { + "$ref": "#/definitions/BillingProperty" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingPropertyGetMCA": { + "$ref": "./examples/billingPropertyGetMCA.json" + }, + "BillingPropertyGetMOSP": { + "$ref": "./examples/billingPropertyGetMOSP.json" + }, + "BillingPropertyGetMPA": { + "$ref": "./examples/billingPropertyGetMPA.json" + } + } + }, + "patch": { + "tags": [ + "BillingProperty" + ], + "description": "Updates the billing property of a subscription. Currently, cost center can be updated for billing accounts with agreement type Microsoft Customer Agreement and subscription service usage address can be updated for billing accounts with agreement type Microsoft Online Service Program.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingProperty_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/subscriptionId" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "A billing property.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingProperty" + } + } + ], + "responses": { + "200": { + "description": "A billing property.", + "schema": { + "$ref": "#/definitions/BillingProperty" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingPropertyPatchCostCenter": { + "$ref": "./examples/billingPropertyPatchCostCenter.json" + }, + "BillingPropertyPatchSubscriptionServiceUsageAddress": { + "$ref": "./examples/billingPropertyPatchSubscriptionServiceUsageAddress.json" + } + } + } + } + }, + "definitions": { + "BillingProperty": { + "description": "A billing property.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BillingPropertyProperties" + } + }, + "x-ms-azure-resource": true + }, + "BillingPropertyProperties": { + "description": "A billing property.", + "type": "object", + "properties": { + "billingAccountAgreementType": { + "description": "The type of agreement.", + "enum": [ + "Other", + "MicrosoftCustomerAgreement", + "EnterpriseAgreement", + "MicrosoftOnlineServicesProgram", + "MicrosoftPartnerAgreement" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AgreementType", + "modelAsString": true + } + }, + "billingAccountDisplayName": { + "description": "The name of the billing account.", + "type": "string", + "readOnly": true + }, + "billingAccountId": { + "description": "The fully qualified ID that uniquely identifies a billing account.", + "type": "string", + "readOnly": true + }, + "accountAdminNotificationEmailAddress": { + "description": "Notification email address for legacy account. Available for agreement type Microsoft Online Services Program.", + "type": "string", + "readOnly": true + }, + "billingAccountSoldToCountry": { + "description": "The country of the individual or organization that is responsible for the billing account.", + "type": "string", + "readOnly": true + }, + "billingAccountStatus": { + "description": "The current status of the billing account.", + "enum": [ + "Other", + "Active", + "UnderReview", + "Disabled", + "Deleted", + "Extended", + "Pending", + "New", + "Expired", + "Terminated", + "Transferred" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AccountStatus", + "modelAsString": true + } + }, + "billingAccountStatusReasonCode": { + "description": "Reason for the specified billing account status.", + "enum": [ + "Other", + "UnusualActivity", + "ManuallyTerminated", + "Expired", + "Transferred", + "TerminateProcessing" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingAccountStatusReasonCode", + "modelAsString": true + } + }, + "billingAccountType": { + "description": "The type of customer.", + "enum": [ + "Other", + "Enterprise", + "Individual", + "Partner", + "Reseller", + "ClassicPartner", + "Internal", + "Tenant", + "Business" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AccountType", + "modelAsString": true + } + }, + "billingAccountSubType": { + "description": "The tier of the account.", + "enum": [ + "Other", + "None", + "Individual", + "Professional", + "Enterprise" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AccountSubType", + "modelAsString": true + } + }, + "billingCurrency": { + "description": "The billing currency for the subscription. Available for billing accounts with agreement type Enterprise Agreement", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The fully qualified ID that uniquely identifies a billing profile.", + "type": "string", + "readOnly": true + }, + "billingProfileSpendingLimit": { + "description": "The billing profile spending limit.", + "enum": [ + "Off", + "On" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SpendingLimit", + "modelAsString": true + } + }, + "billingProfileSpendingLimitDetails": { + "description": "The details of billing profile spending limit.", + "type": "array", + "items": { + "$ref": "#/definitions/SpendingLimitDetails" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "billingProfileStatus": { + "description": "The status of the billing profile.", + "enum": [ + "Other", + "Active", + "Disabled", + "Warned", + "Deleted", + "UnderReview" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileStatus", + "modelAsString": true + } + }, + "billingProfileStatusReasonCode": { + "description": "Reason for the specified billing profile status.", + "enum": [ + "Other", + "PastDue", + "UnusualActivity", + "SpendingLimitReached", + "SpendingLimitExpired" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingProfileStatusReasonCode", + "modelAsString": true + } + }, + "billingProfilePaymentMethodFamily": { + "description": "The payment method family of the primary payment method for the billing profile.", + "enum": [ + "Other", + "None", + "CreditCard", + "Credits", + "CheckWire", + "EWallet", + "TaskOrder", + "DirectDebit" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PaymentMethodFamily", + "modelAsString": true + } + }, + "billingProfilePaymentMethodType": { + "description": "The payment method type of the primary payment method for the billing profile.", + "type": "string", + "readOnly": true + }, + "billingTenantId": { + "description": "The Azure AD tenant ID of the billing account for the subscription.", + "type": "string", + "readOnly": true + }, + "costCenter": { + "description": "The cost center applied to the subscription. Available for agreement type Microsoft Customer Agreement and Microsoft Partner Agreement. This property can be updated via patch.", + "type": "string" + }, + "customerDisplayName": { + "description": "The name of the customer.", + "type": "string", + "readOnly": true + }, + "customerId": { + "description": "The fully qualified ID that uniquely identifies a customer.", + "type": "string", + "readOnly": true + }, + "customerStatus": { + "description": "Identifies the status of an customer. This is an upcoming property that will be populated in the future.", + "enum": [ + "Other", + "Active", + "Pending", + "Disabled", + "Warned", + "Deleted", + "UnderReview" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CustomerStatus", + "modelAsString": true + } + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section.", + "type": "string", + "readOnly": true + }, + "invoiceSectionId": { + "description": "The fully qualified ID that uniquely identifies an invoice section.", + "type": "string", + "readOnly": true + }, + "invoiceSectionStatus": { + "description": "Identifies the status of an invoice section.", + "enum": [ + "Other", + "Active", + "Deleted", + "Disabled", + "UnderReview", + "Warned", + "Restricted" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceSectionState", + "modelAsString": true + } + }, + "invoiceSectionStatusReasonCode": { + "description": "Reason for the specified invoice section status.", + "enum": [ + "Other", + "PastDue", + "UnusualActivity", + "SpendingLimitReached", + "SpendingLimitExpired" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceSectionStateReasonCode", + "modelAsString": true + } + }, + "isTransitionedBillingAccount": { + "description": "Specifies if the billing account for the subscription is transitioned from a Microsoft Online Service Program to a Microsoft Customer Agreement (MCA) account. Will be present and value will be true if its a transitioned billing account.", + "type": "boolean", + "readOnly": true + }, + "skuDescription": { + "description": "The sku description.", + "type": "string", + "readOnly": true + }, + "skuId": { + "description": "The ID that uniquely identifies a sku.", + "type": "string", + "readOnly": true + }, + "subscriptionBillingStatus": { + "description": "The subscription status.", + "enum": [ + "Other", + "Unknown", + "Active", + "Disabled", + "Deleted", + "Warned", + "Expiring", + "Expired", + "AutoRenew", + "Cancelled", + "Suspended", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingSubscriptionStatus", + "modelAsString": true + } + }, + "subscriptionBillingStatusDetails": { + "description": "The reason codes for the subscription status.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingSubscriptionStatusDetails" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "subscriptionBillingType": { + "description": "The type of billing subscription.", + "enum": [ + "None", + "Benefit", + "Free", + "Paid", + "PrePaid" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SubscriptionBillingType", + "modelAsString": true + } + }, + "subscriptionServiceUsageAddress": { + "description": "The address of the individual or organization where service subscription is being used. Available for agreement type Microsoft Online Services Program. This property can be updated via patch.", + "allOf": [ + { + "$ref": "./types.json#/definitions/AddressDetails" + } + ] + }, + "subscriptionWorkloadType": { + "description": "The Azure workload type of the subscription.", + "enum": [ + "None", + "Production", + "DevTest", + "Internal" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SubscriptionWorkloadType", + "modelAsString": true + } + }, + "enrollmentDetails": { + "description": "The enrollment details for the subscription. Available for billing accounts with agreement type Enterprise Agreement.", + "allOf": [ + { + "$ref": "#/definitions/SubscriptionEnrollmentDetails" + } + ] + }, + "isAccountAdmin": { + "description": "Indicates whether user is the account admin.", + "type": "boolean", + "readOnly": true + }, + "productId": { + "description": "The ID that uniquely identifies a product.", + "type": "string", + "readOnly": true + }, + "productName": { + "description": "The ID that uniquely identifies a product.", + "type": "string", + "readOnly": true + } + } + }, + "BillingSubscriptionStatusDetails": { + "description": "The suspension details for a subscription. This field is not available for Enterprise Agreement billing accounts.", + "type": "object", + "properties": { + "effectiveDate": { + "format": "date-time", + "description": "The suspension effective date for a subscription. This field is not available for Enterprise Agreement billing accounts.", + "type": "string", + "readOnly": true + }, + "reason": { + "description": "The suspension reason for a subscription. This field is not available for Enterprise Agreement billing accounts.", + "enum": [ + "None", + "Cancelled", + "PastDue", + "SuspiciousActivity", + "Other", + "Transferred", + "PolicyViolation", + "SpendingLimitReached", + "Expired" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SubscriptionStatusReason", + "modelAsString": true + } + } + } + }, + "SpendingLimitDetails": { + "description": "The billing profile spending limit.", + "type": "object", + "properties": { + "amount": { + "description": "The initial amount for the billing profile.", + "type": "number" + }, + "currency": { + "description": "The currency in which the charges for the billing profile are billed.", + "type": "string" + }, + "startDate": { + "format": "date-time", + "description": "The date when this spending limit goes into effect.", + "type": "string" + }, + "endDate": { + "format": "date-time", + "description": "The date when this spending limit is no longer in effect.", + "type": "string" + }, + "type": { + "description": "The type of spending limit.", + "enum": [ + "Other", + "None", + "FreeAccount", + "Sandbox", + "AzureForStudents", + "AcademicSponsorship", + "AzureConsumptionCredit", + "AzurePassSponsorship", + "MpnSponsorship", + "MSDN", + "NonProfitSponsorship", + "Sponsorship", + "StartupSponsorship", + "AzureForStudentsStarter", + "VisualStudio" + ], + "type": "string", + "x-ms-enum": { + "name": "SpendingLimitType", + "modelAsString": true + } + }, + "status": { + "description": "The status of current spending limit.", + "enum": [ + "Other", + "None", + "Active", + "Expired", + "LimitReached", + "LimitRemoved" + ], + "type": "string", + "x-ms-enum": { + "name": "SpendingLimitStatus", + "modelAsString": true + } + } + } + }, + "SubscriptionEnrollmentDetails": { + "description": "The enrollment details for the subscription. Available for billing accounts with agreement type Enterprise Agreement.", + "type": "object", + "properties": { + "departmentDisplayName": { + "description": "The name of the department", + "type": "string" + }, + "departmentId": { + "description": "The ID that uniquely identifies the department.", + "type": "string" + }, + "enrollmentAccountStatus": { + "description": "The status of the enrollment account.", + "type": "string" + }, + "enrollmentAccountDisplayName": { + "description": "The name of the enrollment account.", + "type": "string" + }, + "enrollmentAccountId": { + "description": "The ID that uniquely identifies an enrollment account.", + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingRequest.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingRequest.json new file mode 100644 index 000000000000..cbae8bca1ac8 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingRequest.json @@ -0,0 +1,751 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRequests": { + "get": { + "tags": [ + "BillingRequest" + ], + "description": "The list of billing requests submitted for the billing profile.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRequests_ListByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of billing requests.", + "schema": { + "$ref": "#/definitions/BillingRequestListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRequestsListByBillingProfile": { + "$ref": "./examples/billingRequestsListByBillingProfile.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/billingRequests": { + "get": { + "tags": [ + "BillingRequest" + ], + "description": "The list of billing requests submitted for the customer.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRequests_ListByCustomer", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of billing requests.", + "schema": { + "$ref": "#/definitions/BillingRequestListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRequestsListByCustomer": { + "$ref": "./examples/billingRequestsListByCustomer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRequests": { + "get": { + "tags": [ + "BillingRequest" + ], + "description": "The list of billing requests submitted for the invoice section.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRequests_ListByInvoiceSection", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of billing requests.", + "schema": { + "$ref": "#/definitions/BillingRequestListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRequestsListByInvoiceSection": { + "$ref": "./examples/billingRequestsListByInvoiceSection.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRequests": { + "get": { + "tags": [ + "BillingRequest" + ], + "description": "The list of billing requests submitted for the billing account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRequests_ListByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of billing requests.", + "schema": { + "$ref": "#/definitions/BillingRequestListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRequestsListByBillingAccount": { + "$ref": "./examples/billingRequestsListByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingRequests/{billingRequestName}": { + "get": { + "tags": [ + "BillingRequest" + ], + "description": "Gets a billing request by its ID.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRequests_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingRequestName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A request submitted by a user to manage billing. Users with an owner role on the scope can approve or decline these requests.", + "schema": { + "$ref": "#/definitions/BillingRequest" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRequestsGet": { + "$ref": "./examples/billingRequestsGet.json" + } + } + }, + "put": { + "tags": [ + "BillingRequest" + ], + "description": "Create or update a billing request.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRequests_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingRequestName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "A request submitted by a user to manage billing. Users with an owner role on the scope can approve or decline these requests.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingRequest" + } + } + ], + "responses": { + "200": { + "description": "A request submitted by a user to manage billing. Users with an owner role on the scope can approve or decline these requests.", + "schema": { + "$ref": "#/definitions/BillingRequest" + } + }, + "201": { + "description": "A request submitted by a user to manage billing. Users with an owner role on the scope can approve or decline these requests.", + "schema": { + "$ref": "#/definitions/BillingRequest" + }, + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "BillingRequestsCreateOrUpdate": { + "$ref": "./examples/billingRequestsCreateOrUpdate.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingRequests": { + "get": { + "tags": [ + "BillingRequest" + ], + "description": "The list of billing requests submitted by a user.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRequests_ListByUser", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of billing requests.", + "schema": { + "$ref": "#/definitions/BillingRequestListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRequestsListByUser": { + "$ref": "./examples/billingRequestsListByUser.json" + }, + "BillingRequestsListByUserWithFilter": { + "$ref": "./examples/billingRequestsListByUserWithFilter.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "BillingRequest": { + "description": "A request submitted by a user to manage billing. Users with an owner role on the scope can approve or decline these requests.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BillingRequestProperties" + } + }, + "x-ms-azure-resource": true + }, + "BillingRequestListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingRequest" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "BillingRequestProperties": { + "description": "A request submitted by a user to manage billing. Users with an owner role on the scope can approve or decline these requests.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource during a long-running operation.", + "enum": [ + "Succeeded", + "Canceled", + "Failed", + "New", + "Pending", + "Provisioning" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "additionalInformation": { + "description": "Additional information for the billing request.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "reviewedBy": { + "description": "The principal of the request reviewer. Will only be set if request is approved.", + "allOf": [ + { + "$ref": "#/definitions/Principal" + } + ] + }, + "reviewalDate": { + "format": "date-time", + "description": "The date and time when the request was reviewed.", + "type": "string", + "readOnly": true + }, + "billingAccountId": { + "description": "The fully qualified ID that uniquely identifies a billing account.", + "type": "string", + "readOnly": true + }, + "billingAccountName": { + "description": "The ID that uniquely identifies a billing account.", + "type": "string", + "readOnly": true + }, + "billingAccountDisplayName": { + "description": "The name of the billing account.", + "type": "string", + "readOnly": true + }, + "billingAccountPrimaryBillingTenantId": { + "description": "The primary tenant ID of the billing account for which the billing request was submitted.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The fully qualified ID that uniquely identifies a billing profile.", + "type": "string", + "readOnly": true + }, + "billingProfileName": { + "description": "The ID that uniquely identifies a billing profile.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile.", + "type": "string", + "readOnly": true + }, + "createdBy": { + "description": "The principal of the entity who created the request.", + "allOf": [ + { + "$ref": "#/definitions/Principal" + } + ] + }, + "creationDate": { + "format": "date-time", + "description": "The date and time when the request was created.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "format": "date-time", + "description": "The date and time when the request expires.", + "type": "string", + "readOnly": true + }, + "decisionReason": { + "description": "The reason to approve or decline the request.", + "type": "string" + }, + "invoiceSectionId": { + "description": "The fully qualified ID that uniquely identifies an invoice section.", + "type": "string", + "readOnly": true + }, + "invoiceSectionName": { + "description": "The ID that uniquely identifies an invoice section.", + "type": "string", + "readOnly": true + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section.", + "type": "string", + "readOnly": true + }, + "customerId": { + "description": "The fully qualified ID that uniquely identifies a customer.", + "type": "string", + "readOnly": true + }, + "customerName": { + "description": "The ID that uniquely identifies a customer.", + "type": "string", + "readOnly": true + }, + "customerDisplayName": { + "description": "The name of the customer.", + "type": "string", + "readOnly": true + }, + "subscriptionId": { + "description": "The fully qualified ID that uniquely identifies a billing subscription.", + "type": "string", + "readOnly": true + }, + "subscriptionName": { + "description": "The ID that uniquely identifies a billing subscription.", + "type": "string", + "readOnly": true + }, + "subscriptionDisplayName": { + "description": "The name of the billing subscription.", + "type": "string", + "readOnly": true + }, + "justification": { + "description": "Justification for submitting request.", + "type": "string" + }, + "recipients": { + "description": "The recipients of the billing request.", + "type": "array", + "items": { + "$ref": "#/definitions/Principal" + }, + "x-ms-identifiers": [] + }, + "requestScope": { + "description": "The billing scope for which the request was submitted (ex. '/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}').", + "type": "string" + }, + "billingScope": { + "description": "The billing scope for which the request will be applied. This is a read only property derived by the service.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Status of billing request.", + "enum": [ + "Other", + "Pending", + "Approved", + "Declined", + "Cancelled", + "Completed", + "Expired" + ], + "type": "string", + "x-ms-enum": { + "name": "BillingRequestStatus", + "modelAsString": true + } + }, + "type": { + "description": "Type of billing request.", + "enum": [ + "Other", + "InvoiceAccess", + "ProvisioningAccess", + "RoleAssignment", + "UpdateBillingPolicy" + ], + "type": "string", + "x-ms-enum": { + "name": "BillingRequestType", + "modelAsString": true + } + }, + "lastUpdatedBy": { + "description": "The principal of the entity who last updated the request.", + "allOf": [ + { + "$ref": "#/definitions/Principal" + } + ] + }, + "lastUpdatedDate": { + "format": "date-time", + "description": "Date and time of last update.", + "type": "string", + "readOnly": true + } + } + }, + "Principal": { + "description": "A principal who has interacted with a billing entity.", + "type": "object", + "properties": { + "tenantId": { + "description": "The tenant id of the principal who has interacted with a billing entity.", + "type": "string" + }, + "objectId": { + "description": "The object id of the principal who has interacted with a billing entity.", + "type": "string" + }, + "upn": { + "description": "The user principal name of the principal who has interacted with a billing entity.", + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingRoleAssignment.json new file mode 100644 index 000000000000..8f0211bf1a08 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingRoleAssignment.json @@ -0,0 +1,1953 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "delete": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Deletes a role assignment on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_DeleteByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/billingRoleAssignmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "204": { + "description": "The request has succeeded with no response body." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentDeleteByBillingProfile": { + "$ref": "./examples/billingRoleAssignmentDeleteByBillingProfile.json" + } + } + }, + "get": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Gets a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_GetByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/billingRoleAssignmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentGetByBillingProfile": { + "$ref": "./examples/billingRoleAssignmentGetByBillingProfile.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments": { + "get": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Lists the role assignments for the caller on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_ListByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + } + ], + "responses": { + "200": { + "description": "The list of the billing role assignments.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentListByBillingProfile": { + "$ref": "./examples/billingRoleAssignmentListByBillingProfile.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/createBillingRoleAssignment": { + "post": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Adds a role assignment on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_CreateByBillingProfile", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The properties of the billing role assignment.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentProperties" + } + } + ], + "responses": { + "200": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "202": { + "description": "The properties of the billing role assignment.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "BillingRoleAssignmentCreateByBillingProfile": { + "$ref": "./examples/billingRoleAssignmentCreateByBillingProfile.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "delete": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Deletes a role assignment on a customer. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_DeleteByCustomer", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/billingRoleAssignmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "204": { + "description": "The request has succeeded with no response body." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentDeleteByCustomer": { + "$ref": "./examples/billingRoleAssignmentDeleteByCustomer.json" + } + } + }, + "get": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Gets a role assignment for the caller on a customer. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_GetByCustomer", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/billingRoleAssignmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentGetByCustomer": { + "$ref": "./examples/billingRoleAssignmentGetByCustomer.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/billingRoleAssignments": { + "get": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Lists the role assignments for the caller on customer. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_ListByCustomer", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + } + ], + "responses": { + "200": { + "description": "The list of the billing role assignments.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentListByCustomer": { + "$ref": "./examples/billingRoleAssignmentListByCustomer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/createBillingRoleAssignment": { + "post": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Adds a role assignment on a customer. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_CreateByCustomer", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The properties of the billing role assignment.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentProperties" + } + } + ], + "responses": { + "200": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "202": { + "description": "The properties of the billing role assignment.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "BillingRoleAssignmentCreateByCustomer": { + "$ref": "./examples/billingRoleAssignmentCreateByCustomer.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/resolveBillingRoleAssignments": { + "post": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Lists the role assignments for the caller on a customer while fetching user info for each role assignment. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_ResolveByCustomer", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "in": "query", + "name": "resolveScopeDisplayNames", + "description": "Resolves the scope display name for each of the role assignments.", + "type": "boolean", + "default": false + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + } + ], + "responses": { + "200": { + "description": "The list of the billing role assignments.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentListResult" + } + }, + "202": { + "description": "The list of the billing role assignments.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "ResolveBillingRoleAssignmentByCustomer": { + "$ref": "./examples/resolveBillingRoleAssignmentByCustomer.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "delete": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Deletes a role assignment on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_DeleteByInvoiceSection", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "./types.json#/parameters/billingRoleAssignmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "204": { + "description": "The request has succeeded with no response body." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentDeleteByInvoiceSection": { + "$ref": "./examples/billingRoleAssignmentDeleteByInvoiceSection.json" + } + } + }, + "get": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Gets a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_GetByInvoiceSection", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "./types.json#/parameters/billingRoleAssignmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentGetByInvoiceSection": { + "$ref": "./examples/billingRoleAssignmentGetByInvoiceSection.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments": { + "get": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Lists the role assignments for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_ListByInvoiceSection", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + } + ], + "responses": { + "200": { + "description": "The list of the billing role assignments.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentListByInvoiceSection": { + "$ref": "./examples/billingRoleAssignmentListByInvoiceSection.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/createBillingRoleAssignment": { + "post": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Adds a role assignment on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_CreateByInvoiceSection", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The properties of the billing role assignment.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentProperties" + } + } + ], + "responses": { + "200": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "202": { + "description": "The properties of the billing role assignment.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "BillingRoleAssignmentCreateByInvoiceSection": { + "$ref": "./examples/billingRoleAssignmentCreateByInvoiceSection.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/resolveBillingRoleAssignments": { + "post": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Lists the role assignments for the caller on an invoice section while fetching user info for each role assignment. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_ResolveByInvoiceSection", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "in": "query", + "name": "resolveScopeDisplayNames", + "description": "Resolves the scope display name for each of the role assignments.", + "type": "boolean", + "default": false + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + } + ], + "responses": { + "200": { + "description": "The list of the billing role assignments.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentListResult" + } + }, + "202": { + "description": "The list of the billing role assignments.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "ResolveBillingRoleAssignmentByInvoiceSection": { + "$ref": "./examples/resolveBillingRoleAssignmentByInvoiceSection.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/resolveBillingRoleAssignments": { + "post": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Lists the role assignments for the caller on an billing profile while fetching user info for each role assignment. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_ResolveByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "in": "query", + "name": "resolveScopeDisplayNames", + "description": "Resolves the scope display name for each of the role assignments.", + "type": "boolean", + "default": false + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + } + ], + "responses": { + "200": { + "description": "The list of the billing role assignments.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentListResult" + } + }, + "202": { + "description": "The list of the billing role assignments.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "ResolveBillingRoleAssignmentByBillingProfile": { + "$ref": "./examples/resolveBillingRoleAssignmentByBillingProfile.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "delete": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Deletes a role assignment on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement, Microsoft Customer Agreement or Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_DeleteByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingRoleAssignmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "204": { + "description": "The request has succeeded with no response body." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentDeleteByBillingAccount": { + "$ref": "./examples/billingRoleAssignmentDeleteByBillingAccount.json" + } + } + }, + "get": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Gets a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement, Microsoft Customer Agreement or Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_GetByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingRoleAssignmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentGetByBillingAccount": { + "$ref": "./examples/billingRoleAssignmentGetByBillingAccount.json" + } + } + }, + "put": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Create or update a billing role assignment. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_CreateOrUpdateByBillingAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingRoleAssignmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The properties of the billing role assignment.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + } + ], + "responses": { + "200": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "201": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + }, + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BillingRoleAssignmentCreateOrUpdateByBillingAccount": { + "$ref": "./examples/billingRoleAssignmentCreateOrUpdateByBillingAccount.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments": { + "get": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Lists the role assignments for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement, Microsoft Customer Agreement or Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_ListByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + } + ], + "responses": { + "200": { + "description": "The list of the billing role assignments.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentListByBillingAccount": { + "$ref": "./examples/billingRoleAssignmentListByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/createBillingRoleAssignment": { + "post": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Adds a role assignment on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_CreateByBillingAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The properties of the billing role assignment.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentProperties" + } + } + ], + "responses": { + "200": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "202": { + "description": "The properties of the billing role assignment.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "BillingRoleAssignmentCreateByBillingAccount": { + "$ref": "./examples/billingRoleAssignmentCreateByBillingAccount.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "delete": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Deletes a role assignment on a department. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_DeleteByDepartment", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/departmentName" + }, + { + "$ref": "./types.json#/parameters/billingRoleAssignmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "204": { + "description": "The request has succeeded with no response body." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentDeleteByDepartment": { + "$ref": "./examples/billingRoleAssignmentDeleteByDepartment.json" + } + } + }, + "get": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Gets a role assignment for the caller on a department. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_GetByDepartment", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/departmentName" + }, + { + "$ref": "./types.json#/parameters/billingRoleAssignmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentGetByDepartment": { + "$ref": "./examples/billingRoleAssignmentGetByDepartment.json" + } + } + }, + "put": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Create or update a billing role assignment. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_CreateOrUpdateByDepartment", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/departmentName" + }, + { + "$ref": "./types.json#/parameters/billingRoleAssignmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The properties of the billing role assignment.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + } + ], + "responses": { + "200": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "201": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + }, + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BillingRoleAssignmentCreateOrUpdateByDepartment": { + "$ref": "./examples/billingRoleAssignmentCreateOrUpdateByDepartment.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingRoleAssignments": { + "get": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Lists the role assignments for the caller on a department. The operation is supported for billing accounts of type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_ListByDepartment", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/departmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of the billing role assignments.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentListByDepartment": { + "$ref": "./examples/billingRoleAssignmentListByDepartment.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleAssignments/{billingRoleAssignmentName}": { + "delete": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Deletes a role assignment on a enrollment Account. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_DeleteByEnrollmentAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/enrollmentAccountName" + }, + { + "$ref": "./types.json#/parameters/billingRoleAssignmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "204": { + "description": "The request has succeeded with no response body." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentDeleteByEnrollmentAccount": { + "$ref": "./examples/billingRoleAssignmentDeleteByEnrollmentAccount.json" + } + } + }, + "get": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Gets a role assignment for the caller on a enrollment Account. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_GetByEnrollmentAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/enrollmentAccountName" + }, + { + "$ref": "./types.json#/parameters/billingRoleAssignmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentGetByEnrollmentAccount": { + "$ref": "./examples/billingRoleAssignmentGetByEnrollmentAccount.json" + } + } + }, + "put": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Create or update a billing role assignment. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_CreateOrUpdateByEnrollmentAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/enrollmentAccountName" + }, + { + "$ref": "./types.json#/parameters/billingRoleAssignmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The properties of the billing role assignment.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + } + ], + "responses": { + "200": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + } + }, + "201": { + "description": "The properties of the billing role assignment.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignment" + }, + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "BillingRoleAssignmentCreateOrUpdateByEnrollmentAccount": { + "$ref": "./examples/billingRoleAssignmentCreateOrUpdateByEnrollmentAccount.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleAssignments": { + "get": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Lists the role assignments for the caller on a enrollment account. The operation is supported for billing accounts of type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_ListByEnrollmentAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/enrollmentAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of the billing role assignments.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleAssignmentListByEnrollmentAccount": { + "$ref": "./examples/billingRoleAssignmentListByEnrollmentAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/resolveBillingRoleAssignments": { + "post": { + "tags": [ + "BillingRoleAssignment" + ], + "description": "Lists the role assignments for the caller on a billing account while fetching user info for each role assignment. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement, Microsoft Customer Agreement or Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleAssignments_ResolveByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "in": "query", + "name": "resolveScopeDisplayNames", + "description": "Resolves the scope display name for each of the role assignments.", + "type": "boolean", + "default": false + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + } + ], + "responses": { + "200": { + "description": "The list of the billing role assignments.", + "schema": { + "$ref": "#/definitions/BillingRoleAssignmentListResult" + } + }, + "202": { + "description": "The list of the billing role assignments.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "ResolveBillingRoleAssignmentByBillingAccount": { + "$ref": "./examples/resolveBillingRoleAssignmentByBillingAccount.json" + } + } + } + } + }, + "definitions": { + "BillingRoleAssignment": { + "description": "The properties of the billing role assignment.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BillingRoleAssignmentProperties" + } + }, + "x-ms-azure-resource": true + }, + "BillingRoleAssignmentListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingRoleAssignment" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "BillingRoleAssignmentProperties": { + "description": "The properties of the billing role assignment.", + "required": [ + "roleDefinitionId" + ], + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource during a long-running operation.", + "enum": [ + "Succeeded", + "Canceled", + "Failed", + "New", + "Pending", + "Provisioning" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "createdOn": { + "format": "date-time", + "description": "The date the role assignment was created.", + "type": "string", + "readOnly": true + }, + "createdByPrincipalTenantId": { + "description": "The tenant Id of the user who created the role assignment.", + "type": "string", + "readOnly": true + }, + "createdByPrincipalId": { + "description": "The object ID of the user who created the role assignment.", + "type": "string", + "readOnly": true + }, + "createdByPrincipalPuid": { + "description": "The principal PUID of the user who created the role assignment.", + "type": "string", + "readOnly": true + }, + "createdByUserEmailAddress": { + "description": "The email address of the user who created the role assignment. This is supported only for billing accounts with agreement type Enterprise Agreement.", + "type": "string", + "readOnly": true + }, + "modifiedOn": { + "format": "date-time", + "description": "The date the role assignment was modified.", + "type": "string", + "readOnly": true + }, + "modifiedByPrincipalPuid": { + "description": "The principal PUID of the user who modified the role assignment.", + "type": "string", + "readOnly": true + }, + "modifiedByUserEmailAddress": { + "description": "The email address of the user who modified the role assignment. This is supported only for billing accounts with agreement type Enterprise Agreement.", + "type": "string", + "readOnly": true + }, + "modifiedByPrincipalId": { + "description": "The principal PUID of the user who modified the role assignment.", + "type": "string", + "readOnly": true + }, + "modifiedByPrincipalTenantId": { + "description": "The tenant Id of the user who modified the role assignment.", + "type": "string", + "readOnly": true + }, + "principalPuid": { + "description": "The principal PUID of the user to whom the role was assigned.", + "type": "string" + }, + "principalId": { + "description": "The object id of the user to whom the role was assigned.", + "type": "string" + }, + "principalTenantId": { + "description": "The principal tenant id of the user to whom the role was assigned.", + "type": "string" + }, + "roleDefinitionId": { + "description": "The ID of the role definition.", + "minLength": 1, + "type": "string" + }, + "scope": { + "description": "The scope at which the role was assigned.", + "type": "string" + }, + "userAuthenticationType": { + "description": "The authentication type of the user, whether Organization or MSA, of the user to whom the role was assigned. This is supported only for billing accounts with agreement type Enterprise Agreement.", + "type": "string" + }, + "userEmailAddress": { + "description": "The email address of the user to whom the role was assigned. This is supported only for billing accounts with agreement type Enterprise Agreement.", + "type": "string" + }, + "principalTenantName": { + "description": "The friendly name of the tenant of the user to whom the role was assigned. This will be 'Primary Tenant' for the primary tenant of the billing account.", + "type": "string", + "readOnly": true + }, + "principalDisplayName": { + "description": "The display name of the principal to whom the role was assigned.", + "type": "string", + "readOnly": true + }, + "principalType": { + "description": "The type of a role Assignment.", + "enum": [ + "Unknown", + "None", + "User", + "Group", + "DirectoryRole", + "ServicePrincipal", + "Everyone" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PrincipalType", + "modelAsString": true + } + }, + "billingRequestId": { + "description": "The ID of the billing request that was created for the role assignment. This is only applicable to cross tenant role assignments or role assignments created through the billing request.", + "type": "string", + "readOnly": true + }, + "billingAccountId": { + "description": "The fully qualified ID that uniquely identifies a billing account.", + "type": "string", + "readOnly": true + }, + "billingAccountDisplayName": { + "description": "The name of the billing account.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The fully qualified ID that uniquely identifies a billing profile.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile.", + "type": "string", + "readOnly": true + }, + "invoiceSectionId": { + "description": "The fully qualified ID that uniquely identifies an invoice section.", + "type": "string", + "readOnly": true + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section.", + "type": "string", + "readOnly": true + }, + "customerId": { + "description": "The fully qualified ID that uniquely identifies a customer.", + "type": "string", + "readOnly": true + }, + "customerDisplayName": { + "description": "The name of the customer.", + "type": "string", + "readOnly": true + } + } + } + }, + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingRoleDefinition.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingRoleDefinition.json new file mode 100644 index 000000000000..98260d12b7a2 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingRoleDefinition.json @@ -0,0 +1,710 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions/{roleDefinitionName}": { + "get": { + "tags": [ + "BillingRoleDefinition" + ], + "description": "Gets the definition for a role on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleDefinition_GetByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/roleDefinitionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of a role definition.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleDefinitionGetByBillingProfile": { + "$ref": "./examples/billingRoleDefinitionGetByBillingProfile.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinition" + ], + "description": "Lists the role definitions for a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement, Microsoft Customer Agreement or Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleDefinition_ListByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of role definitions.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleDefinitionListByBillingProfile": { + "$ref": "./examples/billingRoleDefinitionListByBillingProfile.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/billingRoleDefinitions/{roleDefinitionName}": { + "get": { + "tags": [ + "BillingRoleDefinition" + ], + "description": "Gets the definition for a role on a customer. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleDefinition_GetByCustomer", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/roleDefinitionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of a role definition.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleDefinitionGetByCustomer": { + "$ref": "./examples/billingRoleDefinitionGetByCustomer.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinition" + ], + "description": "Lists the role definitions for a customer. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleDefinition_ListByCustomer", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of role definitions.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleDefinitionListByCustomer": { + "$ref": "./examples/billingRoleDefinitionListByCustomer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions/{roleDefinitionName}": { + "get": { + "tags": [ + "BillingRoleDefinition" + ], + "description": "Gets the definition for a role on an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleDefinition_GetByInvoiceSection", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "./types.json#/parameters/roleDefinitionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of a role definition.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleDefinitionGetByInvoiceSection": { + "$ref": "./examples/billingRoleDefinitionGetByInvoiceSection.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinition" + ], + "description": "Lists the role definitions for an invoice section. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleDefinition_ListByInvoiceSection", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of role definitions.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleDefinitionListByInvoiceSection": { + "$ref": "./examples/billingRoleDefinitionListByInvoiceSection.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/{roleDefinitionName}": { + "get": { + "tags": [ + "BillingRoleDefinition" + ], + "description": "Gets the definition for a role on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement, Microsoft Customer Agreement or Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleDefinition_GetByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/roleDefinitionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of a role definition.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleDefinitionGetByBillingAccount": { + "$ref": "./examples/billingRoleDefinitionGetByBillingAccount.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinition" + ], + "description": "Lists the role definitions for a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement, Microsoft Customer Agreement or Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleDefinition_ListByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of role definitions.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleDefinitionListByBillingAccount": { + "$ref": "./examples/billingRoleDefinitionListByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingRoleDefinitions/{roleDefinitionName}": { + "get": { + "tags": [ + "BillingRoleDefinition" + ], + "description": "Gets the definition for a role on a department. The operation is supported for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleDefinition_GetByDepartment", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/departmentName" + }, + { + "$ref": "./types.json#/parameters/roleDefinitionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of a role definition.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleDefinitionGetByDepartment": { + "$ref": "./examples/billingRoleDefinitionGetByDepartment.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinition" + ], + "description": "List the definition for a department. The operation is supported for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleDefinition_ListByDepartment", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/departmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of a role definition.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleDefinitionListByDepartment": { + "$ref": "./examples/billingRoleDefinitionListByDepartment.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleDefinitions/{roleDefinitionName}": { + "get": { + "tags": [ + "BillingRoleDefinition" + ], + "description": "Gets the definition for a role on an enrollment account. The operation is supported for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleDefinition_GetByEnrollmentAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/enrollmentAccountName" + }, + { + "$ref": "./types.json#/parameters/roleDefinitionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The properties of a role definition.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleDefinitionGetByEnrollmentAccount": { + "$ref": "./examples/billingRoleDefinitionGetByEnrollmentAccount.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleDefinitions": { + "get": { + "tags": [ + "BillingRoleDefinition" + ], + "description": "List the definition for an enrollment account. The operation is supported for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingRoleDefinition_ListByEnrollmentAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/enrollmentAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of role definitions.", + "schema": { + "$ref": "#/definitions/BillingRoleDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingRoleDefinitionListByEnrollmentAccount": { + "$ref": "./examples/billingRoleDefinitionListByEnrollmentAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "BillingPermission": { + "description": "The set of allowed action and not allowed actions a caller has on a resource.", + "type": "object", + "properties": { + "actions": { + "description": "The set of actions that the caller is allowed to perform.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "notActions": { + "description": "The set of actions that the caller is not allowed to perform.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + }, + "readOnly": true + }, + "BillingRoleDefinition": { + "description": "The properties of a role definition.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BillingRoleDefinitionProperties" + } + }, + "x-ms-azure-resource": true + }, + "BillingRoleDefinitionListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingRoleDefinition" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "BillingRoleDefinitionProperties": { + "description": "The properties of a role definition.", + "required": [ + "roleName" + ], + "type": "object", + "properties": { + "description": { + "description": "The role description.", + "type": "string", + "readOnly": true + }, + "permissions": { + "description": "The billingPermissions the role has.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingPermission" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "roleName": { + "description": "The name of the role.", + "minLength": 1, + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingSavingsPlan.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingSavingsPlan.json new file mode 100644 index 000000000000..caa2a952f25f --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingSavingsPlan.json @@ -0,0 +1,1272 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-04-01", + "title": "BillingManagementClient", + "description": "Billing client provides access to billing resources for Azure subscriptions." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/savingsPlanOrders/{savingsPlanOrderId}": { + "get": { + "description": "Get a savings plan order by billing account.", + "operationId": "SavingsPlanOrders_GetByBillingAccount", + "tags": [ + "Savings plan order" + ], + "x-ms-examples": { + "SavingsPlanOrderGet": { + "$ref": "./examples/savingsPlanOrderGetByBillingAccount.json" + }, + "SavingsPlanOrderWithExpandedPaymentsGet": { + "$ref": "./examples/savingsPlanOrderExpandedScheduleGetByBillingAccount.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "#/parameters/SavingsPlanOrderIdParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + } + ], + "responses": { + "200": { + "description": "The request is completed.", + "schema": { + "$ref": "#/definitions/SavingsPlanOrderModel" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/savingsPlanOrders": { + "get": { + "description": "List all Savings plan orders by billing account.", + "operationId": "SavingsPlanOrders_ListByBillingAccount", + "tags": [ + "Savings plan order" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SavingsPlanOrderList": { + "$ref": "./examples/savingsPlanOrderListByBillingAccount.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + } + ], + "responses": { + "200": { + "description": "The request is completed.", + "schema": { + "$ref": "#/definitions/SavingsPlanOrderModelList" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/savingsPlanOrders/{savingsPlanOrderId}/savingsPlans": { + "get": { + "description": "List savings plans in an order by billing account.", + "operationId": "SavingsPlans_ListBySavingsPlanOrder", + "tags": [ + "Savings plan" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SavingsPlansInOrderList": { + "$ref": "./examples/savingsPlansListBySavingsPlanOrders.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "#/parameters/SavingsPlanOrderIdParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The request is completed.", + "schema": { + "$ref": "#/definitions/SavingsPlanModelList" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/savingsPlans": { + "get": { + "description": "List savings plans by billing account.", + "operationId": "SavingsPlans_ListByBillingAccount", + "tags": [ + "Savings plan" + ], + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "SavingsPlansList": { + "$ref": "./examples/savingsPlansListByBillingAccount.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + }, + { + "$ref": "#/parameters/TakeParameter" + }, + { + "$ref": "#/parameters/SelectedStateParameter" + }, + { + "$ref": "#/parameters/RefreshSummaryParameter" + } + ], + "responses": { + "200": { + "description": "The request is completed.", + "schema": { + "$ref": "#/definitions/SavingsPlanModelListResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/savingsPlanOrders/{savingsPlanOrderId}/savingsPlans/{savingsPlanId}": { + "get": { + "description": "Get savings plan by billing account.", + "operationId": "SavingsPlans_GetByBillingAccount", + "tags": [ + "Savings plan" + ], + "x-ms-examples": { + "SavingsPlanGet": { + "$ref": "./examples/savingsPlanGetByBillingAccount.json" + }, + "SavingsPlanGetExpandRenewProperties": { + "$ref": "./examples/savingsPlanGetExpandRenewPropertiesByBillingAccount.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "#/parameters/SavingsPlanOrderIdParameter" + }, + { + "$ref": "#/parameters/SavingsPlanIdParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + } + ], + "responses": { + "200": { + "description": "The request is completed.", + "schema": { + "$ref": "#/definitions/SavingsPlanModel" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "description": "Update savings plan by billing account.", + "operationId": "SavingsPlans_UpdateByBillingAccount", + "tags": [ + "Savings plan" + ], + "x-ms-examples": { + "SavingsPlanUpdate": { + "$ref": "./examples/savingsPlanUpdateByBillingAccount.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "#/parameters/SavingsPlanOrderIdParameter" + }, + { + "$ref": "#/parameters/SavingsPlanIdParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/SavingsPlanUpdateRequestParameter" + } + ], + "responses": { + "200": { + "description": "The request is completed.", + "schema": { + "$ref": "#/definitions/SavingsPlanModel" + } + }, + "202": { + "description": "The request is accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "URL for checking the ongoing status of the operation." + }, + "Location": { + "type": "string", + "description": "URL for determining when an operation has completed. Only use this value only when Azure-AsyncOperation isn't returned." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "Clients should wait for the Retry-After interval before polling again" + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/savingsPlanOrders/{savingsPlanOrderId}/savingsPlans/{savingsPlanId}/validate": { + "post": { + "description": "Validate savings plan patch by billing account.", + "operationId": "SavingsPlans_ValidateUpdateByBillingAccount", + "tags": [ + "Savings plan" + ], + "x-ms-examples": { + "SavingsPlanValidateUpdate": { + "$ref": "./examples/savingsPlanValidateUpdateByBillingAccount.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "#/parameters/SavingsPlanOrderIdParameter" + }, + { + "$ref": "#/parameters/SavingsPlanIdParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/SavingsPlanUpdateValidateRequestParameter" + } + ], + "responses": { + "200": { + "description": "The request is completed.", + "schema": { + "$ref": "#/definitions/SavingsPlanValidateResponse" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "Sku": { + "type": "object", + "description": "The SKU to be applied for this resource", + "properties": { + "name": { + "type": "string", + "description": "Name of the SKU to be applied" + } + } + }, + "BillingScopeId": { + "type": "string", + "description": "Subscription that will be charged for purchasing SavingsPlan" + }, + "BillingProfileId": { + "type": "string", + "readOnly": true, + "description": "Fully-qualified identifier of the billing profile where the savings plan is applied. Present only for Field-led or Customer-led customers." + }, + "CustomerId": { + "type": "string", + "readOnly": true, + "description": "Fully-qualified identifier of the customer where the savings plan is applied. Present only for Partner-led customers." + }, + "BillingAccountId": { + "type": "string", + "readOnly": true, + "description": "Fully-qualified identifier of the billing account where the savings plan is applied." + }, + "ProvisioningState": { + "type": "string", + "description": "Provisioning state", + "readOnly": true, + "enum": [ + "PendingBilling", + "ConfirmedBilling", + "Creating", + "Failed", + "Created", + "Succeeded", + "Canceled", + "Expired" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "BillingPlan": { + "type": "string", + "description": "Represents the billing plan in ISO 8601 format. Required only for monthly purchases.", + "enum": [ + "P1M" + ], + "x-ms-enum": { + "name": "BillingPlan", + "modelAsString": true + } + }, + "Renew": { + "type": "boolean", + "default": false, + "description": "Setting this to true will automatically purchase a new benefit on the expiration date time." + }, + "BenefitTerm": { + "type": "string", + "description": "Represents the Savings plan term in ISO 8601 format.", + "enum": [ + "P1Y", + "P3Y", + "P5Y" + ], + "x-ms-enum": { + "name": "SavingsPlanTerm", + "modelAsString": true + } + }, + "DisplayName": { + "type": "string", + "description": "Display name" + }, + "AppliedScopeType": { + "type": "string", + "description": "Type of the Applied Scope.", + "enum": [ + "Single", + "Shared", + "ManagementGroup" + ], + "x-ms-enum": { + "name": "AppliedScopeType", + "modelAsString": true + } + }, + "AppliedScopeProperties": { + "type": "object", + "description": "Properties specific to applied scope type. Not required if not applicable.", + "properties": { + "tenantId": { + "$ref": "#/definitions/TenantId" + }, + "managementGroupId": { + "$ref": "#/definitions/ManagementGroupId" + }, + "subscriptionId": { + "$ref": "#/definitions/SubscriptionId" + }, + "resourceGroupId": { + "$ref": "#/definitions/ResourceGroupId" + }, + "displayName": { + "type": "string", + "description": "Display name" + } + } + }, + "TenantId": { + "type": "string", + "description": "Tenant ID where the savings plan where the benefit is applied." + }, + "ManagementGroupId": { + "type": "string", + "description": "Fully-qualified identifier of the management group where the benefit is applied." + }, + "SubscriptionId": { + "type": "string", + "description": "Fully-qualified identifier of the subscription where the benefit is applied." + }, + "ResourceGroupId": { + "type": "string", + "description": "Fully-qualified identifier of the resource group where the benefit is applied." + }, + "Commitment": { + "type": "object", + "description": "Commitment towards the benefit.", + "allOf": [ + { + "$ref": "#/definitions/Price" + } + ], + "properties": { + "grain": { + "type": "string", + "description": "Commitment grain.", + "enum": [ + "Hourly" + ], + "x-ms-enum": { + "name": "CommitmentGrain", + "modelAsString": true + } + } + } + }, + "SavingsPlanId": { + "type": "string", + "description": "Identifier of the savings plan", + "readOnly": true + }, + "ExpiryDate": { + "type": "string", + "description": "Date when the Order is expected to expire", + "readOnly": true, + "format": "date" + }, + "SavingsPlanModelList": { + "type": "object", + "description": "List of savings plans", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SavingsPlanModel" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page." + } + } + }, + "SavingsPlanModelListResult": { + "type": "object", + "description": "List of savings plans", + "allOf": [ + { + "$ref": "#/definitions/SavingsPlanModelList" + } + ], + "properties": { + "summary": { + "description": "The roll out count summary of the savings plans", + "$ref": "#/definitions/SavingsPlanSummaryCount" + } + } + }, + "SavingsPlanModel": { + "type": "object", + "description": "Savings plan", + "required": [ + "sku" + ], + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "sku": { + "description": "Savings plan SKU", + "$ref": "#/definitions/Sku" + }, + "tags": { + "description": "Dictionary of metadata associated with the resource. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \\ ? /", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "Savings plan properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SavingsPlanModelProperties" + } + } + }, + "SavingsPlanModelProperties": { + "type": "object", + "description": "Savings plan properties", + "properties": { + "displayName": { + "$ref": "#/definitions/DisplayName" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState" + }, + "displayProvisioningState": { + "description": "The provisioning state of the savings plan for display, e.g. Succeeded", + "type": "string", + "readOnly": true + }, + "userFriendlyAppliedScopeType": { + "description": "The applied scope type of the savings plan for display, e.g. Shared", + "type": "string", + "readOnly": true + }, + "billingScopeId": { + "$ref": "#/definitions/BillingScopeId" + }, + "billingProfileId": { + "$ref": "#/definitions/BillingProfileId" + }, + "customerId": { + "$ref": "#/definitions/CustomerId" + }, + "billingAccountId": { + "$ref": "#/definitions/BillingAccountId" + }, + "term": { + "$ref": "#/definitions/BenefitTerm" + }, + "renew": { + "$ref": "#/definitions/Renew" + }, + "renewSource": { + "$ref": "#/definitions/RenewSource" + }, + "renewDestination": { + "$ref": "#/definitions/RenewDestination" + }, + "renewProperties": { + "$ref": "#/definitions/RenewProperties" + }, + "billingPlan": { + "$ref": "#/definitions/BillingPlan" + }, + "expiryDate": { + "$ref": "#/definitions/ExpiryDate" + }, + "appliedScopeType": { + "$ref": "#/definitions/AppliedScopeType" + }, + "appliedScopeProperties": { + "$ref": "#/definitions/AppliedScopeProperties" + }, + "commitment": { + "$ref": "#/definitions/Commitment" + }, + "effectiveDateTime": { + "type": "string", + "format": "date-time", + "description": "DateTime of the savings plan starting when this version is effective from.", + "readOnly": true + }, + "benefitStartTime": { + "type": "string", + "format": "date-time", + "description": "This is the DateTime when the savings plan benefit starts.", + "readOnly": true + }, + "expiryDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the date-time when the savings plan will expire.", + "readOnly": true + }, + "purchaseDateTime": { + "type": "string", + "format": "date-time", + "description": "Date time when the savings plan was purchased.", + "readOnly": true + }, + "utilization": { + "$ref": "#/definitions/Utilization" + }, + "extendedStatusInfo": { + "$ref": "#/definitions/ExtendedStatusInfo" + }, + "productCode": { + "$ref": "#/definitions/ProductCode" + } + } + }, + "SavingsPlanSummaryCount": { + "description": "The roll up count summary of savings plans in each state", + "type": "object", + "properties": { + "succeededCount": { + "description": "The number of savings plans in Succeeded state", + "readOnly": true, + "type": "number" + }, + "failedCount": { + "description": "The number of savings plans in Failed state", + "readOnly": true, + "type": "number" + }, + "expiringCount": { + "description": "The number of savings plans in Expiring state", + "readOnly": true, + "type": "number" + }, + "expiredCount": { + "description": "The number of savings plans in Expired state", + "readOnly": true, + "type": "number" + }, + "pendingCount": { + "description": "The number of savings plans in Pending state", + "readOnly": true, + "type": "number" + }, + "cancelledCount": { + "description": "The number of savings plans in Cancelled state", + "readOnly": true, + "type": "number" + }, + "processingCount": { + "description": "The number of savings plans in Processing state", + "readOnly": true, + "type": "number" + }, + "noBenefitCount": { + "description": "The number of savings plans in No Benefit state", + "readOnly": true, + "type": "number" + }, + "warningCount": { + "description": "The number of savings plans in Warning state", + "readOnly": true, + "type": "number" + } + } + }, + "SavingsPlanOrderModelList": { + "type": "object", + "description": "List of savings plan orders", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/SavingsPlanOrderModel" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page." + } + } + }, + "SavingsPlanOrderModel": { + "type": "object", + "description": "Savings plan order", + "required": [ + "sku" + ], + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "sku": { + "description": "Savings plan SKU", + "$ref": "#/definitions/Sku" + }, + "tags": { + "description": "Dictionary of metadata associated with the resource. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \\ ? /", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "description": "Savings plan order properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SavingsPlanOrderModelProperties" + } + } + }, + "SavingsPlanOrderModelProperties": { + "type": "object", + "description": "Savings plan order properties", + "properties": { + "displayName": { + "$ref": "#/definitions/DisplayName" + }, + "provisioningState": { + "description": "The provisioning state of the savings plan, e.g. Succeeded", + "readOnly": true, + "type": "string" + }, + "billingScopeId": { + "$ref": "#/definitions/BillingScopeId" + }, + "billingProfileId": { + "$ref": "#/definitions/BillingProfileId" + }, + "customerId": { + "$ref": "#/definitions/CustomerId" + }, + "billingAccountId": { + "$ref": "#/definitions/BillingAccountId" + }, + "term": { + "$ref": "#/definitions/BenefitTerm" + }, + "billingPlan": { + "$ref": "#/definitions/BillingPlan" + }, + "benefitStartTime": { + "type": "string", + "format": "date-time", + "description": "DateTime when the savings plan benefit started.", + "readOnly": true + }, + "expiryDateTime": { + "type": "string", + "format": "date-time", + "description": "DateTime when the savings plan will expire.", + "readOnly": true + }, + "expiryDate": { + "$ref": "#/definitions/ExpiryDate" + }, + "planInformation": { + "$ref": "#/definitions/BillingPlanInformation" + }, + "savingsPlans": { + "type": "array", + "items": { + "$ref": "#/definitions/SavingsPlanId" + } + }, + "extendedStatusInfo": { + "$ref": "#/definitions/ExtendedStatusInfo" + }, + "productCode": { + "$ref": "#/definitions/ProductCode" + } + } + }, + "SavingsPlanUpdateRequest": { + "type": "object", + "description": "Savings plan patch request", + "properties": { + "properties": { + "$ref": "#/definitions/SavingsPlanUpdateRequestProperties" + }, + "sku": { + "$ref": "#/definitions/Sku" + }, + "tags": { + "description": "Tags for this reservation", + "$ref": "#/definitions/Tags" + } + } + }, + "SavingsPlanUpdateRequestProperties": { + "type": "object", + "description": "Savings plan patch request", + "properties": { + "displayName": { + "$ref": "#/definitions/DisplayName" + }, + "appliedScopeType": { + "$ref": "#/definitions/AppliedScopeType" + }, + "appliedScopeProperties": { + "$ref": "#/definitions/AppliedScopeProperties" + }, + "renew": { + "$ref": "#/definitions/Renew" + }, + "renewProperties": { + "$ref": "#/definitions/RenewProperties" + } + } + }, + "RenewSource": { + "type": "string", + "description": "SavingsPlan Id of the SavingsPlan from which this SavingsPlan is renewed." + }, + "RenewDestination": { + "type": "string", + "description": "SavingsPlan Id of the SavingsPlan which is purchased because of renew." + }, + "RenewProperties": { + "type": "object", + "description": "Properties specific to renew.", + "properties": { + "purchaseProperties": { + "$ref": "#/definitions/PurchaseRequest" + } + } + }, + "PurchaseRequest": { + "type": "object", + "description": "Purchase request.", + "properties": { + "sku": { + "$ref": "#/definitions/Sku" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PurchaseRequestProperties" + } + } + }, + "PurchaseRequestProperties": { + "type": "object", + "description": "Purchase request properties.", + "properties": { + "displayName": { + "type": "string", + "description": "Friendly name of the savings plan" + }, + "billingScopeId": { + "$ref": "#/definitions/BillingScopeId" + }, + "term": { + "$ref": "#/definitions/BenefitTerm" + }, + "billingPlan": { + "$ref": "#/definitions/BillingPlan" + }, + "appliedScopeType": { + "$ref": "#/definitions/AppliedScopeType" + }, + "commitment": { + "$ref": "#/definitions/Commitment" + }, + "renew": { + "$ref": "#/definitions/Renew" + }, + "appliedScopeProperties": { + "$ref": "#/definitions/AppliedScopeProperties" + } + } + }, + "Price": { + "type": "object", + "description": "The price.", + "properties": { + "currencyCode": { + "type": "string", + "description": "The ISO 4217 3-letter currency code for the currency used by this purchase record." + }, + "amount": { + "type": "number", + "format": "double" + } + } + }, + "Tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource Tags" + }, + "ProductCode": { + "type": "string", + "description": "Represents UPN" + }, + "BillingPlanInformation": { + "type": "object", + "description": "Information describing the type of billing plan for this savings plan.", + "properties": { + "pricingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount of money to be paid for the Order. Tax is not included." + }, + "startDate": { + "type": "string", + "format": "date", + "description": "Date when the billing plan has started." + }, + "nextPaymentDueDate": { + "type": "string", + "format": "date", + "description": "For recurring billing plans, indicates the date when next payment will be processed. Null when total is paid off." + }, + "transactions": { + "type": "array", + "items": { + "$ref": "#/definitions/PaymentDetail" + }, + "x-ms-identifiers": [] + } + } + }, + "PaymentDetail": { + "type": "object", + "description": "Information about payment related to a savings plan order.", + "properties": { + "dueDate": { + "type": "string", + "format": "date", + "description": "Date when the payment needs to be done." + }, + "paymentDate": { + "type": "string", + "format": "date", + "description": "Date when the transaction is completed. Null when it is scheduled." + }, + "pricingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount in pricing currency. Tax not included." + }, + "billingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount charged in Billing currency. Tax not included. Is null for future payments" + }, + "status": { + "$ref": "#/definitions/PaymentStatus" + }, + "extendedStatusInfo": { + "$ref": "#/definitions/ExtendedStatusInfo" + } + } + }, + "PaymentStatus": { + "type": "string", + "description": "Describes whether the payment is completed, failed, pending, cancelled or scheduled in the future.", + "enum": [ + "Succeeded", + "Failed", + "Scheduled", + "Cancelled", + "Completed", + "Pending" + ], + "x-ms-enum": { + "name": "PaymentStatus", + "modelAsString": true + } + }, + "Utilization": { + "readOnly": true, + "type": "object", + "description": "Savings plan utilization", + "properties": { + "trend": { + "description": "The trend for a savings plan's utilization", + "readOnly": true, + "type": "string" + }, + "aggregates": { + "description": "The array of aggregates of a savings plan's utilization", + "type": "array", + "items": { + "$ref": "#/definitions/UtilizationAggregates" + }, + "x-ms-identifiers": [] + } + } + }, + "UtilizationAggregates": { + "description": "The aggregate values of savings plan utilization", + "type": "object", + "properties": { + "grain": { + "description": "The grain of the aggregate", + "readOnly": true, + "type": "number" + }, + "grainUnit": { + "description": "The grain unit of the aggregate", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "The aggregate value", + "readOnly": true, + "type": "number" + }, + "valueUnit": { + "description": "The aggregate value unit", + "readOnly": true, + "type": "string" + } + } + }, + "ExtendedStatusInfo": { + "type": "object", + "readOnly": true, + "description": "Extended status information", + "properties": { + "statusCode": { + "type": "string", + "description": "Status code providing additional information." + }, + "message": { + "type": "string", + "description": "The message giving detailed information about the status code." + }, + "properties": { + "type": "object", + "description": "Properties specific to credit line check failure", + "x-ms-client-flatten": true, + "properties": { + "subscriptionId": { + "type": "string", + "description": "The subscription that has failed credit line check." + } + } + } + } + }, + "SavingsPlanUpdateValidateRequest": { + "type": "object", + "description": "Savings plan update validate request.", + "properties": { + "benefits": { + "type": "array", + "description": "The benefits of a savings plan.", + "items": { + "$ref": "#/definitions/SavingsPlanUpdateRequestProperties" + }, + "x-ms-identifiers": [] + } + } + }, + "SavingsPlanValidateResponse": { + "type": "object", + "description": "Savings plan update validate response.", + "properties": { + "benefits": { + "type": "array", + "items": { + "$ref": "#/definitions/SavingsPlanValidResponseProperty" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page." + } + } + }, + "SavingsPlanValidResponseProperty": { + "type": "object", + "description": "Benefit scope response property", + "properties": { + "valid": { + "type": "boolean", + "description": "Indicates if the provided input is valid" + }, + "reasonCode": { + "type": "string", + "description": "Failure reason code if the provided input is invalid" + }, + "reason": { + "type": "string", + "description": "Failure reason if the provided input is invalid" + } + } + } + }, + "parameters": { + "ExpandParameter": { + "name": "expand", + "description": "May be used to expand the planInformation.", + "in": "query", + "x-ms-parameter-location": "method", + "required": false, + "type": "string" + }, + "SkipTokenParameter": { + "name": "skiptoken", + "description": "The number of savings plans to skip from the list before returning results", + "in": "query", + "x-ms-parameter-location": "method", + "required": false, + "type": "number" + }, + "TakeParameter": { + "name": "take", + "description": "The number of savings plans to return", + "in": "query", + "x-ms-parameter-location": "method", + "required": false, + "type": "number" + }, + "SelectedStateParameter": { + "name": "selectedState", + "description": "The selected provisioning state", + "in": "query", + "x-ms-parameter-location": "method", + "required": false, + "type": "string" + }, + "RefreshSummaryParameter": { + "name": "refreshSummary", + "description": "To indicate whether to refresh the roll up counts of the savings plans group by provisioning states", + "in": "query", + "x-ms-parameter-location": "method", + "required": false, + "type": "string" + }, + "SavingsPlanOrderIdParameter": { + "name": "savingsPlanOrderId", + "description": "Order ID of the savings plan", + "in": "path", + "x-ms-parameter-location": "method", + "required": true, + "type": "string" + }, + "SavingsPlanIdParameter": { + "name": "savingsPlanId", + "description": "ID of the savings plan", + "in": "path", + "x-ms-parameter-location": "method", + "required": true, + "type": "string" + }, + "SavingsPlanUpdateRequestParameter": { + "name": "body", + "description": "Request body for patching a savings plan order alias", + "in": "body", + "x-ms-parameter-location": "method", + "required": true, + "schema": { + "$ref": "#/definitions/SavingsPlanUpdateRequest" + } + }, + "SavingsPlanUpdateValidateRequestParameter": { + "name": "body", + "description": "Request body for patching a savings plan order alias", + "in": "body", + "x-ms-parameter-location": "method", + "required": true, + "schema": { + "$ref": "#/definitions/SavingsPlanUpdateValidateRequest" + } + } + }, + "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" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingSubscription.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingSubscription.json new file mode 100644 index 000000000000..976b7926e0e9 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/billingSubscription.json @@ -0,0 +1,2082 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingSubscriptions/{billingSubscriptionName}": { + "get": { + "tags": [ + "BillingSubscription" + ], + "description": "Gets a subscription by its billing profile and ID. The operation is supported for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_GetByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/billingSubscriptionNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "query", + "name": "expand", + "description": "Can be used to expand `Reseller`, `ConsumptionCostCenter`, `LastMonthCharges` and `MonthToDateCharges`", + "type": "string" + } + ], + "responses": { + "200": { + "description": "A billing subscription.", + "schema": { + "$ref": "#/definitions/BillingSubscription" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingSubscriptionGetByBillingProfile": { + "$ref": "./examples/billingSubscriptionGetByBillingProfile.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingSubscriptions": { + "get": { + "tags": [ + "BillingSubscription" + ], + "description": "Lists the subscriptions that are billed to a billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_ListByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "in": "query", + "name": "includeDeleted", + "description": "Can be used to get deleted billing subscriptions.", + "type": "boolean", + "default": false + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "query", + "name": "expand", + "description": "Can be used to expand `Reseller`, `ConsumptionCostCenter`, `LastMonthCharges` and `MonthToDateCharges`", + "type": "string" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of billing subscriptions.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingSubscriptionsListByBillingProfileMCA": { + "$ref": "./examples/billingSubscriptionsListByBillingProfileMCA.json" + }, + "BillingSubscriptionsListByBillingProfileEA": { + "$ref": "./examples/billingSubscriptionsListByBillingProfileEA.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/billingSubscriptions": { + "get": { + "tags": [ + "BillingSubscription" + ], + "description": "Lists the subscriptions for a customer. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_ListByCustomer", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/customerNameParameter" + }, + { + "in": "query", + "name": "includeDeleted", + "description": "Can be used to get deleted billing subscriptions.", + "type": "boolean", + "default": false + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "query", + "name": "expand", + "description": "Can be used to expand `Reseller`, `ConsumptionCostCenter`, `LastMonthCharges` and `MonthToDateCharges`", + "type": "string" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of billing subscriptions.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingSubscriptionsListByCustomer": { + "$ref": "./examples/billingSubscriptionsListByCustomer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingSubscriptions": { + "get": { + "tags": [ + "BillingSubscription" + ], + "description": "Lists the subscriptions that are billed to an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_ListByInvoiceSection", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/invoiceSectionNameParameter" + }, + { + "in": "query", + "name": "includeDeleted", + "description": "Can be used to get deleted billing subscriptions.", + "type": "boolean", + "default": false + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "query", + "name": "expand", + "description": "Can be used to expand `Reseller`, `ConsumptionCostCenter`, `LastMonthCharges` and `MonthToDateCharges`", + "type": "string" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of billing subscriptions.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingSubscriptionsListByInvoiceSection": { + "$ref": "./examples/billingSubscriptionsListByInvoiceSection.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptionAliases/{aliasName}": { + "get": { + "tags": [ + "BillingSubscription" + ], + "description": "Gets a subscription by its alias ID. The operation is supported for seat based billing subscriptions.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptionsAliases_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingSubscriptionAliasNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A billing subscription alias.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionAlias" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingSubscriptionAliasGet": { + "$ref": "./examples/billingSubscriptionAliasGet.json" + } + } + }, + "put": { + "tags": [ + "BillingSubscription" + ], + "description": "Creates or updates a billing subscription by its alias ID. The operation is supported for seat based billing subscriptions.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptionsAliases_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingSubscriptionAliasNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "A billing subscription alias.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingSubscriptionAlias" + } + } + ], + "responses": { + "200": { + "description": "The billing subscription alias.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionAlias" + } + }, + "201": { + "description": "The billing subscription alias.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionAlias" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "BillingSubscriptionAliasCreateOrUpdate": { + "$ref": "./examples/billingSubscriptionAliasCreateOrUpdate.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptionAliases": { + "get": { + "tags": [ + "BillingSubscription" + ], + "description": "Lists the subscription aliases for a billing account. The operation is supported for seat based billing subscriptions.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptionsAliases_ListByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "in": "query", + "name": "includeDeleted", + "description": "Can be used to get deleted billing subscriptions.", + "type": "boolean", + "default": false + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of billing subscription aliases.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionAliasListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingSubscriptionAliasList": { + "$ref": "./examples/billingSubscriptionAliasList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{billingSubscriptionName}/cancel": { + "post": { + "tags": [ + "BillingSubscription" + ], + "description": "Cancels a usage-based subscription. This operation is supported only for billing accounts of type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_Cancel", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingSubscriptionNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "Request parameters for cancel customer subscription.", + "required": true, + "schema": { + "$ref": "#/definitions/CancelSubscriptionRequest" + } + } + ], + "responses": { + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "BillingSubscriptionsCancel": { + "$ref": "./examples/billingSubscriptionsCancel.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{billingSubscriptionName}/merge": { + "post": { + "tags": [ + "BillingSubscription" + ], + "description": "Merges the billing subscription provided in the request with a target billing subscription.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_Merge", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingSubscriptionNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "Request parameters that are provided to merge the two billing subscriptions.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingSubscriptionMergeRequest" + } + } + ], + "responses": { + "200": { + "description": "The billing properties of a subscription.", + "schema": { + "$ref": "#/definitions/BillingSubscription" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "BillingSubscriptionsMerge": { + "$ref": "./examples/billingSubscriptionsMerge.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{billingSubscriptionName}/move": { + "post": { + "tags": [ + "BillingSubscription" + ], + "description": "Moves charges for a subscription to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_Move", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingSubscriptionNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "Request parameters to transfer billing subscription.", + "required": true, + "schema": { + "$ref": "#/definitions/MoveBillingSubscriptionRequest" + } + } + ], + "responses": { + "200": { + "description": "The billing properties of a subscription.", + "schema": { + "$ref": "#/definitions/BillingSubscription" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "BillingSubscriptionMove": { + "$ref": "./examples/billingSubscriptionMove.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{billingSubscriptionName}/split": { + "post": { + "tags": [ + "BillingSubscription" + ], + "description": "Splits a subscription into a new subscription with quantity less than current subscription quantity and not equal to 0.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_Split", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingSubscriptionNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "Request parameters that are provided to split the billing subscription.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingSubscriptionSplitRequest" + } + } + ], + "responses": { + "200": { + "description": "The billing properties of a subscription.", + "schema": { + "$ref": "#/definitions/BillingSubscription" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "BillingSubscriptionsSplit": { + "$ref": "./examples/billingSubscriptionsSplit.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{billingSubscriptionName}/validateMoveEligibility": { + "post": { + "tags": [ + "BillingSubscription" + ], + "description": "Validates if charges for a subscription can be moved to a new invoice section. This operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_ValidateMoveEligibility", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingSubscriptionNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "Request parameters to transfer billing subscription.", + "required": true, + "schema": { + "$ref": "#/definitions/MoveBillingSubscriptionRequest" + } + } + ], + "responses": { + "200": { + "description": "The billing properties of a subscription.", + "schema": { + "$ref": "#/definitions/MoveBillingSubscriptionEligibilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingSubscriptionValidateMoveSuccess": { + "$ref": "./examples/billingSubscriptionValidateMoveSuccess.json" + }, + "BillingSubscriptionValidateMoveFailure": { + "$ref": "./examples/billingSubscriptionValidateMoveFailure.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions/{billingSubscriptionName}": { + "delete": { + "tags": [ + "BillingSubscription" + ], + "description": "Cancels a billing subscription. This operation is supported only for billing accounts of type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingSubscriptionNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "BillingSubscriptionsDelete": { + "$ref": "./examples/billingSubscriptionsDelete.json" + } + } + }, + "get": { + "tags": [ + "BillingSubscription" + ], + "description": "Gets a subscription by its ID. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement, Microsoft Partner Agreement, and Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingSubscriptionNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "query", + "name": "expand", + "description": "Can be used to expand `Reseller`, `ConsumptionCostCenter`, `LastMonthCharges` and `MonthToDateCharges`", + "type": "string" + } + ], + "responses": { + "200": { + "description": "A billing subscription.", + "schema": { + "$ref": "#/definitions/BillingSubscription" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingSubscriptionsGet": { + "$ref": "./examples/billingSubscriptionsGet.json" + } + } + }, + "patch": { + "tags": [ + "BillingSubscription" + ], + "description": "Updates the properties of a billing subscription.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingSubscriptionNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The billing properties of a subscription.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingSubscriptionPatch" + } + } + ], + "responses": { + "200": { + "description": "The billing properties of a subscription.", + "schema": { + "$ref": "#/definitions/BillingSubscription" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "BillingSubscriptionsUpdate": { + "$ref": "./examples/billingSubscriptionsUpdate.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingSubscriptions": { + "get": { + "tags": [ + "BillingSubscription" + ], + "description": "Lists the subscriptions for a billing account.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_ListByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "in": "query", + "name": "includeDeleted", + "description": "Can be used to get deleted billing subscriptions.", + "type": "boolean", + "default": false + }, + { + "in": "query", + "name": "includeTenantSubscriptions", + "description": "Can be used to get tenant-owned billing subscriptions. This field is only applies to Microsoft Online Services Program billing accounts.", + "type": "boolean", + "default": false + }, + { + "in": "query", + "name": "includeFailed", + "description": "Can be used to get failed billing subscriptions.", + "type": "boolean", + "default": false + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "query", + "name": "expand", + "description": "Can be used to expand `Reseller`, `ConsumptionCostCenter`, `LastMonthCharges` and `MonthToDateCharges`", + "type": "string" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of billing subscriptions.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingSubscriptionsListByBillingAccount": { + "$ref": "./examples/billingSubscriptionsListByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/billingSubscriptions": { + "get": { + "tags": [ + "BillingSubscription" + ], + "description": "Lists the subscriptions for a customer at billing account level. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_ListByCustomerAtBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/customerNameParameter" + }, + { + "in": "query", + "name": "includeDeleted", + "description": "Can be used to get deleted billing subscriptions.", + "type": "boolean", + "default": false + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "query", + "name": "expand", + "description": "Can be used to expand `Reseller`, `ConsumptionCostCenter`, `LastMonthCharges` and `MonthToDateCharges`", + "type": "string" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of billing subscriptions.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingSubscriptionsListByCustomerAtBillingAccount": { + "$ref": "./examples/billingSubscriptionsListByCustomerAtBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingSubscriptions": { + "get": { + "tags": [ + "BillingSubscription" + ], + "description": "Lists the subscriptions for an enrollment account. The operation is supported for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "BillingSubscriptions_ListByEnrollmentAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "./types.json#/parameters/enrollmentAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of billing subscriptions.", + "schema": { + "$ref": "#/definitions/BillingSubscriptionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "BillingSubscriptionsListByEnrollmentAccount": { + "$ref": "./examples/billingSubscriptionsListByEnrollmentAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Beneficiary": { + "description": "Details of the beneficiary.", + "type": "object", + "properties": { + "tenantId": { + "description": "The ID that uniquely identifies a tenant.", + "type": "string" + }, + "objectId": { + "description": "The ID that uniquely identifies a user in a tenant.", + "type": "string" + } + } + }, + "BillingSubscription": { + "description": "The billing properties of a subscription.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "description": "The properties of a(n) BillingSubscription", + "$ref": "#/definitions/BillingSubscriptionProperties", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "BillingSubscriptionAlias": { + "description": "A billing subscription alias.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "description": "The properties of a(n) BillingSubscriptionAlias", + "$ref": "#/definitions/BillingSubscriptionAliasProperties", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "BillingSubscriptionAliasListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingSubscriptionAlias" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "BillingSubscriptionAliasProperties": { + "description": "A billing subscription alias.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BillingSubscriptionProperties" + } + ], + "properties": { + "billingSubscriptionId": { + "description": "The ID of the billing subscription with the subscription alias.", + "type": "string", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the resource during a long-running operation.", + "enum": [ + "Succeeded", + "Canceled", + "Failed", + "New", + "Pending", + "Provisioning" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + } + }, + "BillingSubscriptionListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "totalCount": { + "description": "Total number of records.", + "type": "number", + "format": "int32", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingSubscription" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "BillingSubscriptionMergeRequest": { + "description": "Request parameters that are provided to merge the two billing subscriptions.", + "type": "object", + "properties": { + "targetBillingSubscriptionName": { + "description": "The ID of the target billing subscription that will be merged with the source subscription provided in the request.", + "type": "string" + }, + "quantity": { + "format": "int32", + "description": "The quantity of the source billing subscription that will be merged with the target billing subscription.", + "type": "integer" + } + } + }, + "BillingSubscriptionPatch": { + "description": "The billing properties of a subscription.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "description": "The properties of a(n) BillingSubscription", + "$ref": "#/definitions/BillingSubscriptionProperties", + "x-ms-client-flatten": true + } + }, + "x-ms-azure-resource": true + }, + "BillingSubscriptionProperties": { + "description": "The billing properties of a subscription.", + "type": "object", + "properties": { + "autoRenew": { + "description": "Indicates whether auto renewal is turned on or off for a product.", + "enum": [ + "Off", + "On" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoRenew", + "modelAsString": true + } + }, + "beneficiaryTenantId": { + "description": "The provisioning tenant of the subscription.", + "type": "string" + }, + "beneficiary": { + "description": "The beneficiary of the billing subscription.", + "$ref": "#/definitions/Beneficiary" + }, + "billingFrequency": { + "description": "The billing frequency in ISO8601 format of product in the subscription. Example: P1M, P3M, P1Y", + "type": "string" + }, + "billingProfileId": { + "description": "The fully qualified ID that uniquely identifies a billing profile.", + "type": "string" + }, + "billingPolicies": { + "type": "object", + "description": "Dictionary of billing policies associated with the subscription.", + "additionalProperties": { + "type": "string" + }, + "maxItems": 50, + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile.", + "type": "string", + "readOnly": true + }, + "billingProfileName": { + "description": "The ID that uniquely identifies a billing profile.", + "type": "string", + "readOnly": true + }, + "consumptionCostCenter": { + "description": "The cost center applied to the subscription. This field is only available for consumption subscriptions of Microsoft Customer Agreement or Enterprise Agreement Type billing accounts.", + "type": "string" + }, + "customerId": { + "description": "The fully qualified ID that uniquely identifies a customer.", + "type": "string" + }, + "customerDisplayName": { + "description": "The name of the customer.", + "type": "string", + "readOnly": true + }, + "customerName": { + "description": "The ID that uniquely identifies a customer.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "The name of the billing subscription.", + "type": "string" + }, + "enrollmentAccountId": { + "description": "The enrollment Account ID associated with the subscription. This field is available only for the Enterprise Agreement Type billing accounts.", + "type": "string", + "readOnly": true + }, + "enrollmentAccountDisplayName": { + "description": "The enrollment Account name associated with the subscription. This field is available only for the Enterprise Agreement Type billing accounts.", + "type": "string", + "readOnly": true + }, + "enrollmentAccountSubscriptionDetails": { + "x-ms-client-flatten": true, + "description": "Enrollment Account Subscription details. This field is available only for the Enterprise Agreement Type billing accounts.", + "$ref": "#/definitions/EnrollmentAccountSubscriptionDetails" + }, + "invoiceSectionId": { + "description": "The fully qualified ID that uniquely identifies an invoice section.", + "type": "string" + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section.", + "type": "string", + "readOnly": true + }, + "invoiceSectionName": { + "description": "The ID that uniquely identifies an invoice section.", + "type": "string", + "readOnly": true + }, + "lastMonthCharges": { + "description": "The last month's charges. This field is only available for usage based subscriptions of Microsoft Customer Agreement billing accounts.", + "$ref": "./types.json#/definitions/Amount", + "readOnly": true + }, + "monthToDateCharges": { + "description": "The current month to date charges. This field is only available for usage based subscriptions of Microsoft Customer Agreement billing accounts.", + "$ref": "./types.json#/definitions/Amount", + "readOnly": true + }, + "nextBillingCycleDetails": { + "description": "Next billing cycle details of the subscription.", + "$ref": "#/definitions/NextBillingCycleDetails" + }, + "offerId": { + "description": "The offer ID for the subscription. This field is only available for the Microsoft Online Services Program billing accounts.", + "type": "string", + "readOnly": true + }, + "productCategory": { + "description": "The category of the product for which the subscription is purchased. Possible values include: AzureSupport, Hardware, ReservationOrder, SaaS, SavingsPlanOrder, Software, UsageBased, Other.", + "type": "string", + "readOnly": true + }, + "productType": { + "description": "Type of the product for which the subscription is purchased.", + "type": "string", + "readOnly": true + }, + "productTypeId": { + "description": "Id of the product for which the subscription is purchased.", + "type": "string" + }, + "purchaseDate": { + "format": "date-time", + "description": "Purchase date of the product in UTC time.", + "type": "string", + "readOnly": true + }, + "quantity": { + "format": "int64", + "description": "The quantity of licenses or fulfillment units for the subscription.", + "type": "integer" + }, + "reseller": { + "description": "Reseller for this subscription. The fields is not available for Microsoft Partner Agreement billing accounts.", + "$ref": "./types.json#/definitions/Reseller" + }, + "renewalTermDetails": { + "description": "Details for the next renewal term of a subscription.", + "$ref": "#/definitions/RenewalTermDetails" + }, + "skuId": { + "description": "The SKU ID of the product for which the subscription is purchased. This field is is only available for Microsoft Customer Agreement billing accounts.", + "type": "string" + }, + "skuDescription": { + "description": "The SKU description of the product for which the subscription is purchased. This field is is only available for billing accounts with agreement type Microsoft Customer Agreement and Microsoft Partner Agreement.", + "type": "string", + "readOnly": true + }, + "systemOverrides": { + "description": "System imposed policies that regulate behavior of the subscription.", + "$ref": "#/definitions/SystemOverrides" + }, + "resourceUri": { + "description": "Unique identifier of the linked resource.", + "type": "string", + "readOnly": true + }, + "termDuration": { + "description": "The duration in ISO8601 format for which you can use the subscription. Example: P1M, P3M, P1Y", + "type": "string" + }, + "termStartDate": { + "format": "date-time", + "description": "Start date of the term in UTC time.", + "type": "string", + "readOnly": true + }, + "termEndDate": { + "format": "date-time", + "description": "End date of the term in UTC time.", + "type": "string", + "readOnly": true + }, + "provisioningTenantId": { + "description": "The tenant in which the subscription is provisioned.", + "type": "string" + }, + "status": { + "description": "The status of the subscription. This field is not available for Enterprise Agreement billing accounts", + "enum": [ + "Other", + "Unknown", + "Active", + "Disabled", + "Deleted", + "Warned", + "Expiring", + "Expired", + "AutoRenew", + "Cancelled", + "Suspended", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingSubscriptionStatus", + "modelAsString": true + } + }, + "operationStatus": { + "description": "The status of an operation on the subscription. When None, there is no ongoing operation. When LockedForUpdate, write operations will be blocked on the Billing Subscription. Other is the default value and you may need to refer to the latest API version for more details.", + "enum": [ + "Other", + "None", + "LockedForUpdate" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "BillingSubscriptionOperationStatus", + "modelAsString": true + } + }, + "provisioningState": { + "description": "The provisioning state of the resource during a long-running operation.", + "enum": [ + "Succeeded", + "Canceled", + "Failed", + "New", + "Pending", + "Provisioning" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "subscriptionId": { + "description": "The ID of the subscription.", + "type": "string", + "readOnly": true + }, + "suspensionReasons": { + "description": "The suspension reason for a subscription. This field is not available for Enterprise Agreement billing accounts.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "suspensionReasonDetails": { + "description": "The suspension details for a subscription. This field is not available for Enterprise Agreement billing accounts.", + "type": "array", + "items": { + "$ref": "#/definitions/BillingSubscriptionStatusDetails" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "BillingSubscriptionSplitRequest": { + "description": "Request parameters that are provided to split the billing subscription.", + "type": "object", + "properties": { + "targetProductTypeId": { + "description": "The ID of the target product to which the subscription needs to be split into. This value is not same as the value returned in Get API call and can be retrieved from Catalog API to know the product id to split into.", + "type": "string" + }, + "targetSkuId": { + "description": "The ID of the target product to which the subscription needs to be split into. This value is not same as the value returned in Get API call and can be retrieved from Catalog API to know the sku id to split into.", + "type": "string" + }, + "quantity": { + "format": "int32", + "description": "The quantity of the target product to which the subscription needs to be split into.", + "type": "integer" + }, + "termDuration": { + "description": "The term duration of the target in ISO8601 format product to which the subscription needs to be split into. Example: P1M, P1Y", + "type": "string" + }, + "billingFrequency": { + "description": "The billing frequency of the target subscription in the ISO8601 format. Example: P1M, P3M, P1Y\"", + "type": "string" + } + } + }, + "BillingSubscriptionStatusDetails": { + "description": "The suspension details for a subscription. This field is not available for Enterprise Agreement billing accounts.", + "type": "object", + "properties": { + "effectiveDate": { + "format": "date-time", + "description": "The suspension effective date for a subscription. This field is not available for Enterprise Agreement billing accounts.", + "type": "string", + "readOnly": true + }, + "reason": { + "description": "The suspension reason for a subscription. This field is not available for Enterprise Agreement billing accounts.", + "enum": [ + "None", + "Cancelled", + "PastDue", + "SuspiciousActivity", + "Other", + "Transferred", + "PolicyViolation", + "SpendingLimitReached", + "Expired" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SubscriptionStatusReason", + "modelAsString": true + } + } + } + }, + "CancelSubscriptionRequest": { + "description": "Request parameters for cancel customer subscription.", + "required": [ + "cancellationReason" + ], + "type": "object", + "properties": { + "cancellationReason": { + "description": "Cancellation reason.", + "enum": [ + "Other", + "Compromise", + "Dispute" + ], + "type": "string", + "x-ms-enum": { + "name": "CancellationReason", + "modelAsString": true + } + }, + "customerId": { + "description": "The fully qualified ID that uniquely identifies a customer.", + "type": "string" + } + } + }, + "EnrollmentAccountSubscriptionDetails": { + "description": "The billing properties that can be modified. Available only for the Enterprise Agreement Type.", + "type": "object", + "properties": { + "enrollmentAccountStartDate": { + "format": "date-time", + "description": "The enrollment Account and the subscription association start date. This field is available only for the Enterprise Agreement Type.", + "type": "string", + "readOnly": true + }, + "subscriptionEnrollmentAccountStatus": { + "description": "The current enrollment account status of the subscription. This field is available only for the Enterprise Agreement Type.", + "enum": [ + "Active", + "Cancelled", + "Expired", + "Deleted", + "TransferredOut", + "Transferring", + "Inactive" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SubscriptionEnrollmentAccountStatus", + "modelAsString": true + } + } + }, + "readOnly": true + }, + "MoveBillingSubscriptionEligibilityResult": { + "description": "Result of the transfer eligibility validation.", + "type": "object", + "properties": { + "isMoveEligible": { + "description": "Specifies whether the subscription is eligible to be transferred.", + "type": "boolean", + "readOnly": true + }, + "errorDetails": { + "description": "Error details of the transfer eligibility validation.", + "$ref": "#/definitions/MoveBillingSubscriptionErrorDetails" + } + } + }, + "MoveBillingSubscriptionErrorDetails": { + "description": "Error details of the transfer eligibility validation.", + "type": "object", + "properties": { + "code": { + "description": "Error code of the transfer validation response.", + "enum": [ + "Other", + "BillingAccountInactive", + "DestinationBillingProfileInactive", + "DestinationBillingProfileNotFound", + "DestinationBillingProfilePastDue", + "DestinationInvoiceSectionInactive", + "DestinationInvoiceSectionNotFound", + "InsufficientPermissionOnDestination", + "InsufficientPermissionOnSource", + "InvalidDestination", + "InvalidSource", + "MarketplaceNotEnabledOnDestination", + "ProductInactive", + "ProductNotFound", + "ProductTypeNotSupported", + "SourceBillingProfilePastDue", + "SourceInvoiceSectionInactive", + "AccountIsLocked", + "AssetHasCap", + "AssetNotActive", + "BillingProfilePastDue", + "CrossBillingAccountNotAllowed", + "NoActiveAzurePlan", + "None", + "SubscriptionNotActive", + "SubscriptionHasReservations", + "SubscriptionTypeNotSupported", + "InvoiceSectionIsRestricted" + ], + "type": "string", + "x-ms-enum": { + "name": "subscriptionTransferValidationErrorCode", + "modelAsString": true + } + }, + "message": { + "description": "The error message.", + "type": "string" + }, + "details": { + "description": "Detailed error message explaining the error.", + "type": "string" + } + } + }, + "MoveBillingSubscriptionRequest": { + "description": "Request parameters to transfer billing subscription.", + "type": "object", + "properties": { + "destinationInvoiceSectionId": { + "description": "The destination invoice section id.", + "type": "string" + }, + "destinationEnrollmentAccountId": { + "description": "The destination enrollment account id.", + "type": "string" + } + } + }, + "NextBillingCycleDetails": { + "description": "Billing cycle details of the product.", + "type": "object", + "properties": { + "billingFrequency": { + "description": "Billing frequency of the product under the subscription.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + }, + "RenewalTermDetails": { + "description": "Details for the next renewal term of a subscription.", + "type": "object", + "properties": { + "billingFrequency": { + "description": "The billing frequency in ISO8601 format of product in the subscription. Example: P1M, P3M, P1Y", + "type": "string", + "readOnly": true + }, + "productId": { + "description": "Id of the product for which the subscription is purchased.", + "type": "string", + "readOnly": true + }, + "productTypeId": { + "description": "Type Id of the product for which the subscription is purchased.", + "type": "string", + "readOnly": true + }, + "skuId": { + "description": "The SKU ID of the product for which the subscription is purchased. This field is is only available for Microsoft Customer Agreement billing accounts.", + "type": "string", + "readOnly": true + }, + "termDuration": { + "description": "The duration in ISO8601 format for which you can use the subscription. Example: P1M, P3M, P1Y", + "type": "string", + "readOnly": true + }, + "quantity": { + "format": "int64", + "description": "The quantity of licenses or fulfillment units for the subscription.", + "type": "integer" + }, + "termEndDate": { + "format": "date-time", + "description": "End date of the term in UTC time.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + }, + "SystemOverrides": { + "description": "System imposed policies that regulate behavior of the subscription.", + "type": "object", + "properties": { + "cancellation": { + "description": "The policy override for the subscription indicates whether the self-serve cancellation or seat reduction is allowed.", + "enum": [ + "NotAllowed", + "Allowed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "Cancellation", + "modelAsString": true + } + }, + "cancellationAllowedEndDate": { + "format": "date-time", + "description": "The end date in UTC time by when the self-serve cancellation ends.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "billingAccountNameParameter": { + "name": "billingAccountName", + "in": "path", + "description": "The ID that uniquely identifies a billing account.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "transferTrackingGuidParameter": { + "name": "transferTrackingGuid", + "in": "path", + "description": "The ID that uniquely identifies a billing subscription transfer request.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingProfileNameParameter": { + "name": "billingProfileName", + "in": "path", + "description": "The ID that uniquely identifies a billing profile.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingSubscriptionAliasNameParameter": { + "name": "aliasName", + "in": "path", + "description": "The ID that uniquely identifies a subscription alias.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingSubscriptionNameParameter": { + "name": "billingSubscriptionName", + "in": "path", + "description": "The ID that uniquely identifies a subscription.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "costCenterNameParameter": { + "name": "costCenterName", + "x-ms-parameter-location": "method", + "in": "query", + "required": true, + "description": "Request parameters that are provided to the update cost center operation.", + "type": "string" + }, + "customerNameParameter": { + "name": "customerName", + "in": "path", + "description": "The ID that uniquely identifies a customer.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "enrollmentAccountNameParameter": { + "name": "enrollmentAccountName", + "in": "path", + "description": "The ID that uniquely identifies an enrollment account.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "departmentNameParameter": { + "name": "departmentName", + "in": "path", + "description": "The ID that uniquely identifies a department.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "invoiceSectionNameParameter": { + "name": "invoiceSectionName", + "in": "path", + "description": "The ID that uniquely identifies an invoice section.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/customer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/customer.json new file mode 100644 index 000000000000..b09b64b1cde4 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/customer.json @@ -0,0 +1,379 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}": { + "get": { + "tags": [ + "Customer" + ], + "description": "Gets a customer by its ID. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Customers_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A partner's customer.", + "schema": { + "$ref": "#/definitions/Customer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CustomersGet": { + "$ref": "./examples/customersGet.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers": { + "get": { + "tags": [ + "Customer" + ], + "description": "Lists the customers that are billed to a billing profile. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Customers_ListByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "query", + "name": "expand", + "description": "May be used to expand enabledAzurePlans and resellers", + "type": "string" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "A list of customers.", + "schema": { + "$ref": "#/definitions/CustomerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CustomersListByBillingProfile": { + "$ref": "./examples/customersListByBillingProfile.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}": { + "get": { + "tags": [ + "Customer" + ], + "description": "Gets a customer by its ID at billing account level. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Customers_GetByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A partner's customer.", + "schema": { + "$ref": "#/definitions/Customer" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CustomersGetByBillingAccount": { + "$ref": "./examples/customersGetByBillingAccount.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers": { + "get": { + "tags": [ + "Customer" + ], + "description": "Lists the customers that are billed to a billing account. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Customers_ListByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "query", + "name": "expand", + "description": "May be used to expand enabledAzurePlans and resellers", + "type": "string" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "A list of customers.", + "schema": { + "$ref": "#/definitions/CustomerListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CustomersListByBillingAccount": { + "$ref": "./examples/customersListByBillingAccount.json" + }, + "CustomersListByBillingAccountWithExpand": { + "$ref": "./examples/customersListByBillingAccountWithExpand.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Customer": { + "description": "A partner's customer.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CustomerProperties" + } + }, + "x-ms-azure-resource": true + }, + "CustomerListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Customer" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "CustomerProperties": { + "description": "A partner's customer.", + "type": "object", + "properties": { + "billingProfileDisplayName": { + "description": "The name of the billing profile.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The fully qualified ID that uniquely identifies a billing profile.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "The name of the customer.", + "type": "string", + "readOnly": true + }, + "systemId": { + "description": "The system generated unique identifier for a customer.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "Identifies the status of an customer. This is an upcoming property that will be populated in the future.", + "enum": [ + "Other", + "Active", + "Pending", + "Disabled", + "Warned", + "Deleted", + "UnderReview" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "CustomerStatus", + "modelAsString": true + } + }, + "enabledAzurePlans": { + "description": "Azure plans enabled for the customer.", + "type": "array", + "items": { + "$ref": "./types.json#/definitions/AzurePlan" + }, + "x-ms-identifiers": [] + }, + "resellers": { + "description": "The list of resellers for which an Azure plan is enabled for the customer.", + "type": "array", + "items": { + "$ref": "./types.json#/definitions/Reseller" + }, + "x-ms-identifiers": [] + }, + "tags": { + "description": "Dictionary of metadata associated with the resource. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \\ ? /", + "type": "object", + "additionalProperties": { + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/department.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/department.json new file mode 100644 index 000000000000..0f713d098362 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/department.json @@ -0,0 +1,204 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}": { + "get": { + "tags": [ + "Department" + ], + "description": "Gets a department by ID. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Departments_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/departmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Department" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DepartmentGet": { + "$ref": "./examples/departmentGet.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments": { + "get": { + "tags": [ + "Department" + ], + "description": "Lists the departments that a user has access to. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Departments_ListByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DepartmentListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DepartmentsListByBillingAccount": { + "$ref": "./examples/departmentsListByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "Department": { + "description": "Optional grouping of enrollment accounts to segment costs into logical groupings and set budgets.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/DepartmentProperties" + } + }, + "x-ms-azure-resource": true + }, + "DepartmentListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Department" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "DepartmentProperties": { + "description": "Optional grouping of enrollment accounts to segment costs into logical groupings and set budgets.", + "type": "object", + "properties": { + "costCenter": { + "description": "The cost center associated with the department.", + "type": "string" + }, + "displayName": { + "description": "The name of the department.", + "type": "string" + }, + "id": { + "description": "The ID that uniquely identifies the department.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the department.", + "type": "string", + "readOnly": true + } + } + } + }, + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/enrollmentAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/enrollmentAccount.json new file mode 100644 index 000000000000..e4d18239081e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/enrollmentAccount.json @@ -0,0 +1,352 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/enrollmentAccounts/{enrollmentAccountName}": { + "get": { + "tags": [ + "EnrollmentAccount" + ], + "description": "Gets an enrollment account by department. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "EnrollmentAccounts_GetByDepartment", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/departmentName" + }, + { + "$ref": "./types.json#/parameters/enrollmentAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnrollmentAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnrollmentAccountByDepartment": { + "$ref": "./examples/enrollmentAccountByDepartment.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/enrollmentAccounts": { + "get": { + "tags": [ + "EnrollmentAccount" + ], + "description": "Lists the enrollment accounts for a department. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "EnrollmentAccounts_ListByDepartment", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/departmentName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnrollmentAccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnrollmentAccountsListByDepartment": { + "$ref": "./examples/enrollmentAccountsListByDepartment.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}": { + "get": { + "tags": [ + "EnrollmentAccount" + ], + "description": "Gets an enrollment account by ID. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "EnrollmentAccounts_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/enrollmentAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnrollmentAccount" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnrollmentAccountGet": { + "$ref": "./examples/enrollmentAccountGet.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts": { + "get": { + "tags": [ + "EnrollmentAccount" + ], + "description": "Lists the enrollment accounts for a billing account. The operation is supported only for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "EnrollmentAccounts_ListByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnrollmentAccountListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnrollmentAccountsListByBillingAccount": { + "$ref": "./examples/enrollmentAccountsListByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "EnrollmentAccount": { + "description": "It is an organizational hierarchy within a billing account to administer and manage azure costs.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/EnrollmentAccountProperties" + } + }, + "x-ms-azure-resource": true + }, + "EnrollmentAccountListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/EnrollmentAccount" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "EnrollmentAccountProperties": { + "description": "It is an organizational hierarchy within a billing account to administer and manage azure costs.", + "type": "object", + "properties": { + "costCenter": { + "description": "The cost center associated with the enrollment account.", + "type": "string" + }, + "displayName": { + "description": "The name of the enrollment account.", + "type": "string" + }, + "departmentDisplayName": { + "description": "The name of the department under which the enrollment account exists.", + "type": "string", + "readOnly": true + }, + "departmentId": { + "description": "The ID that uniquely identifies the department.", + "type": "string", + "readOnly": true + }, + "isDevTestEnabled": { + "description": "Boolean flag which enables subscribers to run development and testing workloads on Azure at special Dev/Test rates.", + "type": "boolean" + }, + "accountOwner": { + "description": "The owner of the enrollment account.", + "type": "string", + "readOnly": true + }, + "authType": { + "description": "The authorization type of the enrollment account.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the enrollment account.", + "type": "string", + "readOnly": true + }, + "startDate": { + "format": "date-time", + "description": "The date from which the enrollment account became valid and functional.", + "type": "string", + "readOnly": true + }, + "endDate": { + "format": "date-time", + "description": "The date of expiration of the enrollment account.", + "type": "string", + "readOnly": true + } + } + } + }, + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/addressValidateInvalid.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/addressValidateInvalid.json new file mode 100644 index 000000000000..00d4ffedb254 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/addressValidateInvalid.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "parameters": { + "addressLine1": "1 Test", + "city": "bellevue", + "country": "us", + "postalCode": "12345", + "region": "wa" + } + }, + "responses": { + "200": { + "body": { + "status": "Invalid", + "suggestedAddresses": [ + { + "addressLine1": "1 Test Address", + "city": "Bellevue", + "country": "US", + "postalCode": "98052", + "region": "WA" + }, + { + "addressLine1": "1 Test Address", + "city": "Bellevue", + "country": "US", + "postalCode": "12345-0000", + "region": "WA" + } + ], + "validationMessage": "Invalid address" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/addressValidateValid.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/addressValidateValid.json new file mode 100644 index 000000000000..e5151a2e24e1 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/addressValidateValid.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "parameters": { + "addressLine1": "1 Test", + "city": "bellevue", + "country": "us", + "postalCode": "12345", + "region": "wa" + } + }, + "responses": { + "200": { + "body": { + "status": "Valid" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/agreementByName.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/agreementByName.json new file mode 100644 index 000000000000..bdfd3e93dc2a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/agreementByName.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "agreementName": "ABC123" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/agreements/ABC123", + "name": "ABC123", + "properties": { + "acceptanceMode": "ClickToAccept", + "agreementLink": "https://contoso.com", + "displayName": "Microsoft Customer Agreement", + "effectiveDate": "2018-11-01T00:00:00Z", + "expirationDate": "2019-11-01T00:00:00Z", + "status": "Active", + "leadBillingAccountName": "20000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "type": "Microsoft.Billing/billingAccounts/agreements" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/agreementsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/agreementsListByBillingAccount.json new file mode 100644 index 000000000000..283236bf49f7 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/agreementsListByBillingAccount.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "expand": "Participants" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/agreements/ABC123", + "name": "ABC123", + "properties": { + "acceptanceMode": "ClickToAccept", + "agreementLink": "https://contoso.com", + "displayName": "Microsoft Customer Agreement", + "effectiveDate": "2018-11-01T00:00:00Z", + "expirationDate": "2019-11-01T00:00:00Z", + "participants": [ + { + "email": "abc@contoso.com", + "status": "Accepted", + "statusDate": "2018-11-01T00:00:00Z" + }, + { + "email": "xtz@contoso.com", + "status": "Declined", + "statusDate": "2018-11-02T00:00:00Z" + } + ], + "status": "Active", + "leadBillingAccountName": "20000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "type": "Microsoft.Billing/billingAccounts/agreements" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/agreements/DEF456", + "name": "DEF456", + "properties": { + "acceptanceMode": "ESignEmbedded", + "agreementLink": "https://contoso.com", + "displayName": "Microsoft Customer Agreement", + "effectiveDate": "2018-12-05T00:00:00Z", + "expirationDate": "2019-12-05T00:00:00Z", + "participants": [ + { + "email": "abc@contoso.com", + "status": "Pending", + "statusDate": "2018-12-05T00:00:00Z" + } + ], + "status": "PendingSignature", + "leadBillingAccountName": "20000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "type": "Microsoft.Billing/billingAccounts/agreements" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/associatedTenantsCreateOrUpdate.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/associatedTenantsCreateOrUpdate.json new file mode 100644 index 000000000000..7367b006742b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/associatedTenantsCreateOrUpdate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "associatedTenantName": "11111111-1111-1111-1111-111111111111", + "parameters": { + "properties": { + "displayName": "Contoso Finance", + "billingManagementState": "Active", + "provisioningManagementState": "Pending" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/associatedTenants/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "properties": { + "displayName": "Contoso Finance", + "tenantId": "11111111-1111-1111-1111-111111111111", + "billingManagementState": "Active", + "provisioningManagementState": "Pending", + "provisioningBillingRequestId": "/providers/Microsoft.Billing/billingRequests/22222222-2222-2222-2222-222222222222" + }, + "type": "Microsoft.Billing/billingAccounts/associatedTenants" + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/associatedTenants/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "properties": { + "displayName": "Contoso Finance", + "tenantId": "11111111-1111-1111-1111-111111111111", + "billingManagementState": "Active", + "provisioningManagementState": "Pending", + "provisioningBillingRequestId": "/providers/Microsoft.Billing/billingRequests/22222222-2222-2222-2222-222222222222" + }, + "type": "Microsoft.Billing/billingAccounts/associatedTenants" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/associatedTenantsDelete.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/associatedTenantsDelete.json new file mode 100644 index 000000000000..17946737cdb4 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/associatedTenantsDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "associatedTenantName": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/operationResults/deleteAssociatedTenant_00000000-0000-0000-0000-000000000000?api-version=2024-04-01", + "retry-after": "10" + } + }, + "204": {} + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/associatedTenantsGet.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/associatedTenantsGet.json new file mode 100644 index 000000000000..704bd064d321 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/associatedTenantsGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "associatedTenantName": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/associatedTenants/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "properties": { + "displayName": "Contoso Finance", + "tenantId": "11111111-1111-1111-1111-111111111111", + "billingManagementState": "Active", + "provisioningManagementState": "Pending", + "provisioningBillingRequestId": "/providers/Microsoft.Billing/billingRequests/22222222-2222-2222-2222-222222222222" + }, + "type": "Microsoft.Billing/billingAccounts/associatedTenants" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/associatedTenantsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/associatedTenantsListByBillingAccount.json new file mode 100644 index 000000000000..c2329496b2cc --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/associatedTenantsListByBillingAccount.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-000000000000:00000000-0000-0000-000000000000_2019-05-31/associatedTenants/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "properties": { + "displayName": "Contoso Finance", + "tenantId": "11111111-1111-1111-1111-111111111111", + "billingManagementState": "Active", + "provisioningManagementState": "NotRequested" + }, + "type": "Microsoft.Billing/billingAccounts/associatedTenants" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-000000000000:00000000-0000-0000-000000000000_2019-05-31/associatedTenants/22222222-2222-2222-2222-222222222222", + "name": "22222222-2222-2222-2222-222222222222", + "properties": { + "displayName": "Contoso Engineering", + "tenantId": "22222222-2222-2222-2222-222222222222", + "billingManagementState": "NotAllowed", + "provisioningManagementState": "Pending", + "provisioningBillingRequestId": "/providers/Microsoft.Billing/billingRequests/22222222-2222-2222-2222-222222222222" + }, + "type": "Microsoft.Billing/billingAccounts/associatedTenants" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/availableBalanceGetByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/availableBalanceGetByBillingAccount.json new file mode 100644 index 000000000000..f915eff05d30 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/availableBalanceGetByBillingAccount.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/availableBalance/default", + "name": "default", + "properties": { + "amount": { + "currency": "USD", + "value": 500 + }, + "paymentsOnAccount": [ + { + "amount": { + "currency": "USD", + "value": 50 + }, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Contoso Finance", + "invoiceId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/G123456789", + "invoiceName": "G123456789", + "date": "2024-04-01T00:00:00.0000000Z", + "type": "CheckWire" + }, + { + "amount": { + "currency": "USD", + "value": 150 + }, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/yyyy-yyyy-yyy-yyy", + "billingProfileDisplayName": "Contoso Engineering", + "invoiceId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/G987654321", + "invoiceName": "G987654321", + "date": "2023-01-01T00:00:00.0000000Z", + "type": "CheckWire" + } + ], + "totalPaymentsOnAccount": { + "currency": "USD", + "value": 200 + } + }, + "type": "Microsoft.Billing/billingAccounts/availableBalance" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/availableBalanceGetByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/availableBalanceGetByBillingProfile.json new file mode 100644 index 000000000000..001a4baece76 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/availableBalanceGetByBillingProfile.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/availableBalance/default", + "name": "default", + "properties": { + "amount": { + "currency": "USD", + "value": 500 + }, + "paymentsOnAccount": [ + { + "amount": { + "currency": "USD", + "value": 50 + }, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Contoso Finance", + "invoiceId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/G123456789", + "invoiceName": "G123456789", + "date": "2024-04-01T00:00:00.0000000Z", + "type": "CheckWire" + } + ], + "totalPaymentsOnAccount": { + "currency": "USD", + "value": 200 + } + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/availableBalance" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountForLegacyAccountDetails.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountForLegacyAccountDetails.json new file mode 100644 index 000000000000..f7e56656bc53 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountForLegacyAccountDetails.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/20000000-0000-0000-0000-000000000001", + "name": "20000000-0000-0000-0000-000000000001", + "properties": { + "accountStatus": "Active", + "accountType": "Individual", + "agreementType": "MicrosoftOnlineServicesProgram", + "displayName": "Individual Account 2", + "hasReadAccess": true, + "notificationEmailAddress": "individual@domain.com" + }, + "type": "Microsoft.Billing/billingAccounts" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountUpdateWithPONumber.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountUpdateWithPONumber.json new file mode 100644 index 000000000000..7321a968cdde --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountUpdateWithPONumber.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "6575495", + "parameters": { + "properties": { + "enrollmentDetails": { + "poNumber": "poNumber123" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/6575495", + "name": "6575495", + "properties": { + "accountStatus": "Active", + "accountType": "Enterprise", + "accountSubType": "None", + "agreementType": "EnterpriseAgreement", + "displayName": "Enterprise Account", + "enrollmentDetails": { + "startDate": "2018-05-01T17:32:28Z", + "endDate": "2019-05-31T17:32:28Z", + "currency": "USD", + "channel": "EaDirect", + "language": "en", + "countryCode": "US", + "billingCycle": "Monthly", + "extendedTermOption": "Opted-Out", + "supportLevel": "Standard", + "supportCoverage": "1/26/2021 - 6/30/2021", + "cloud": "Azure Commercial", + "poNumber": "poNumber123" + }, + "hasReadAccess": true, + "soldTo": { + "addressLine1": "Test Address", + "addressLine2": "Test Address", + "addressLine3": "Test Address", + "city": "City", + "country": "US", + "postalCode": "00000", + "region": "WA" + } + }, + "type": "Microsoft.Billing/billingAccounts", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/6575495/operationStatus/65e1f2bf-c31c-4b89-a599-25d9d4172af9?api-version=2024-04-01", + "retry-after": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountWithExpandForPONumber.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountWithExpandForPONumber.json new file mode 100644 index 000000000000..a8a4eae01e60 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountWithExpandForPONumber.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "8608480", + "expand": "enrollmentDetails/poNumber" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/6564892", + "name": "6564892", + "properties": { + "accountStatus": "Active", + "accountType": "Enterprise", + "agreementType": "EnterpriseAgreement", + "displayName": "Enterprise Account", + "enrollmentDetails": { + "startDate": "2018-05-01T17:32:28Z", + "endDate": "2019-05-31T17:32:28Z", + "currency": "USD", + "channel": "EaDirect", + "language": "en", + "countryCode": "US", + "billingCycle": "Monthly", + "extendedTermOption": "Opted-Out", + "supportLevel": "Standard", + "supportCoverage": "1/26/2021 - 6/30/2021", + "cloud": "Azure Commercial", + "poNumber": "poNumber123" + }, + "hasReadAccess": true + }, + "type": "Microsoft.Billing/billingAccounts", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountWithRegistrationNumberWithDefaultType.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountWithRegistrationNumberWithDefaultType.json new file mode 100644 index 000000000000..86534b8a205f --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountWithRegistrationNumberWithDefaultType.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "name": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "properties": { + "accountStatus": "Active", + "accountType": "Business", + "accountSubType": "Enterprise", + "agreementType": "MicrosoftCustomerAgreement", + "displayName": "Premier Business Account", + "hasReadAccess": true, + "primaryBillingTenantId": "20000000-0000-0000-0000-000000000001", + "registrationNumber": { + "id": "RegistrationId", + "type": [ + "RegistrationNumber" + ] + } + }, + "type": "Microsoft.Billing/billingAccounts", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountWithRegistrationNumberWithType.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountWithRegistrationNumberWithType.json new file mode 100644 index 000000000000..9b19667a2f93 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountWithRegistrationNumberWithType.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "name": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "properties": { + "accountStatus": "Active", + "accountType": "Business", + "accountSubType": "Enterprise", + "agreementType": "MicrosoftCustomerAgreement", + "displayName": "Premier Business Account", + "hasReadAccess": true, + "primaryBillingTenantId": "20000000-0000-0000-0000-000000000001", + "registrationNumber": { + "id": "SomeRegistrationId", + "required": true, + "type": [ + "TIN" + ] + } + }, + "type": "Microsoft.Billing/billingAccounts", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsConfirmTransition.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsConfirmTransition.json new file mode 100644 index 000000000000..90931c5366b0 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsConfirmTransition.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "responses": { + "200": { + "body": { + "transitionDate": "2021-05-17T00:00:00Z", + "anniversaryDay": 12 + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsGet.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsGet.json new file mode 100644 index 000000000000..0fc46a87e950 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "name": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "properties": { + "accountStatus": "Active", + "accountType": "Business", + "accountSubType": "Enterprise", + "agreementType": "MicrosoftCustomerAgreement", + "displayName": "Premier Business Account", + "hasReadAccess": true, + "primaryBillingTenantId": "20000000-0000-0000-0000-000000000001" + }, + "type": "Microsoft.Billing/billingAccounts", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsGetEA.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsGetEA.json new file mode 100644 index 000000000000..392b6b882046 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsGetEA.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "6575495" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/6575495", + "name": "6575495", + "properties": { + "agreementType": "EnterpriseAgreement", + "enrollmentDetails": { + "startDate": "2018-05-01T17:32:28Z", + "endDate": "2019-05-31T17:32:28Z", + "currency": "USD", + "channel": "EaDirect", + "language": "en", + "countryCode": "US", + "billingCycle": "Monthly", + "extendedTermOption": "Opted-Out", + "supportLevel": "Standard", + "supportCoverage": "1/26/2021 - 6/30/2021", + "cloud": "Azure Commercial", + "markupStatus": "Published", + "indirectRelationshipInfo": { + "billingAccountName": "pcn.12345", + "billingProfileName": "", + "displayName": "Test partner" + }, + "invoiceRecipient": "abc@contoso.com" + }, + "soldTo": { + "addressLine1": "Test Address", + "addressLine2": "Test Address", + "addressLine3": "Test Address", + "city": "City", + "country": "US", + "postalCode": "00000", + "region": "WA" + } + }, + "type": "Microsoft.Billing/billingAccounts" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsGetWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsGetWithExpand.json new file mode 100644 index 000000000000..7c101eff04f6 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsGetWithExpand.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "expand": "SoldTo" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "name": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "properties": { + "accountStatus": "Active", + "accountType": "Business", + "accountSubType": "Enterprise", + "agreementType": "MicrosoftCustomerAgreement", + "displayName": "Premier Business Account", + "hasReadAccess": true, + "primaryBillingTenantId": "20000000-0000-0000-0000-000000000001", + "soldTo": { + "addressLine1": "1 Microsoft Way", + "city": "Redmond", + "companyName": "Contoso", + "country": "US", + "postalCode": "98052-8300", + "region": "WA", + "isValidAddress": true + } + }, + "type": "Microsoft.Billing/billingAccounts", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsList.json new file mode 100644 index 000000000000..02fe22b4756a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsList.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "name": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "properties": { + "accountStatus": "Active", + "accountType": "Business", + "accountSubType": "Enterprise", + "agreementType": "MicrosoftCustomerAgreement", + "displayName": "Premier Business Account", + "hasReadAccess": true, + "primaryBillingTenantId": "20000000-0000-0000-0000-000000000001" + }, + "type": "Microsoft.Billing/billingAccounts", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/20000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "name": "20000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "properties": { + "accountStatus": "Active", + "accountType": "Business", + "accountSubType": "Professional", + "agreementType": "MicrosoftCustomerAgreement", + "displayName": "Standard Business Account", + "hasReadAccess": true, + "primaryBillingTenantId": "20000000-0000-0000-0000-000000000001" + }, + "type": "Microsoft.Billing/billingAccounts", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/30000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "name": "30000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "properties": { + "accountStatus": "Active", + "accountType": "Individual", + "accountSubType": "Individual", + "agreementType": "MicrosoftCustomerAgreement", + "displayName": "Individual Account", + "hasReadAccess": true, + "primaryBillingTenantId": "20000000-0000-0000-0000-000000000001" + }, + "type": "Microsoft.Billing/billingAccounts", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/40000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "name": "40000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "properties": { + "accountStatus": "Active", + "accountType": "Business", + "accountSubType": "Enterprise", + "agreementType": "MicrosoftPartnerAgreement", + "displayName": "Premier Business Account", + "hasReadAccess": true, + "primaryBillingTenantId": "20000000-0000-0000-0000-000000000001" + }, + "type": "Microsoft.Billing/billingAccounts", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsListWithExpandForPONumber.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsListWithExpandForPONumber.json new file mode 100644 index 000000000000..0174a6199e51 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsListWithExpandForPONumber.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "expand": "soldTo,enrollmentDetails/poNumber" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/6564892", + "name": "6564892", + "properties": { + "accountStatus": "Active", + "accountType": "Enterprise", + "accountSubType": "None", + "agreementType": "EnterpriseAgreement", + "displayName": "Enterprise Account", + "enrollmentDetails": { + "startDate": "2018-05-01T17:32:28Z", + "endDate": "2019-05-31T17:32:28Z", + "currency": "USD", + "channel": "EaDirect", + "language": "en", + "countryCode": "US", + "billingCycle": "Monthly", + "extendedTermOption": "Opted-Out", + "supportLevel": "Standard", + "supportCoverage": "1/26/2021 - 6/30/2021", + "cloud": "Azure Commercial", + "poNumber": "poNumber123" + }, + "hasReadAccess": true, + "soldTo": { + "addressLine1": "Test Address", + "city": "City", + "companyName": "Enterprise Company", + "country": "US", + "postalCode": "00000-1111", + "region": "WA" + } + }, + "type": "Microsoft.Billing/billingAccounts", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsUpdate.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsUpdate.json new file mode 100644 index 000000000000..5ca422dc07fc --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingAccountsUpdate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "parameters": { + "properties": { + "displayName": "Test Account", + "soldTo": { + "addressLine1": "1 Microsoft Way", + "city": "Redmond", + "companyName": "Contoso", + "country": "US", + "postalCode": "98052-8300", + "region": "WA" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "name": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "properties": { + "accountStatus": "Active", + "accountType": "Business", + "accountSubType": "Enterprise", + "agreementType": "MicrosoftCustomerAgreement", + "displayName": "Premier Business Account", + "hasReadAccess": true, + "primaryBillingTenantId": "20000000-0000-0000-0000-000000000001", + "soldTo": { + "addressLine1": "1 Microsoft Way", + "city": "Redmond", + "companyName": "Contoso", + "country": "US", + "postalCode": "98052-8300", + "region": "WA", + "isValidAddress": true + } + }, + "type": "Microsoft.Billing/billingAccounts", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/operationResults/patchBillingAccount_11111111-1111-1111-1111-111111111111?api-version=2024-04-01", + "retry-after": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByBillingAccount.json new file mode 100644 index 000000000000..3519809beda0 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByBillingAccount.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000015", + "20000000-aaaa-bbbb-cccc-200000000002", + "30000000-aaaa-bbbb-cccc-200000000009", + "40000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000000", + "20000000-aaaa-bbbb-cccc-200000000000", + "10000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000008", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000001" + ], + "notActions": [] + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByBillingProfile.json new file mode 100644 index 000000000000..30679725582c --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByBillingProfile.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000015", + "20000000-aaaa-bbbb-cccc-200000000002", + "30000000-aaaa-bbbb-cccc-200000000009", + "40000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000000", + "20000000-aaaa-bbbb-cccc-200000000000", + "10000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000008", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000001" + ], + "notActions": [] + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByCustomer.json new file mode 100644 index 000000000000..fb764cafa323 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByCustomer.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "BKM6-54VH-BG7-PGB", + "customerName": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "actions": [ + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000009", + "30000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000001" + ], + "notActions": [] + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByCustomerAtBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByCustomerAtBillingAccount.json new file mode 100644 index 000000000000..e95cf4b397d2 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByCustomerAtBillingAccount.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "customerName": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "actions": [ + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000009", + "30000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000001" + ], + "notActions": [] + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByDepartment.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByDepartment.json new file mode 100644 index 000000000000..2b7fd0d80bdb --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByDepartment.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "6100092", + "departmentName": "123456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "actions": [ + "Microsoft.Billing/billingAccounts/departments/read", + "Microsoft.Billing/billingAccounts/departments/write", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/write", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write" + ], + "notActions": [] + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByEnrollmentAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByEnrollmentAccount.json new file mode 100644 index 000000000000..c694c3a90d9a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByEnrollmentAccount.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "6100092", + "enrollmentAccountName": "123456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "actions": [ + "Microsoft.Billing/billingAccounts/enrollmentAccounts/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/write", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write" + ], + "notActions": [] + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByInvoiceSection.json new file mode 100644 index 000000000000..6ef4355259fc --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPermissionsListByInvoiceSection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "invoiceSectionName": "XXXX-XXXX-XXX-XXX" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "actions": [ + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000009", + "30000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000001" + ], + "notActions": [] + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesCreateOrUpdate.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesCreateOrUpdate.json new file mode 100644 index 000000000000..9b1233afe9d0 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesCreateOrUpdate.json @@ -0,0 +1,154 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "parameters": { + "properties": { + "billTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "displayName": "Billing Profile 1", + "enabledAzurePlans": [ + { + "skuId": "0001" + }, + { + "skuId": "0002" + } + ], + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "shipTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "name": "xxxx-xxxx-xxx-xxx", + "properties": { + "billTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "currency": "USD", + "displayName": "Billing Profile 1", + "hasReadAccess": true, + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "shipTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "status": "Active", + "systemId": "11111111-1111-1111-1111-111111111111" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles" + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "name": "xxxx-xxxx-xxx-xxx", + "properties": { + "billTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "currency": "USD", + "displayName": "Billing Profile 1", + "hasReadAccess": true, + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "shipTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "status": "Active", + "systemId": "11111111-1111-1111-1111-111111111111" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/operationResults/putBillingProfile_00000000-0000-0000-0000-000000000000?api-version=2024-04-01", + "retry-after": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesDelete.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesDelete.json new file mode 100644 index 000000000000..5dc408f1b7ce --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesDelete.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "parameters": { + "properties": { + "billTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "displayName": "Billing Profile 1", + "enabledAzurePlans": [ + { + "skuId": "0001" + }, + { + "skuId": "0002" + } + ], + "invoiceEmailOptIn": true, + "poNumber": "ABC12345", + "shipTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + } + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/operationResults/deleteBillingProfile_00000000-0000-0000-0000-000000000000?api-version=2024-04-01", + "retry-after": "10" + } + }, + "204": {} + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesGet.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesGet.json new file mode 100644 index 000000000000..9bd3c1489818 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesGet.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "name": "xxxx-xxxx-xxx-xxx", + "properties": { + "billTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "currency": "USD", + "displayName": "Billing Profile 1", + "hasReadAccess": true, + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "invoiceRecipients": [ + "abc@contoso.com", + "xyz@contoso.com" + ], + "poNumber": "ABC12345", + "shipTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "soldTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "spendingLimit": "On", + "spendingLimitDetails": [ + { + "amount": 200, + "currency": "USD", + "startDate": "2018-01-01T00:00:00.0000000Z", + "endDate": "2019-01-01T00:00:00.0000000Z", + "type": "FreeAccount", + "status": "Active" + } + ], + "status": "Warned", + "statusReasonCode": "PastDue", + "systemId": "11111111-1111-1111-1111-111111111111" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesListByBillingAccount.json new file mode 100644 index 000000000000..670323da178e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesListByBillingAccount.json @@ -0,0 +1,219 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "name": "xxxx-xxxx-xxx-xxx", + "properties": { + "billTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "currency": "USD", + "displayName": "Billing Profile 1", + "hasReadAccess": true, + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "invoiceRecipients": [ + "abc@contoso.com", + "xyz@contoso.com" + ], + "poNumber": "ABC12345", + "shipTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "soldTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "spendingLimit": "On", + "spendingLimitDetails": [ + { + "amount": 200, + "currency": "USD", + "startDate": "2018-01-01T00:00:00.0000000Z", + "endDate": "2019-01-01T00:00:00.0000000Z", + "type": "FreeAccount", + "status": "Active" + } + ], + "status": "Warned", + "statusReasonCode": "PastDue", + "systemId": "11111111-1111-1111-1111-111111111111" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/yyyy-yyyy-yyy-yyy", + "name": "yyyy-yyyy-yyy-yyy", + "properties": { + "billTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "currency": "USD", + "displayName": "Billing Profile 2", + "hasReadAccess": true, + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "invoiceRecipients": [ + "abc@contoso.com", + "xyz@contoso.com" + ], + "poNumber": "ABC12345", + "shipTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "soldTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "status": "UnderReview", + "statusReasonCode": "UnusualActivity", + "systemId": "22222222-2222-2222-2222-222222222222" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/zzzz-zzzz-zzz-zzz", + "name": "zzzz-zzzz-zzz-zzz", + "properties": { + "billTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "currency": "USD", + "displayName": "Billing Profile 1", + "hasReadAccess": true, + "invoiceDay": 5, + "invoiceEmailOptIn": true, + "invoiceRecipients": [ + "abc@contoso.com", + "xyz@contoso.com" + ], + "poNumber": "ABC12345", + "shipTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "soldTo": { + "addressLine1": "Test Address1", + "addressLine2": "Test Address2", + "addressLine3": "Test Address3", + "city": "City", + "companyName": "Contoso", + "country": "US", + "email": "abc@contoso.com", + "firstName": "Test", + "lastName": "User", + "phoneNumber": "000-000-0000", + "postalCode": "00000", + "region": "WA", + "isValidAddress": true + }, + "status": "Active", + "systemId": "33333333-3333-3333-3333-333333333333" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesValidateDeleteEligibilityFailure.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesValidateDeleteEligibilityFailure.json new file mode 100644 index 000000000000..f4cb52ebad28 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesValidateDeleteEligibilityFailure.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx" + }, + "responses": { + "200": { + "body": { + "eligibilityStatus": "NotAllowed", + "eligibilityDetails": [ + { + "code": "ActiveBillingSubscriptions", + "message": "There are active or disabled subscriptions assigned to the invoice section. Either move the subscription to another invoice section or delete the subscriptions and then try deleting the invoice section." + }, + { + "code": "LastBillingProfile", + "message": "Billing profile cannot be deleted as this is the only billing profile in this billing account." + }, + { + "code": "OutstandingCharges", + "message": "Billing Profile cannot be deleted as there are outstanding charges on this billing profile." + }, + { + "code": "PendingCharges", + "message": "Billing Profile cannot be deleted as there are pending charges accumulating on this billing profile." + }, + { + "code": "ReservedInstances", + "message": "Billing Profile cannot be deleted as there are reserved assets with a billing plan." + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesValidateDeleteEligibilitySuccess.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesValidateDeleteEligibilitySuccess.json new file mode 100644 index 000000000000..540e412efe3a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingProfilesValidateDeleteEligibilitySuccess.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPropertyGetMCA.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPropertyGetMCA.json new file mode 100644 index 000000000000..d5816237b19a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPropertyGetMCA.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "subscriptionId": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingProperty/default", + "name": "default", + "properties": { + "billingAccountAgreementType": "MicrosoftCustomerAgreement", + "billingAccountDisplayName": "My Account", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000", + "billingAccountSoldToCountry": "US", + "billingAccountType": "Business", + "billingProfileDisplayName": "Contoso", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000/billingProfiles/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileSpendingLimit": "Off", + "billingProfileStatus": "Active", + "costCenter": "1010", + "invoiceSectionDisplayName": "Operations", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000/billingProfiles/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "skuDescription": "Microsoft Azure Plan", + "skuId": "0001", + "subscriptionBillingStatus": "Active", + "subscriptionBillingStatusDetails": [ + { + "effectiveDate": "2023-01-01T17:32:28Z", + "reason": "Cancelled" + } + ], + "subscriptionBillingType": "Free", + "subscriptionWorkloadType": "Production" + }, + "type": "Microsoft.Billing/billingProperty" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPropertyGetMOSP.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPropertyGetMOSP.json new file mode 100644 index 000000000000..f0b6b65b9964 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPropertyGetMOSP.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "subscriptionId": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingProperty/default", + "name": "default", + "properties": { + "billingAccountAgreementType": "MicrosoftOnlineServicesProgram", + "billingAccountDisplayName": "My Account", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000", + "billingAccountSoldToCountry": "US", + "billingAccountType": "Individual", + "subscriptionBillingType": "Free", + "subscriptionServiceUsageAddress": { + "addressLine1": "Address line 1", + "addressLine2": "Address line 2", + "city": "City", + "country": "US", + "firstName": "Jenny", + "lastName": "Doe", + "middleName": "Ann", + "postalCode": "12345", + "region": "State" + }, + "subscriptionWorkloadType": "Production" + }, + "type": "Microsoft.Billing/billingProperty" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPropertyGetMPA.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPropertyGetMPA.json new file mode 100644 index 000000000000..62788e6d64ae --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPropertyGetMPA.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "subscriptionId": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingProperty/default", + "name": "default", + "properties": { + "billingAccountAgreementType": "MicrosoftCustomerAgreement", + "billingAccountDisplayName": "My Account", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000", + "billingAccountSoldToCountry": "US", + "billingAccountType": "Business", + "billingProfileDisplayName": "Contoso", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000/billingProfiles/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileSpendingLimit": "Off", + "billingProfileStatus": "Active", + "costCenter": "1010", + "customerDisplayName": "Operations", + "customerId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000/billingProfiles/billingProfiles/xxxx-xxxx-xxx-xxx/customers/yyyy-yyyy-yyy-yyy", + "skuDescription": "Microsoft Azure Plan", + "skuId": "0001", + "subscriptionBillingStatus": "Active", + "subscriptionBillingStatusDetails": [ + { + "effectiveDate": "2023-01-01T17:32:28Z", + "reason": "Cancelled" + } + ], + "subscriptionBillingType": "Free", + "subscriptionWorkloadType": "Production" + }, + "type": "Microsoft.Billing/billingProperty" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPropertyPatchCostCenter.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPropertyPatchCostCenter.json new file mode 100644 index 000000000000..6a4dbba742cf --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPropertyPatchCostCenter.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "subscriptionId": "11111111-1111-1111-1111-111111111111", + "parameters": { + "properties": { + "costCenter": "1010" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingProperty/default", + "name": "default", + "properties": { + "billingAccountAgreementType": "MicrosoftCustomerAgreement", + "billingAccountDisplayName": "My Account", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000", + "billingAccountSoldToCountry": "US", + "billingAccountType": "Business", + "billingProfileDisplayName": "Contoso", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000/billingProfiles/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileSpendingLimit": "Off", + "billingProfileStatus": "Active", + "costCenter": "1010", + "invoiceSectionDisplayName": "Operations", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000/billingProfiles/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "skuDescription": "Microsoft Azure Plan", + "skuId": "0001", + "subscriptionBillingStatus": "Active", + "subscriptionBillingStatusDetails": [ + { + "effectiveDate": "2023-01-01T17:32:28Z", + "reason": "Cancelled" + } + ], + "subscriptionBillingType": "Free", + "subscriptionWorkloadType": "Production" + }, + "type": "Microsoft.Billing/billingProperty" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPropertyPatchSubscriptionServiceUsageAddress.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPropertyPatchSubscriptionServiceUsageAddress.json new file mode 100644 index 000000000000..4dfbd8a24af2 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingPropertyPatchSubscriptionServiceUsageAddress.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "subscriptionId": "11111111-1111-1111-1111-111111111111", + "parameters": { + "properties": { + "subscriptionServiceUsageAddress": { + "addressLine1": "Address line 1", + "addressLine2": "Address line 2", + "city": "City", + "country": "US", + "firstName": "Jenny", + "lastName": "Doe", + "middleName": "Ann", + "postalCode": "12345", + "region": "State" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/11111111-1111-1111-1111-111111111111/providers/Microsoft.Billing/billingProperty/default", + "name": "default", + "properties": { + "billingAccountAgreementType": "MicrosoftOnlineServicesProgram", + "billingAccountDisplayName": "My Account", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000", + "billingAccountSoldToCountry": "US", + "billingAccountType": "Individual", + "subscriptionBillingType": "Free", + "subscriptionServiceUsageAddress": { + "addressLine1": "Address line 1", + "addressLine2": "Address line 2", + "city": "City", + "country": "US", + "firstName": "Jenny", + "lastName": "Doe", + "middleName": "Ann", + "postalCode": "12345", + "region": "State" + }, + "subscriptionWorkloadType": "Production" + }, + "type": "Microsoft.Billing/billingProperty" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsCreateOrUpdate.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsCreateOrUpdate.json new file mode 100644 index 000000000000..5d1d27f726e5 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsCreateOrUpdate.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingRequestName": "00000000-0000-0000-0000-000000000000", + "parameters": { + "properties": { + "additionalInformation": { + "RoleId": "40000000-aaaa-bbbb-cccc-200000000006" + }, + "decisionReason": "New team member", + "requestScope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "status": "Pending", + "type": "RoleAssignment" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingRequests/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "properties": { + "additionalInformation": { + "RoleId": "40000000-aaaa-bbbb-cccc-200000000006" + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountDisplayName": "Contoso", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Contoso Operations Billing", + "createdBy": { + "upn": "foo@contoso.com" + }, + "creationDate": "2024-04-01T17:32:28Z", + "expirationDate": "2023-04-15T17:32:28Z", + "requestScope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "status": "Pending", + "type": "RoleAssignment", + "lastUpdatedBy": { + "upn": "admin@contoso.com" + }, + "lastUpdatedDate": "2024-04-01T17:32:28Z" + }, + "type": "Microsoft.Billing/billingRequests" + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Billing/billingRequests/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "properties": { + "additionalInformation": { + "RoleId": "40000000-aaaa-bbbb-cccc-200000000006" + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountDisplayName": "Contoso", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Contoso Operations Billing", + "createdBy": { + "upn": "foo@contoso.com" + }, + "creationDate": "2024-04-01T17:32:28Z", + "expirationDate": "2023-04-15T17:32:28Z", + "requestScope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "status": "Pending", + "type": "RoleAssignment", + "lastUpdatedBy": { + "upn": "admin@contoso.com" + }, + "lastUpdatedDate": "2024-04-01T17:32:28Z" + }, + "type": "Microsoft.Billing/billingRequests" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsGet.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsGet.json new file mode 100644 index 000000000000..21f587dd6555 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingRequestName": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingRequests/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "properties": { + "additionalInformation": { + "RoleId": "40000000-aaaa-bbbb-cccc-200000000006" + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountDisplayName": "Contoso", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Contoso Operations Billing", + "createdBy": { + "upn": "foo@contoso.com" + }, + "creationDate": "2024-04-01T17:32:28Z", + "expirationDate": "2023-04-15T17:32:28Z", + "requestScope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "status": "Pending", + "type": "RoleAssignment", + "lastUpdatedBy": { + "upn": "admin@contoso.com" + }, + "lastUpdatedDate": "2024-04-01T17:32:28Z" + }, + "type": "Microsoft.Billing/billingRequests" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByBillingAccount.json new file mode 100644 index 000000000000..41fb8f24fb7e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByBillingAccount.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingRequests/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "properties": { + "additionalInformation": { + "RoleId": "40000000-aaaa-bbbb-cccc-200000000006" + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountDisplayName": "Contoso", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Contoso Operations Billing", + "createdBy": { + "upn": "foo@contoso.com" + }, + "creationDate": "2024-04-01T17:32:28Z", + "expirationDate": "2023-04-15T17:32:28Z", + "requestScope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "status": "Pending", + "type": "RoleAssignment", + "lastUpdatedBy": { + "upn": "foo@contoso.com" + }, + "lastUpdatedDate": "2024-04-01T17:32:28Z" + }, + "type": "Microsoft.Billing/billingRequests" + }, + { + "id": "/providers/Microsoft.Billing/billingRequests/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "properties": { + "reviewedBy": { + "upn": "admin@contosofinance.com" + }, + "reviewalDate": "2023-03-02T17:32:28Z", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountDisplayName": "Contoso", + "createdBy": { + "upn": "foo@contoso.com" + }, + "creationDate": "2023-03-01T17:32:28Z", + "expirationDate": "2023-03-15T17:32:28Z", + "requestScope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/associatedTenants/100000000-0000-0000-0000-00000000", + "status": "Approved", + "type": "ProvisioningAccess", + "lastUpdatedBy": { + "upn": "admin@contosofinance.com" + }, + "lastUpdatedDate": "2023-03-02T17:32:28Z" + }, + "type": "Microsoft.Billing/billingRequests" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByBillingProfile.json new file mode 100644 index 000000000000..0976b2f22ccb --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByBillingProfile.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingRequests/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "properties": { + "additionalInformation": { + "RoleId": "40000000-aaaa-bbbb-cccc-200000000006" + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountDisplayName": "Contoso", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Contoso Operations Billing", + "createdBy": { + "upn": "foo@contoso.com" + }, + "creationDate": "2024-04-01T17:32:28Z", + "expirationDate": "2023-04-15T17:32:28Z", + "requestScope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "status": "Pending", + "type": "RoleAssignment", + "lastUpdatedBy": { + "upn": "foo@contoso.com" + }, + "lastUpdatedDate": "2024-04-01T17:32:28Z" + }, + "type": "Microsoft.Billing/billingRequests" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByCustomer.json new file mode 100644 index 000000000000..1f54cb48019b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByCustomer.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "customerName": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingRequests/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "properties": { + "additionalInformation": { + "RoleId": "30000000-aaaa-bbbb-cccc-200000000003" + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountDisplayName": "Contoso", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Contoso Operations Billing", + "createdBy": { + "upn": "foo@contoso.com" + }, + "creationDate": "2024-04-01T17:32:28Z", + "expirationDate": "2023-04-15T17:32:28Z", + "customerId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111", + "customerName": "11111111-1111-1111-1111-111111111111", + "customerDisplayName": "Customer 1", + "requestScope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111", + "status": "Pending", + "type": "RoleAssignment", + "lastUpdatedBy": { + "upn": "foo@contoso.com" + }, + "lastUpdatedDate": "2024-04-01T17:32:28Z" + }, + "type": "Microsoft.Billing/billingRequests" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByInvoiceSection.json new file mode 100644 index 000000000000..1c60059b5fb2 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByInvoiceSection.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingRequests/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "properties": { + "additionalInformation": { + "RoleId": "30000000-aaaa-bbbb-cccc-200000000003" + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountDisplayName": "Contoso", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Contoso Operations Billing", + "createdBy": { + "upn": "foo@contoso.com" + }, + "creationDate": "2024-04-01T17:32:28Z", + "expirationDate": "2023-04-15T17:32:28Z", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Department 1", + "requestScope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "status": "Pending", + "type": "RoleAssignment", + "lastUpdatedBy": { + "upn": "foo@contoso.com" + }, + "lastUpdatedDate": "2024-04-01T17:32:28Z" + }, + "type": "Microsoft.Billing/billingRequests" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByUser.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByUser.json new file mode 100644 index 000000000000..3881eb5c7aeb --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByUser.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingRequests/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "properties": { + "additionalInformation": { + "RoleId": "40000000-aaaa-bbbb-cccc-200000000006" + }, + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountDisplayName": "Contoso", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Contoso Operations Billing", + "createdBy": { + "upn": "foo@contoso.com" + }, + "creationDate": "2024-04-01T17:32:28Z", + "expirationDate": "2023-04-15T17:32:28Z", + "requestScope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "status": "Pending", + "type": "RoleAssignment", + "lastUpdatedBy": { + "upn": "foo@contoso.com" + }, + "lastUpdatedDate": "2024-04-01T17:32:28Z" + }, + "type": "Microsoft.Billing/billingRequests" + }, + { + "id": "/providers/Microsoft.Billing/billingRequests/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "properties": { + "reviewedBy": { + "upn": "admin@contosofinance.com" + }, + "reviewalDate": "2023-03-02T17:32:28Z", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountDisplayName": "Contoso", + "createdBy": { + "upn": "foo@contoso.com" + }, + "creationDate": "2023-03-01T17:32:28Z", + "expirationDate": "2023-03-15T17:32:28Z", + "requestScope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/associatedTenants/100000000-0000-0000-0000-00000000", + "status": "Approved", + "type": "ProvisioningAccess", + "lastUpdatedBy": { + "upn": "admin@contosofinance.com" + }, + "lastUpdatedDate": "2023-03-02T17:32:28Z" + }, + "type": "Microsoft.Billing/billingRequests" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByUserWithFilter.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByUserWithFilter.json new file mode 100644 index 000000000000..7bb6a51fd268 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRequestsListByUserWithFilter.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "filter": "properties/status eq 'Approved'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingRequests/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "properties": { + "reviewedBy": { + "upn": "admin@contosofinance.com" + }, + "reviewalDate": "2023-03-02T17:32:28Z", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingAccountDisplayName": "Contoso", + "createdBy": { + "upn": "foo@contoso.com" + }, + "creationDate": "2023-03-01T17:32:28Z", + "expirationDate": "2023-03-15T17:32:28Z", + "requestScope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/associatedTenants/100000000-0000-0000-0000-00000000", + "status": "Approved", + "type": "ProvisioningAccess", + "lastUpdatedBy": { + "upn": "admin@contosofinance.com" + }, + "lastUpdatedDate": "2023-03-02T17:32:28Z" + }, + "type": "Microsoft.Billing/billingRequests" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateByBillingAccount.json new file mode 100644 index 000000000000..9a8c4ab25f2c --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateByBillingAccount.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "parameters": { + "principalId": "00000000-0000-0000-0000-000000000000", + "principalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingRoleDefinitions/10000000-aaaa-bbbb-cccc-100000000000", + "userEmailAddress": "john@contoso.com" + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_00000000-0000-0000-0000-000000000000", + "name": "10000000-aaaa-bbbb-cccc-100000000000_00000000-0000-0000-0000-000000000000", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "47309529-17e6-4104-b9e8-39f62fa1e5ed", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingRoleDefinitions/10000000-aaaa-bbbb-cccc-100000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/operationResults/createBillingRoleAssignment_10000000-0000-0000-0000-000000000001?api-version=2024-04-01", + "retry-after": "5" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateByBillingProfile.json new file mode 100644 index 000000000000..cb154faddd73 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateByBillingProfile.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingProfileName": "BKM6-54VH-BG7-PGB", + "parameters": { + "principalId": "00000000-0000-0000-0000-000000000000", + "principalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/billingRoleDefinitions/10000000-aaaa-bbbb-cccc-100000000000", + "userEmailAddress": "john@contoso.com" + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_00000000-0000-0000-0000-000000000000", + "name": "10000000-aaaa-bbbb-cccc-100000000000_00000000-0000-0000-0000-000000000000", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "47309529-17e6-4104-b9e8-39f62fa1e5ed", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingRoleDefinitions/10000000-aaaa-bbbb-cccc-100000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleAssignments" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/operationResults/createBillingRoleAssignment_10000000-0000-0000-0000-000000000001?api-version=2024-04-01", + "retry-after": "5" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateByCustomer.json new file mode 100644 index 000000000000..29a38b1ba244 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateByCustomer.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingProfileName": "BKM6-54VH-BG7-PGB", + "customerName": "703ab484-dda2-4402-827b-a74513b61e2d", + "parameters": { + "principalId": "00000000-0000-0000-0000-000000000000", + "principalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfileName/BKM6-54VH-BG7-PGB/customers/703ab484-dda2-4402-827b-a74513b61e2d/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000000", + "userEmailAddress": "john@contoso.com" + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfileName/BKM6-54VH-BG7-PGB/customers/703ab484-dda2-4402-827b-a74513b61e2d/billingRoleAssignments/30000000-aaaa-bbbb-cccc-100000000000_00000000-0000-0000-0000-000000000000", + "name": "30000000-aaaa-bbbb-cccc-100000000000_00000000-0000-0000-0000-000000000000", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "47309529-17e6-4104-b9e8-39f62fa1e5ed", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfileName/BKM6-54VH-BG7-PGB/customers/703ab484-dda2-4402-827b-a74513b61e2d/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfileName/BKM6-54VH-BG7-PGB/customers/703ab484-dda2-4402-827b-a74513b61e2d", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/billingRoleAssignments" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/customers/703ab484-dda2-4402-827b-a74513b61e2d/operationResults/createBillingRoleAssignment_30000000-aaaa-bbbb-cccc-100000000000_00000000-0000-0000-0000-000000000000?api-version=2024-04-01", + "retry-after": "5" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateByInvoiceSection.json new file mode 100644 index 000000000000..0b2033585f15 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateByInvoiceSection.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingProfileName": "BKM6-54VH-BG7-PGB", + "invoiceSectionName": "xxxx-xxxx-xxx-xxx", + "parameters": { + "principalId": "00000000-0000-0000-0000-000000000000", + "principalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/10000000-aaaa-bbbb-cccc-100000000000", + "userEmailAddress": "john@contoso.com" + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_00000000-0000-0000-0000-000000000000", + "name": "10000000-aaaa-bbbb-cccc-100000000000_00000000-0000-0000-0000-000000000000", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "47309529-17e6-4104-b9e8-39f62fa1e5ed", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/10000000-aaaa-bbbb-cccc-100000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleAssignments" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/xxxx-xxxx-xxx-xxx/operationResults/createBillingRoleAssignment_10000000-0000-0000-0000-000000000001?api-version=2024-04-01", + "retry-after": "5" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateOrUpdateByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateOrUpdateByBillingAccount.json new file mode 100644 index 000000000000..9071b35ccbd5 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateOrUpdateByBillingAccount.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "7898901", + "billingRoleAssignmentName": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "parameters": { + "properties": { + "principalId": "00000000-0000-0000-0000-000000000000", + "principalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db", + "userEmailAddress": "john@contoso.com" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9", + "principalId": "00000000-0000-0000-0000-000000000000", + "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9", + "principalId": "00000000-0000-0000-0000-000000000000", + "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateOrUpdateByDepartment.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateOrUpdateByDepartment.json new file mode 100644 index 000000000000..170eb67e3a3b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateOrUpdateByDepartment.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "7898901", + "departmentName": "12345", + "billingRoleAssignmentName": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "parameters": { + "properties": { + "principalId": "00000000-0000-0000-0000-000000000000", + "principalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/12345/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db", + "userEmailAddress": "john@contoso.com" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/12345/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9", + "principalId": "00000000-0000-0000-0000-000000000000", + "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/12345/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/12345" + }, + "type": "Microsoft.Billing/billingAccounts/departments/billingRoleAssignments" + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/12345/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9", + "principalId": "00000000-0000-0000-0000-000000000000", + "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/12345/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/12345" + }, + "type": "Microsoft.Billing/billingAccounts/departments/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateOrUpdateByEnrollmentAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateOrUpdateByEnrollmentAccount.json new file mode 100644 index 000000000000..16ff9d7c3875 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentCreateOrUpdateByEnrollmentAccount.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "7898901", + "enrollmentAccountName": "123456", + "billingRoleAssignmentName": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "parameters": { + "properties": { + "principalId": "00000000-0000-0000-0000-000000000000", + "principalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/123456/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db", + "userEmailAddress": "john@contoso.com" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/123456/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9", + "principalId": "00000000-0000-0000-0000-000000000000", + "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/123456/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/123456" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleAssignments" + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/123456/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9", + "principalId": "00000000-0000-0000-0000-000000000000", + "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/123456/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/123456" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByBillingAccount.json new file mode 100644 index 000000000000..1196d51833d1 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByBillingAccount.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingRoleAssignmentName": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByBillingProfile.json new file mode 100644 index 000000000000..de71acb39b6a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByBillingProfile.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingProfileName": "BKM6-54VH-BG7-PGB", + "billingRoleAssignmentName": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByCustomer.json new file mode 100644 index 000000000000..bddb5aaefb63 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByCustomer.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingProfileName": "BKM6-54VH-BG7-PGB", + "customerName": "703ab484-dda2-4402-827b-a74513b61e2d", + "billingRoleAssignmentName": "30000000-aaaa-bbbb-cccc-100000000000_00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByDepartment.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByDepartment.json new file mode 100644 index 000000000000..ea93fc05db97 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByDepartment.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "8608480", + "departmentName": "123456", + "billingRoleAssignmentName": "9dfd08c2-62a3-4d47-85bd-1cdba1408402" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByEnrollmentAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByEnrollmentAccount.json new file mode 100644 index 000000000000..636fc3676094 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByEnrollmentAccount.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "8608480", + "enrollmentAccountName": "123456", + "billingRoleAssignmentName": "9dfd08c2-62a3-4d47-85bd-1cdba1408402" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByInvoiceSection.json new file mode 100644 index 000000000000..5e0e44a84c39 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentDeleteByInvoiceSection.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingProfileName": "BKM6-54VH-BG7-PGB", + "invoiceSectionName": "xxxx-xxxx-xxx-xxx", + "billingRoleAssignmentName": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByBillingAccount.json new file mode 100644 index 000000000000..7118380548ea --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByBillingAccount.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingRoleAssignmentName": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2023-01-04T22:39:34.2606750Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingRoleDefinitions/00000000-0000-0000-0000-000000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByBillingProfile.json new file mode 100644 index 000000000000..b7f629fcf219 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByBillingProfile.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "billingRoleAssignmentName": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2023-01-04T22:39:34.2606750Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "46b831ec-42b2-4f1a-8b54-3fd5ff9d6aa1", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/00000000-0000-0000-0000-000000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByCustomer.json new file mode 100644 index 000000000000..2ef6468dab0f --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByCustomer.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "customerName": "703ab484-dda2-4402-827b-a74513b61e2d", + "billingRoleAssignmentName": "30000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/customers/703ab484-dda2-4402-827b-a74513b61e2d/billingRoleAssignments/30000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "30000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2023-01-04T22:39:34.2606750Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/customers/703ab484-dda2-4402-827b-a74513b61e2d/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/customers/703ab484-dda2-4402-827b-a74513b61e2d", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByDepartment.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByDepartment.json new file mode 100644 index 000000000000..5b9c2cbe3505 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByDepartment.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "7898901", + "departmentName": "225314", + "billingRoleAssignmentName": "9dfd08c2-62a3-4d47-85bd-1cdba1408402" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/225314/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByUserEmailAddress": "test@billtest900006.onmicrosoft.com", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/225314/billingRoleDefinitions/c15c22c0-9faf-424c-9b7e-bd91c06a240b", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/225314", + "userAuthenticationType": "Organization", + "userEmailAddress": "a_owner@billtest900006.onmicrosoft.com" + }, + "type": "Microsoft.Billing/billingAccounts/departments/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByEnrollmentAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByEnrollmentAccount.json new file mode 100644 index 000000000000..77fa64ec2eac --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByEnrollmentAccount.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "7898901", + "enrollmentAccountName": "225314", + "billingRoleAssignmentName": "9dfd08c2-62a3-4d47-85bd-1cdba1408402" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByUserEmailAddress": "test@billtest900006.onmicrosoft.com", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/c15c22c0-9faf-424c-9b7e-bd91c06a240b", + "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314", + "userAuthenticationType": "Organization", + "userEmailAddress": "a_owner@billtest900006.onmicrosoft.com" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByInvoiceSection.json new file mode 100644 index 000000000000..8aca100e4965 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentGetByInvoiceSection.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingProfileName": "BKM6-54VH-BG7-PGB", + "invoiceSectionName": "xxxx-xxxx-xxx-xxx", + "billingRoleAssignmentName": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "46b831ec-42b2-4f1a-8b54-3fd5ff9d6aa1", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleAssignments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByBillingAccount.json new file mode 100644 index 000000000000..9d6a9a865dc4 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByBillingAccount.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingRoleDefinitions/00000000-0000-0000-0000-000000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "name": "10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingRoleDefinitions/00000000-0000-0000-0000-000000000001", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByBillingProfile.json new file mode 100644 index 000000000000..59e87272e0d2 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByBillingProfile.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingProfileName": "xxxx-xxxx-xxx-xxx" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/00000000-0000-0000-0000-000000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleAssignments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "name": "10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/00000000-0000-0000-0000-000000000001", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleAssignments" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByCustomer.json new file mode 100644 index 000000000000..3dd9bdfd2c60 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByCustomer.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingProfileName": "BKM6-54VH-BG7-PGB", + "customerName": "703ab484-dda2-4402-827b-a74513b61e2d" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/customers/703ab484-dda2-4402-827b-a74513b61e2d/billingRoleAssignments/30000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "30000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/customers/703ab484-dda2-4402-827b-a74513b61e2d/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/customers/703ab484-dda2-4402-827b-a74513b61e2d", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/billingRoleAssignments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/customers/703ab484-dda2-4402-827b-a74513b61e2d/billingRoleAssignments/30000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "name": "30000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/customers/703ab484-dda2-4402-827b-a74513b61e2d/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/customers/703ab484-dda2-4402-827b-a74513b61e2d", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/billingRoleAssignments" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByDepartment.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByDepartment.json new file mode 100644 index 000000000000..2b11ec60bfaf --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByDepartment.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "departmentName": "12345" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/departments/12345/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/departments/12345/billingRoleDefinitions/00000000-0000-0000-0000-000000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/departments/12345", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/departments/billingRoleAssignments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/departments/12345/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "name": "10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "\"/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/departments/12345/billingRoleDefinitions/00000000-0000-0000-0000-000000000001", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/departments/12345", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/departments/billingRoleAssignments" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByEnrollmentAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByEnrollmentAccount.json new file mode 100644 index 000000000000..da059bfb8625 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByEnrollmentAccount.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "6100092", + "enrollmentAccountName": "123456" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/6100092/enrollmentAccounts/123456/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/6100092/enrollmentAccounts/123456/billingRoleDefinitions/50000000-0000-0000-0000-000000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/6100092/enrollmentAccounts/123456", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleAssignments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/6100092/enrollmentAccounts/123456/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "name": "10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/6100092/enrollmentAccounts/123456/billingRoleDefinitions/50000000-0000-0000-0000-000000000001", + "scope": "/providers/Microsoft.Billing/billingAccounts/6100092/enrollmentAccounts/123456", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleAssignments" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByInvoiceSection.json new file mode 100644 index 000000000000..8946b833b4fc --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleAssignmentListByInvoiceSection.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingProfileName": "BKM6-54VH-BG7-PGB", + "invoiceSectionName": "xxxx-xxxx-xxx-xxx" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000002", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleAssignments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "name": "10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000001", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleAssignments" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByBillingAccount.json new file mode 100644 index 000000000000..803b14359713 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByBillingAccount.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "roleDefinitionName": "50000000-aaaa-bbbb-cccc-100000000000" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000000", + "name": "50000000-aaaa-bbbb-cccc-100000000000", + "properties": { + "permissions": [ + { + "actions": [ + "50000000-aaaa-bbbb-cccc-200000000000", + "50000000-aaaa-bbbb-cccc-200000000001", + "50000000-aaaa-bbbb-cccc-200000000002", + "50000000-aaaa-bbbb-cccc-200000000003", + "50000000-aaaa-bbbb-cccc-200000000004", + "50000000-aaaa-bbbb-cccc-200000000006", + "50000000-aaaa-bbbb-cccc-200000000007", + "50000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000007", + "50000000-aaaa-bbbb-cccc-200000000005", + "30000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000009", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000017", + "30000000-aaaa-bbbb-cccc-200000000018", + "40000000-aaaa-bbbb-cccc-200000000000", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000008", + "40000000-aaaa-bbbb-cccc-200000000012", + "40000000-aaaa-bbbb-cccc-200000000013", + "40000000-aaaa-bbbb-cccc-200000000004", + "40000000-aaaa-bbbb-cccc-200000000001", + "40000000-aaaa-bbbb-cccc-200000000005", + "40000000-aaaa-bbbb-cccc-200000000002", + "40000000-aaaa-bbbb-cccc-200000000003", + "40000000-aaaa-bbbb-cccc-200000000011", + "30000000-aaaa-bbbb-cccc-200000000013", + "30000000-aaaa-bbbb-cccc-200000000011", + "30000000-aaaa-bbbb-cccc-200000000006", + "30000000-aaaa-bbbb-cccc-200000000003", + "30000000-aaaa-bbbb-cccc-200000000005", + "30000000-aaaa-bbbb-cccc-200000000012", + "30000000-aaaa-bbbb-cccc-200000000008", + "30000000-aaaa-bbbb-cccc-200000000016" + ] + } + ], + "roleName": "Billing account owner" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByBillingProfile.json new file mode 100644 index 000000000000..b8e1eb08b3ba --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByBillingProfile.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "roleDefinitionName": "40000000-aaaa-bbbb-cccc-100000000000" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/40000000-aaaa-bbbb-cccc-100000000000", + "name": "40000000-aaaa-bbbb-cccc-100000000000", + "properties": { + "description": "The Owner role gives the user all permissions including access management rights to the billing profile.", + "permissions": [ + { + "actions": [ + "40000000-aaaa-bbbb-cccc-200000000000", + "40000000-aaaa-bbbb-cccc-200000000001", + "40000000-aaaa-bbbb-cccc-200000000002", + "40000000-aaaa-bbbb-cccc-200000000003", + "40000000-aaaa-bbbb-cccc-200000000004", + "40000000-aaaa-bbbb-cccc-200000000005", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000008", + "40000000-aaaa-bbbb-cccc-200000000011", + "40000000-aaaa-bbbb-cccc-200000000012", + "40000000-aaaa-bbbb-cccc-200000000013" + ] + } + ], + "roleName": "Billing profile owner" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleDefinitions" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByCustomer.json new file mode 100644 index 000000000000..6ae32186004a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByCustomer.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "customerName": "11111111-1111-1111-1111-111111111111", + "roleDefinitionName": "30000000-aaaa-bbbb-cccc-100000000000" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000000", + "name": "30000000-aaaa-bbbb-cccc-100000000000", + "properties": { + "description": "The Owner role gives the user all permissions including access management rights to the customer.", + "permissions": [ + { + "actions": [ + "30000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000003", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000005", + "30000000-aaaa-bbbb-cccc-200000000006", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000008", + "30000000-aaaa-bbbb-cccc-200000000009", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000011", + "30000000-aaaa-bbbb-cccc-200000000012", + "30000000-aaaa-bbbb-cccc-200000000013", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000016", + "30000000-aaaa-bbbb-cccc-200000000017", + "30000000-aaaa-bbbb-cccc-200000000018" + ], + "notActions": [] + } + ], + "roleName": "Customer owner" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/billingRoleDefinitions" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByDepartment.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByDepartment.json new file mode 100644 index 000000000000..6ed579f03f56 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByDepartment.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "123456", + "departmentName": "7368531", + "roleDefinitionName": "50000000-aaaa-bbbb-cccc-100000000000" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/123456/departments/7368531/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000000", + "name": "50000000-aaaa-bbbb-cccc-100000000000", + "properties": { + "permissions": [ + { + "actions": [ + "Microsoft.Billing/billingAccounts/departments/read", + "Microsoft.Billing/billingAccounts/departments/write", + "Microsoft.Billing/billingAccounts/departments/action", + "Microsoft.Billing/billingAccounts/departments/delete", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/write", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/action", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/delete" + ] + } + ], + "roleName": "Department Admin" + }, + "type": "Microsoft.Billing/billingAccounts/departments/billingRoleDefinitions" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByEnrollmentAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByEnrollmentAccount.json new file mode 100644 index 000000000000..e02092937c61 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByEnrollmentAccount.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "123456", + "enrollmentAccountName": "4568789", + "roleDefinitionName": "50000000-aaaa-bbbb-cccc-100000000000" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/123456/enrollmentAccounts/4568789/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000000", + "name": "50000000-aaaa-bbbb-cccc-100000000000", + "properties": { + "permissions": [ + { + "actions": [ + "Microsoft.Billing/billingAccounts/enrollmentAccounts/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/write", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/action", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/delete", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/action" + ] + } + ], + "roleName": "Account Owner" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleDefinitions" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByInvoiceSection.json new file mode 100644 index 000000000000..e0f495cee1f9 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionGetByInvoiceSection.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "roleDefinitionName": "30000000-aaaa-bbbb-cccc-100000000000" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000000", + "name": "30000000-aaaa-bbbb-cccc-100000000000", + "properties": { + "description": "The Owner role gives the user all permissions including access management rights to the invoice section.", + "permissions": [ + { + "actions": [ + "30000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000003", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000005", + "30000000-aaaa-bbbb-cccc-200000000006", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000008", + "30000000-aaaa-bbbb-cccc-200000000009", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000011", + "30000000-aaaa-bbbb-cccc-200000000012", + "30000000-aaaa-bbbb-cccc-200000000013", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000016", + "30000000-aaaa-bbbb-cccc-200000000017", + "30000000-aaaa-bbbb-cccc-200000000018" + ] + } + ], + "roleName": "Invoice section owner" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleDefinitions" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByBillingAccount.json new file mode 100644 index 000000000000..e4a4e49d4ccb --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByBillingAccount.json @@ -0,0 +1,205 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000000", + "name": "50000000-aaaa-bbbb-cccc-100000000000", + "properties": { + "permissions": [ + { + "actions": [ + "50000000-aaaa-bbbb-cccc-200000000000", + "50000000-aaaa-bbbb-cccc-200000000001", + "50000000-aaaa-bbbb-cccc-200000000002", + "50000000-aaaa-bbbb-cccc-200000000003", + "50000000-aaaa-bbbb-cccc-200000000004", + "50000000-aaaa-bbbb-cccc-200000000006", + "50000000-aaaa-bbbb-cccc-200000000007", + "50000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000007", + "50000000-aaaa-bbbb-cccc-200000000005", + "30000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000009", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000017", + "30000000-aaaa-bbbb-cccc-200000000018", + "40000000-aaaa-bbbb-cccc-200000000000", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000008", + "40000000-aaaa-bbbb-cccc-200000000012", + "40000000-aaaa-bbbb-cccc-200000000013", + "40000000-aaaa-bbbb-cccc-200000000004", + "40000000-aaaa-bbbb-cccc-200000000001", + "40000000-aaaa-bbbb-cccc-200000000005", + "40000000-aaaa-bbbb-cccc-200000000002", + "40000000-aaaa-bbbb-cccc-200000000003", + "40000000-aaaa-bbbb-cccc-200000000011", + "30000000-aaaa-bbbb-cccc-200000000013", + "30000000-aaaa-bbbb-cccc-200000000011", + "30000000-aaaa-bbbb-cccc-200000000006", + "30000000-aaaa-bbbb-cccc-200000000003", + "30000000-aaaa-bbbb-cccc-200000000005", + "30000000-aaaa-bbbb-cccc-200000000012", + "30000000-aaaa-bbbb-cccc-200000000008", + "30000000-aaaa-bbbb-cccc-200000000016" + ] + } + ], + "roleName": "Billing account owner" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000001", + "name": "50000000-aaaa-bbbb-cccc-100000000001", + "properties": { + "description": "The Contributor role gives the user all permissions except access management on the organization.", + "permissions": [ + { + "actions": [ + "50000000-aaaa-bbbb-cccc-200000000001", + "50000000-aaaa-bbbb-cccc-200000000002", + "50000000-aaaa-bbbb-cccc-200000000003", + "50000000-aaaa-bbbb-cccc-200000000004", + "50000000-aaaa-bbbb-cccc-200000000006", + "50000000-aaaa-bbbb-cccc-200000000007", + "50000000-aaaa-bbbb-cccc-200000000008", + "10000000-aaaa-bbbb-cccc-200000000001", + "10000000-aaaa-bbbb-cccc-200000000002", + "10000000-aaaa-bbbb-cccc-200000000003", + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000007", + "50000000-aaaa-bbbb-cccc-200000000005", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000009", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000017", + "30000000-aaaa-bbbb-cccc-200000000018", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000008", + "40000000-aaaa-bbbb-cccc-200000000012", + "40000000-aaaa-bbbb-cccc-200000000013", + "40000000-aaaa-bbbb-cccc-200000000004", + "40000000-aaaa-bbbb-cccc-200000000001", + "40000000-aaaa-bbbb-cccc-200000000005", + "40000000-aaaa-bbbb-cccc-200000000002", + "40000000-aaaa-bbbb-cccc-200000000003", + "40000000-aaaa-bbbb-cccc-200000000011", + "30000000-aaaa-bbbb-cccc-200000000013", + "30000000-aaaa-bbbb-cccc-200000000011", + "30000000-aaaa-bbbb-cccc-200000000006", + "30000000-aaaa-bbbb-cccc-200000000003", + "30000000-aaaa-bbbb-cccc-200000000005", + "30000000-aaaa-bbbb-cccc-200000000012", + "30000000-aaaa-bbbb-cccc-200000000008", + "30000000-aaaa-bbbb-cccc-200000000016" + ] + } + ], + "roleName": "Billing account contributor" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000002", + "name": "50000000-aaaa-bbbb-cccc-100000000002", + "properties": { + "description": "The Reader role gives the user read permissions to an organization.", + "permissions": [ + { + "actions": [ + "50000000-aaaa-bbbb-cccc-200000000001", + "50000000-aaaa-bbbb-cccc-200000000006", + "50000000-aaaa-bbbb-cccc-200000000007", + "10000000-aaaa-bbbb-cccc-200000000003", + "50000000-aaaa-bbbb-cccc-200000000005", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000017", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000008", + "40000000-aaaa-bbbb-cccc-200000000012" + ] + } + ], + "roleName": "Billing account reader" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000002", + "name": "50000000-aaaa-bbbb-cccc-100000000002", + "properties": { + "description": "The Reader role gives the user read permissions to an organization.", + "permissions": [ + { + "actions": [ + "50000000-aaaa-bbbb-cccc-200000000001", + "50000000-aaaa-bbbb-cccc-200000000006", + "50000000-aaaa-bbbb-cccc-200000000007", + "10000000-aaaa-bbbb-cccc-200000000003", + "50000000-aaaa-bbbb-cccc-200000000005", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000017", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000008", + "40000000-aaaa-bbbb-cccc-200000000012" + ] + } + ], + "roleName": "Billing account reader" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000003", + "name": "50000000-aaaa-bbbb-cccc-100000000003", + "properties": { + "description": "The Purchaser role gives the user permissions to make purchases by creating new Projects and Billing Groups in an organization.", + "permissions": [ + { + "actions": [ + "10000000-aaaa-bbbb-cccc-200000000006", + "10000000-aaaa-bbbb-cccc-200000000007", + "50000000-aaaa-bbbb-cccc-200000000001", + "50000000-aaaa-bbbb-cccc-200000000006" + ] + } + ], + "roleName": "Basic Purchaser" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByBillingProfile.json new file mode 100644 index 000000000000..9bc8534a7287 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByBillingProfile.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/40000000-aaaa-bbbb-cccc-100000000000", + "name": "40000000-aaaa-bbbb-cccc-100000000000", + "properties": { + "description": "The Owner role gives the user all permissions including access management rights to the billing profile.", + "permissions": [ + { + "actions": [ + "40000000-aaaa-bbbb-cccc-200000000000", + "40000000-aaaa-bbbb-cccc-200000000001", + "40000000-aaaa-bbbb-cccc-200000000002", + "40000000-aaaa-bbbb-cccc-200000000003", + "40000000-aaaa-bbbb-cccc-200000000004", + "40000000-aaaa-bbbb-cccc-200000000005", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000008", + "40000000-aaaa-bbbb-cccc-200000000011", + "40000000-aaaa-bbbb-cccc-200000000012", + "40000000-aaaa-bbbb-cccc-200000000013" + ] + } + ], + "roleName": "Billing profile owner" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/40000000-aaaa-bbbb-cccc-100000000001", + "name": "40000000-aaaa-bbbb-cccc-100000000001", + "properties": { + "description": "The Contributor role gives the user all permissions except access management rights to the billing profile.", + "permissions": [ + { + "actions": [ + "40000000-aaaa-bbbb-cccc-200000000001", + "40000000-aaaa-bbbb-cccc-200000000002", + "40000000-aaaa-bbbb-cccc-200000000003", + "40000000-aaaa-bbbb-cccc-200000000004", + "40000000-aaaa-bbbb-cccc-200000000005", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000008", + "40000000-aaaa-bbbb-cccc-200000000011", + "40000000-aaaa-bbbb-cccc-200000000012", + "40000000-aaaa-bbbb-cccc-200000000013" + ] + } + ], + "roleName": "Billing profile contributor" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/40000000-aaaa-bbbb-cccc-100000000002", + "name": "40000000-aaaa-bbbb-cccc-100000000002", + "properties": { + "description": "The Reader role gives the user read only access to the billing profile.", + "permissions": [ + { + "actions": [ + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000008", + "40000000-aaaa-bbbb-cccc-200000000012" + ] + } + ], + "roleName": "Billing profile reader" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/40000000-aaaa-bbbb-cccc-100000000004", + "name": "40000000-aaaa-bbbb-cccc-100000000004", + "properties": { + "description": "The Invoice Manager role gives the user the ability to view and manage invoices.", + "permissions": [ + { + "actions": [ + "40000000-aaaa-bbbb-cccc-200000000007", + "40000000-aaaa-bbbb-cccc-200000000006", + "40000000-aaaa-bbbb-cccc-200000000011", + "40000000-aaaa-bbbb-cccc-200000000008", + "40000000-aaaa-bbbb-cccc-200000000012", + "40000000-aaaa-bbbb-cccc-200000000013" + ] + } + ], + "roleName": "Invoice manager" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleDefinitions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByCustomer.json new file mode 100644 index 000000000000..22eb385cd955 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByCustomer.json @@ -0,0 +1,102 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "customerName": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000000", + "name": "30000000-aaaa-bbbb-cccc-100000000000", + "properties": { + "description": "The Owner role gives the user all permissions including access management rights to the customer.", + "permissions": [ + { + "actions": [ + "30000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000003", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000005", + "30000000-aaaa-bbbb-cccc-200000000006", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000008", + "30000000-aaaa-bbbb-cccc-200000000009", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000011", + "30000000-aaaa-bbbb-cccc-200000000012", + "30000000-aaaa-bbbb-cccc-200000000013", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000016", + "30000000-aaaa-bbbb-cccc-200000000017", + "30000000-aaaa-bbbb-cccc-200000000018" + ], + "notActions": [] + } + ], + "roleName": "Customer owner" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000001", + "name": "30000000-aaaa-bbbb-cccc-100000000001", + "properties": { + "description": "The Contributor role gives the user all permissions except access management rights to the customer.", + "permissions": [ + { + "actions": [ + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000003", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000005", + "30000000-aaaa-bbbb-cccc-200000000006", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000008", + "30000000-aaaa-bbbb-cccc-200000000009", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000011", + "30000000-aaaa-bbbb-cccc-200000000012", + "30000000-aaaa-bbbb-cccc-200000000013", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000016", + "30000000-aaaa-bbbb-cccc-200000000017", + "30000000-aaaa-bbbb-cccc-200000000018" + ], + "notActions": [] + } + ], + "roleName": "Customer contributor" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000002", + "name": "30000000-aaaa-bbbb-cccc-100000000002", + "properties": { + "description": "The reader role gives the user read only access to the customer.", + "permissions": [ + { + "actions": [ + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000017" + ], + "notActions": [] + } + ], + "roleName": "Customer reader" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/billingRoleDefinitions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByDepartment.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByDepartment.json new file mode 100644 index 000000000000..94d302ecf033 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByDepartment.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "123456", + "departmentName": "7368531" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/123456/departments/7368531/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000000", + "name": "50000000-aaaa-bbbb-cccc-100000000000", + "properties": { + "permissions": [ + { + "actions": [ + "Microsoft.Billing/billingAccounts/departments/read", + "Microsoft.Billing/billingAccounts/departments/write", + "Microsoft.Billing/billingAccounts/departments/action", + "Microsoft.Billing/billingAccounts/departments/delete", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/write", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/action", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/delete", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read" + ] + } + ], + "roleName": "Department Admin" + }, + "type": "Microsoft.Billing/billingAccounts/departments/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/123456/departments/7368531/billingRoleDefinitions/50000000-aaaa-bbbb-cccc-100000000001", + "name": "50000000-aaaa-bbbb-cccc-100000000001", + "properties": { + "permissions": [ + { + "actions": [ + "Microsoft.Billing/billingAccounts/departments/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read" + ] + } + ], + "roleName": "Department Reader" + }, + "type": "Microsoft.Billing/billingAccounts/departments/billingRoleDefinitions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByEnrollmentAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByEnrollmentAccount.json new file mode 100644 index 000000000000..6bc509e9defc --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByEnrollmentAccount.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "123456", + "enrollmentAccountName": "4568789" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/123456/enrollmentAccounts/4568789/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000000", + "name": "30000000-aaaa-bbbb-cccc-100000000000", + "properties": { + "description": "The account owner role gives the user all permissions including access management rights to an accounts.", + "permissions": [ + { + "actions": [ + "Microsoft.Billing/billingAccounts/enrollmentAccounts/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/write", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/action", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/delete", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write", + "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/action" + ], + "notActions": [] + } + ], + "roleName": "Account Owner" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleDefinitions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByInvoiceSection.json new file mode 100644 index 000000000000..5ab131564f76 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingRoleDefinitionListByInvoiceSection.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000000", + "name": "30000000-aaaa-bbbb-cccc-100000000000", + "properties": { + "description": "The Owner role gives the user all permissions including access management rights to the invoice section.", + "permissions": [ + { + "actions": [ + "30000000-aaaa-bbbb-cccc-200000000000", + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000003", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000005", + "30000000-aaaa-bbbb-cccc-200000000006", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000008", + "30000000-aaaa-bbbb-cccc-200000000009", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000011", + "30000000-aaaa-bbbb-cccc-200000000012", + "30000000-aaaa-bbbb-cccc-200000000013", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000016", + "30000000-aaaa-bbbb-cccc-200000000017", + "30000000-aaaa-bbbb-cccc-200000000018" + ] + } + ], + "roleName": "Invoice section owner" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000001", + "name": "30000000-aaaa-bbbb-cccc-100000000001", + "properties": { + "description": "The Contributor role gives the user all permissions except access management rights to the invoice section.", + "permissions": [ + { + "actions": [ + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000003", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000005", + "30000000-aaaa-bbbb-cccc-200000000006", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000008", + "30000000-aaaa-bbbb-cccc-200000000009", + "30000000-aaaa-bbbb-cccc-200000000010", + "30000000-aaaa-bbbb-cccc-200000000011", + "30000000-aaaa-bbbb-cccc-200000000012", + "30000000-aaaa-bbbb-cccc-200000000013", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000016", + "30000000-aaaa-bbbb-cccc-200000000017", + "30000000-aaaa-bbbb-cccc-200000000018" + ] + } + ], + "roleName": "Invoice section contributor" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000002", + "name": "30000000-aaaa-bbbb-cccc-100000000002", + "properties": { + "description": "The reader role gives the user read only access to the invoice section.", + "permissions": [ + { + "actions": [ + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000007", + "30000000-aaaa-bbbb-cccc-200000000004", + "30000000-aaaa-bbbb-cccc-200000000015", + "30000000-aaaa-bbbb-cccc-200000000017" + ] + } + ], + "roleName": "Invoice section reader" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleDefinitions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000006", + "name": "30000000-aaaa-bbbb-cccc-100000000006", + "properties": { + "description": "The Azure subscription creator role gives the user the ability to create an Azure subscription for the invoice section.", + "permissions": [ + { + "actions": [ + "30000000-aaaa-bbbb-cccc-200000000001", + "30000000-aaaa-bbbb-cccc-200000000013" + ] + } + ], + "roleName": "Azure subscription creator" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleDefinitions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionAliasCreateOrUpdate.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionAliasCreateOrUpdate.json new file mode 100644 index 000000000000..157ea2b16c06 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionAliasCreateOrUpdate.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "aliasName": "c356b7c7-7545-4686-b843-c1a49cf853fc", + "parameters": { + "properties": { + "billingFrequency": "P1M", + "displayName": "Subscription 3", + "quantity": 1, + "skuId": "0001", + "termDuration": "P1M" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptionAliases/c356b7c7-7545-4686-b843-c1a49cf853fc", + "name": "c356b7c7-7545-4686-b843-c1a49cf853fc", + "properties": { + "billingSubscriptionId": "11111111-1111-1111-1111-111111111111", + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "displayName": "Billing Subscription Display Name", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "productCategory": "SeatBased", + "productType": "Seat-Based Product Type", + "productTypeId": "XYZ56789", + "purchaseDate": "2023-01-05T22:39:34.2606750Z", + "quantity": 1, + "skuId": "0001", + "skuDescription": "SKU Description", + "systemOverrides": { + "cancellationAllowedEndDate": "2023-02-01T22:39:34.2606750Z" + }, + "termDuration": "P1M", + "termStartDate": "2023-01-05T22:39:34.2606750Z", + "termEndDate": "2023-02-05T22:39:34.2606750Z", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptionAliases", + "systemData": { + "createdAt": "2023-01-05T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-25T22:39:34.2606750Z" + } + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptionAliases/c356b7c7-7545-4686-b843-c1a49cf853fc", + "name": "c356b7c7-7545-4686-b843-c1a49cf853fc", + "properties": { + "billingSubscriptionId": "11111111-1111-1111-1111-111111111111", + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "displayName": "Billing Subscription Display Name", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "productCategory": "SeatBased", + "productType": "Seat-Based Product Type", + "productTypeId": "XYZ56789", + "purchaseDate": "2023-01-05T22:39:34.2606750Z", + "quantity": 1, + "skuId": "0001", + "skuDescription": "SKU Description", + "systemOverrides": { + "cancellationAllowedEndDate": "2023-02-01T22:39:34.2606750Z" + }, + "termDuration": "P1M", + "termStartDate": "2023-01-05T22:39:34.2606750Z", + "termEndDate": "2023-02-05T22:39:34.2606750Z", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptionAliases", + "systemData": { + "createdAt": "2023-01-05T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-25T22:39:34.2606750Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/operationResults/putBillingSubscriptionAlias_c356b7c7-7545-4686-b843-c1a49cf853fc:11111111-1111-1111-1111-111111111111:22222222-2222-2222-2222-222222222222?api-version=2024-04-01", + "retry-after": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionAliasGet.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionAliasGet.json new file mode 100644 index 000000000000..b5e4519c85be --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionAliasGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "aliasName": "c356b7c7-7545-4686-b843-c1a49cf853fc" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptionAliases/c356b7c7-7545-4686-b843-c1a49cf853fc", + "name": "c356b7c7-7545-4686-b843-c1a49cf853fc", + "properties": { + "billingSubscriptionId": "11111111-1111-1111-1111-111111111111", + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "displayName": "Billing Subscription Display Name", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "productCategory": "SeatBased", + "productType": "Seat-Based Product Type", + "productTypeId": "XYZ56789", + "purchaseDate": "2023-01-05T22:39:34.2606750Z", + "quantity": 1, + "skuId": "0001", + "skuDescription": "SKU Description", + "systemOverrides": { + "cancellationAllowedEndDate": "2023-02-01T22:39:34.2606750Z" + }, + "termDuration": "P1M", + "termStartDate": "2023-01-05T22:39:34.2606750Z", + "termEndDate": "2023-02-05T22:39:34.2606750Z", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptionAliases", + "systemData": { + "createdAt": "2023-01-05T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-25T22:39:34.2606750Z" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionAliasList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionAliasList.json new file mode 100644 index 000000000000..82cb718d5786 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionAliasList.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptionAliases/90000000-0000-0000-0000-000000000000", + "name": "90000000-0000-0000-0000-000000000000", + "properties": { + "billingSubscriptionId": "11111111-1111-1111-1111-111111111111", + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "displayName": "My subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "productCategory": "SeatBased", + "productType": "Seat-Based Product Type", + "productTypeId": "XYZ56789", + "purchaseDate": "2023-01-04T22:39:34.2606750Z", + "quantity": 1, + "skuId": "0001", + "skuDescription": "SKU Description", + "systemOverrides": { + "cancellationAllowedEndDate": "2023-02-01T22:39:34.2606750Z" + }, + "resourceUri": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptionAliases/11111111-1111-1111-1111-111111111111", + "termDuration": "P1M", + "termStartDate": "2023-01-05T22:39:34.2606750Z", + "termEndDate": "2023-02-05T22:39:34.2606750Z", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptionAliases", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptionAliases/90000000-0000-0000-0000-000000000001", + "name": "90000000-0000-0000-0000-000000000001", + "properties": { + "billingSubscriptionId": "22222222-2222-2222-2222-222222222222", + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "displayName": "Test subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "productCategory": "Software", + "productType": "Software Product Type", + "productTypeId": "EFG456", + "purchaseDate": "2023-01-06T22:39:34.2606750Z", + "quantity": 1, + "skuId": "0001", + "skuDescription": "SKU Description", + "systemOverrides": { + "cancellationAllowedEndDate": "2023-02-01T22:39:34.2606750Z" + }, + "resourceUri": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptionAliases/22222222-2222-2222-2222-222222222222", + "termDuration": "P1M", + "termStartDate": "2023-01-07T22:39:34.2606750Z", + "termEndDate": "2023-02-07T22:39:34.2606750Z", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptionAliases", + "systemData": { + "createdAt": "2023-01-06T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-07T22:39:34.2606750Z" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptionAliases/90000000-0000-0000-0000-000000000002", + "name": "90000000-0000-0000-0000-000000000002", + "properties": { + "billingSubscriptionId": "33333333-3333-3333-3333-333333333333", + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "displayName": "Dev subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "productCategory": "ReservationOrder", + "productType": "Reservation Product Type", + "productTypeId": "JKL789", + "purchaseDate": "2023-01-05T22:39:34.2606750Z", + "quantity": 1, + "skuId": "0001", + "skuDescription": "SKU Description", + "systemOverrides": { + "cancellationAllowedEndDate": "2023-02-01T22:39:34.2606750Z" + }, + "resourceUri": "/providers/Microsoft.Capacity/reservationOrders/33333333-3333-3333-3333-333333333333", + "termDuration": "P1M", + "termStartDate": "2023-01-05T22:39:34.2606750Z", + "termEndDate": "2023-02-05T22:39:34.2606750Z", + "status": "Suspended", + "suspensionReasons": [ + "Cancelled" + ], + "suspensionReasonDetails": [ + { + "effectiveDate": "2023-01-15T22:39:34.2606750Z", + "reason": "Cancelled" + } + ] + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptionAliases", + "systemData": { + "createdAt": "2023-01-05T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-25T22:39:34.2606750Z" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionGetByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionGetByBillingProfile.json new file mode 100644 index 000000000000..3c66a75b44ed --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionGetByBillingProfile.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "pcn.94077792", + "billingProfileName": "6478903", + "billingSubscriptionName": "6b96d3f2-9008-4a9d-912f-f87744185aa3" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/pcn.94077792/billingProfiles/6478903/billingSubscriptions/6b96d3f2-9008-4a9d-912f-f87744185aa3", + "name": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/pcn.94077792/billingProfiles/6478903", + "billingProfileName": "47268432", + "displayName": "My Subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/6564892/billingProfiles/11000000-0000-0000-0000-000000000000/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "quantity": 50, + "skuId": "0001", + "skuDescription": "Microsoft Azure Dev/Test", + "systemOverrides": { + "cancellation": "Allowed", + "cancellationAllowedEndDate": "2023-01-05T22:39:34.2606750Z" + }, + "provisioningTenantId": "7d62dbd1-1348-4496-b2f8-df6948c103ee", + "status": "Active", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-f87744185aa3" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingSubscriptions" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionMove.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionMove.json new file mode 100644 index 000000000000..709de40b4567 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionMove.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31", + "billingSubscriptionName": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "parameters": { + "destinationInvoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB" + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/6b96d3f2-9008-4a9d-912f-f87744185aa3", + "name": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "consumptionCostCenter": "ABC1234", + "displayName": "My Subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan", + "status": "Active", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-f87744185aa3" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/operationResults/moveBillingSubscription_11000000-0000-0000-0000-000000000000:22000000-0000-0000-0000-000000000000:6b96d3f2-9008-4a9d-912f-f87744185aa3:44000000-0000-0000-0000-000000000055:10000000-0000-0000-0000-000000000001?api-version=2020-12-15-privatepreview", + "Retry-After": "30" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionValidateMoveFailure.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionValidateMoveFailure.json new file mode 100644 index 000000000000..2f6bbf83fe3f --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionValidateMoveFailure.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31", + "billingProfileName": "ea36e548-1505-41db-bebc-46fff3d37998", + "invoiceSectionName": "Q7GV-UUVA-PJA-TGB", + "billingSubscriptionName": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "parameters": { + "destinationInvoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB" + } + }, + "responses": { + "200": { + "body": { + "errorDetails": { + "code": "SubscriptionNotActive", + "message": "Invoice Sections can only be changed for active subscriptions." + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionValidateMoveSuccess.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionValidateMoveSuccess.json new file mode 100644 index 000000000000..6be9d3debae2 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionValidateMoveSuccess.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31", + "billingProfileName": "ea36e548-1505-41db-bebc-46fff3d37998", + "invoiceSectionName": "Q7GV-UUVA-PJA-TGB", + "billingSubscriptionName": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "parameters": { + "destinationInvoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB" + } + }, + "responses": { + "200": { + "body": { + "isMoveEligible": true + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsCancel.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsCancel.json new file mode 100644 index 000000000000..eb572f74a4f7 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsCancel.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingSubscriptionName": "11111111-1111-1111-1111-111111111111", + "parameters": { + "cancellationReason": "Compromise", + "customerId": "11111111-1111-1111-1111-111111111111" + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/operationResults/cancelBillingSubscription_11111111-1111-1111-1111-111111111111:22222222-2222-2222-2222-222222222222?api-version=2024-04-01", + "retry-after": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsDelete.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsDelete.json new file mode 100644 index 000000000000..2ef935ea444e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingSubscriptionName": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/operationResults/cancelBillingSubscription_11111111-1111-1111-1111-111111111111:22222222-2222-2222-2222-222222222222?api-version=2024-04-01", + "retry-after": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsGet.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsGet.json new file mode 100644 index 000000000000..69239001d314 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingSubscriptionName": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptions/90000000-0000-0000-0000-000000000000", + "name": "90000000-0000-0000-0000-000000000000", + "properties": { + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "displayName": "My subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "productCategory": "SeatBased", + "productType": "Seat-Based Product Type", + "productTypeId": "XYZ56789", + "purchaseDate": "2023-01-04T22:39:34.2606750Z", + "quantity": 1, + "skuId": "0001", + "skuDescription": "SKU Description", + "systemOverrides": { + "cancellationAllowedEndDate": "2023-02-01T22:39:34.2606750Z" + }, + "resourceUri": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptions/90000000-0000-0000-0000-000000000000", + "termDuration": "P1M", + "termStartDate": "2023-01-05T22:39:34.2606750Z", + "termEndDate": "2023-02-05T22:39:34.2606750Z", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByBillingAccount.json new file mode 100644 index 000000000000..cf5fa5ea5f24 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByBillingAccount.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "excludeCharges": false, + "includeDeleted": false, + "includeTenantSubscriptions": false + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptions/90000000-0000-0000-0000-000000000000", + "name": "90000000-0000-0000-0000-000000000000", + "properties": { + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "displayName": "My subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "productCategory": "SeatBased", + "productType": "Seat-Based Product Type", + "productTypeId": "XYZ56789", + "purchaseDate": "2023-01-04T22:39:34.2606750Z", + "quantity": 1, + "skuId": "0001", + "skuDescription": "SKU Description", + "systemOverrides": { + "cancellationAllowedEndDate": "2023-02-01T22:39:34.2606750Z" + }, + "resourceUri": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptions/90000000-0000-0000-0000-000000000000", + "termDuration": "P1M", + "termStartDate": "2023-01-05T22:39:34.2606750Z", + "termEndDate": "2023-02-05T22:39:34.2606750Z", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptions/90000000-0000-0000-0000-000000000001", + "name": "90000000-0000-0000-0000-000000000001", + "properties": { + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "displayName": "Test subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "productCategory": "Software", + "productType": "Software Product Type", + "productTypeId": "EFG456", + "purchaseDate": "2023-01-06T22:39:34.2606750Z", + "quantity": 1, + "skuId": "0001", + "skuDescription": "SKU Description", + "systemOverrides": { + "cancellationAllowedEndDate": "2023-02-01T22:39:34.2606750Z" + }, + "resourceUri": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptions/90000000-0000-0000-0000-000000000001", + "termDuration": "P1M", + "termStartDate": "2023-01-07T22:39:34.2606750Z", + "termEndDate": "2023-02-07T22:39:34.2606750Z", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "systemData": { + "createdAt": "2023-01-06T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-07T22:39:34.2606750Z" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptions/90000000-0000-0000-0000-000000000002", + "name": "90000000-0000-0000-0000-000000000002", + "properties": { + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "displayName": "Dev subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "productCategory": "ReservationOrder", + "productType": "Reservation Product Type", + "productTypeId": "JKL789", + "purchaseDate": "2023-01-05T22:39:34.2606750Z", + "quantity": 1, + "skuId": "0001", + "skuDescription": "SKU Description", + "systemOverrides": { + "cancellationAllowedEndDate": "2023-02-01T22:39:34.2606750Z" + }, + "resourceUri": "/providers/Microsoft.Capacity/reservationOrders/90000000-0000-0000-0000-000000000002", + "termDuration": "P1M", + "termStartDate": "2023-01-05T22:39:34.2606750Z", + "termEndDate": "2023-02-05T22:39:34.2606750Z", + "status": "Suspended", + "suspensionReasons": [ + "Cancelled" + ], + "suspensionReasonDetails": [ + { + "effectiveDate": "2023-01-15T22:39:34.2606750Z", + "reason": "Cancelled" + } + ] + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "systemData": { + "createdAt": "2023-01-05T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-25T22:39:34.2606750Z" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByBillingProfileEA.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByBillingProfileEA.json new file mode 100644 index 000000000000..d84a83a85a99 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByBillingProfileEA.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "pcn.94077792", + "billingProfileName": "6478903" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/pcn.94077792/billingProfiles/6478903/billingSubscriptions/6b96d3f2-9008-4a9d-912f-f87744185aa3", + "name": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/pcn.94077792/billingProfiles/6478903", + "billingProfileName": "47268432", + "displayName": "My Subscription", + "enrollmentAccountId": "172988", + "enrollmentAccountDisplayName": "billtest332211@outlook.com", + "status": "Active", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-f87744185aa3" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingSubscriptions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByBillingProfileMCA.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByBillingProfileMCA.json new file mode 100644 index 000000000000..9d937156f3fe --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByBillingProfileMCA.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31", + "billingProfileName": "ea36e548-1505-41db-bebc-46fff3d37998" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/6b96d3f2-9008-4a9d-912f-f87744185aa3", + "name": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "My Subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Microsoft Azure Dev/Test", + "resourceUri": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/6b96d3f2-9008-4a9d-912f-f87744185aa3", + "status": "Active", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-f87744185aa3" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "name": "CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "Test Subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Microsoft Azure Dev/Test", + "resourceUri": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "status": "Active", + "subscriptionId": "CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/90D31600-D46D-4084-84C6-1235CDAFFB56", + "name": "90D31600-D46D-4084-84C6-1235CDAFFB56", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "Dev Subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Microsoft Azure Dev/Test", + "resourceUri": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/90D31600-D46D-4084-84C6-1235CDAFFB56", + "status": "Active", + "subscriptionId": "90D31600-D46D-4084-84C6-1235CDAFFB56" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "name": "9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "Dev Test Subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Domain Name Registration ORG", + "resourceUri": "/providers/Microsoft.Domain/domainSubscriptions/9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "status": "Active", + "subscriptionId": "9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByCustomer.json new file mode 100644 index 000000000000..fb2066395f9b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByCustomer.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31", + "billingProfileName": "ea36e548-1505-41db-bebc-46fff3d37998", + "customerName": "Q7GV-UUVA-PJA-TGB" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/6b96d3f2-9008-4a9d-912f-f87744185aa3", + "name": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "BillingProfile1", + "billingProfileName": "ea36e548-1505-41db-bebc-46fff3d37998", + "customerId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/customers/Q7GV-UUVA-PJA-TGB", + "customerDisplayName": "Customer1", + "displayName": "My Subscription", + "reseller": { + "resellerId": "89e87bdf-a2a2-4687-925f-4c18b27bccfd", + "description": "Reseller1" + }, + "skuId": "0002", + "skuDescription": "Microsoft Azure Standard", + "resourceUri": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/6b96d3f2-9008-4a9d-912f-f87744185aa3", + "status": "Active", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-f87744185aa3" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "name": "CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "BillingProfile1", + "billingProfileName": "ea36e548-1505-41db-bebc-46fff3d37998", + "customerId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/customers/Q7GV-UUVA-PJA-TGB", + "customerDisplayName": "Customer1", + "displayName": "Test Subscription", + "reseller": { + "resellerId": "3b65b5a8-bd4f-4084-90e9-e1bd667a2b19", + "description": "Reseller3" + }, + "skuId": "0002", + "skuDescription": "Microsoft Azure Standard", + "resourceUri": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "status": "Active", + "subscriptionId": "CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "name": "9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "BillingProfile1", + "billingProfileName": "ea36e548-1505-41db-bebc-46fff3d37998", + "customerId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/customers/Q7GV-UUVA-PJA-TGB", + "customerDisplayName": "Customer1", + "displayName": "Dev Test Subscription", + "skuId": "0001", + "skuDescription": "Domain Name Registration ORG", + "resourceUri": "/providers/Microsoft.Domain/domainSubscriptions/9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "status": "Active", + "subscriptionId": "9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByCustomerAtBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByCustomerAtBillingAccount.json new file mode 100644 index 000000000000..d472c8ae74b2 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByCustomerAtBillingAccount.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31", + "customerName": "Q7GV-UUVA-PJA-TGB" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/6b96d3f2-9008-4a9d-912f-f87744185aa3", + "name": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "BillingProfile1", + "billingProfileName": "ea36e548-1505-41db-bebc-46fff3d37998", + "customerId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/customers/Q7GV-UUVA-PJA-TGB", + "customerDisplayName": "Customer1", + "displayName": "My Subscription", + "reseller": { + "resellerId": "89e87bdf-a2a2-4687-925f-4c18b27bccfd", + "description": "Reseller1" + }, + "skuId": "0002", + "skuDescription": "Microsoft Azure Standard", + "resourceUri": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/6b96d3f2-9008-4a9d-912f-f87744185aa3", + "status": "Active", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-f87744185aa3" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "name": "CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "BillingProfile1", + "billingProfileName": "ea36e548-1505-41db-bebc-46fff3d37998", + "customerId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/customers/Q7GV-UUVA-PJA-TGB", + "customerDisplayName": "Customer1", + "displayName": "Test Subscription", + "reseller": { + "resellerId": "3b65b5a8-bd4f-4084-90e9-e1bd667a2b19", + "description": "Reseller3" + }, + "skuId": "0002", + "skuDescription": "Microsoft Azure Standard", + "resourceUri": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "status": "Active", + "subscriptionId": "CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "name": "9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "BillingProfile1", + "billingProfileName": "ea36e548-1505-41db-bebc-46fff3d37998", + "customerId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/customers/Q7GV-UUVA-PJA-TGB", + "customerDisplayName": "Customer1", + "displayName": "Dev Test Subscription", + "skuId": "0001", + "skuDescription": "Domain Name Registration ORG", + "resourceUri": "/providers/Microsoft.Domain/domainSubscriptions/9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "status": "Active", + "subscriptionId": "9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByEnrollmentAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByEnrollmentAccount.json new file mode 100644 index 000000000000..3c5cab3ccedd --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByEnrollmentAccount.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "6564892", + "enrollmentAccountName": "172988" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/6564892/billingSubscriptions/90000000-0000-0000-0000-000000000000", + "name": "90000000-0000-0000-0000-000000000000", + "properties": { + "consumptionCostCenter": "123", + "displayName": "TestSubscription", + "enrollmentAccountId": "172988", + "enrollmentAccountDisplayName": "billtest332211@outlook.com", + "enrollmentAccountSubscriptionDetails": { + "enrollmentAccountStartDate": "2023-01-04T00:00:00.0000000Z" + }, + "subscriptionId": "90000000-0000-0000-0000-000000000000" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/6564892/billingSubscriptions/90000000-0000-0000-0000-000000000001", + "name": "90000000-0000-0000-0000-000000000001", + "properties": { + "consumptionCostCenter": "", + "displayName": "Microsoft Azure Enterprise-1", + "enrollmentAccountId": "172988", + "enrollmentAccountDisplayName": "billtest332211@outlook.com", + "enrollmentAccountSubscriptionDetails": { + "enrollmentAccountStartDate": "2023-01-04T00:00:00.0000000Z", + "subscriptionEnrollmentAccountStatus": "Deleted" + }, + "subscriptionId": "90000000-0000-0000-0000-000000000001" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByInvoiceSection.json new file mode 100644 index 000000000000..1b6d720e06c1 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsListByInvoiceSection.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31", + "billingProfileName": "ea36e548-1505-41db-bebc-46fff3d37998", + "invoiceSectionName": "Q7GV-UUVA-PJA-TGB" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/6b96d3f2-9008-4a9d-912f-f87744185aa3", + "name": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "My Subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Microsoft Azure Dev/Test", + "resourceUri": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/6b96d3f2-9008-4a9d-912f-f87744185aa3", + "status": "Active", + "subscriptionId": "6b96d3f2-9008-4a9d-912f-f87744185aa3" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "name": "CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "Test Subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Microsoft Azure Dev/Test", + "resourceUri": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "status": "Active", + "subscriptionId": "CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/90D31600-D46D-4084-84C6-1235CDAFFB56", + "name": "90D31600-D46D-4084-84C6-1235CDAFFB56", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "Dev Subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Microsoft Azure Dev/Test", + "resourceUri": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/90D31600-D46D-4084-84C6-1235CDAFFB56", + "status": "Active", + "subscriptionId": "90D31600-D46D-4084-84C6-1235CDAFFB56" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingSubscriptions/9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "name": "9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "Dev Test Subscription", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Domain Name Registration ORG", + "resourceUri": "/providers/Microsoft.Domain/domainSubscriptions/9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "status": "Active", + "subscriptionId": "9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsMerge.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsMerge.json new file mode 100644 index 000000000000..8de5be257344 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsMerge.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingSubscriptionName": "11111111-1111-1111-1111-111111111111", + "parameters": { + "targetBillingSubscriptionName": "22222222-2222-2222-2222-222222222222", + "quantity": 1 + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptions/22222222-2222-2222-2222-222222222222", + "name": "22222222-2222-2222-2222-222222222222", + "properties": { + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "displayName": "Billing Subscription Display Name", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "productCategory": "SeatBased", + "productType": "Seat-Based Product Type", + "productTypeId": "XYZ56789", + "purchaseDate": "2023-01-05T22:39:34.2606750Z", + "quantity": 2, + "skuId": "0001", + "skuDescription": "SKU Description", + "systemOverrides": { + "cancellationAllowedEndDate": "2023-02-01T22:39:34.2606750Z" + }, + "termDuration": "P1M", + "termStartDate": "2023-01-05T22:39:34.2606750Z", + "termEndDate": "2023-02-05T22:39:34.2606750Z", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "systemData": { + "createdAt": "2023-01-05T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-25T22:39:34.2606750Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/operationResults/splitBillingSubscription_11111111-1111-1111-1111-111111111111:22222222-2222-2222-2222-222222222222?api-version=2024-04-01", + "retry-after": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsSplit.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsSplit.json new file mode 100644 index 000000000000..e543605999b9 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsSplit.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingSubscriptionName": "11111111-1111-1111-1111-111111111111", + "parameters": { + "targetProductTypeId": "XYZ56789", + "targetSkuId": "0001", + "quantity": 1, + "termDuration": "P1M", + "billingFrequency": "P1M" + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptions/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "properties": { + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "displayName": "Billing Subscription Display Name", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "productCategory": "SeatBased", + "productType": "Seat-Based Product Type", + "productTypeId": "XYZ56789", + "purchaseDate": "2023-01-05T22:39:34.2606750Z", + "quantity": 1, + "skuId": "0001", + "skuDescription": "SKU Description", + "systemOverrides": { + "cancellationAllowedEndDate": "2023-02-01T22:39:34.2606750Z" + }, + "termDuration": "P1M", + "termStartDate": "2023-01-05T22:39:34.2606750Z", + "termEndDate": "2023-02-05T22:39:34.2606750Z", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "systemData": { + "createdAt": "2023-01-05T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-25T22:39:34.2606750Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/operationResults/splitBillingSubscription_11111111-1111-1111-1111-111111111111:22222222-2222-2222-2222-222222222222?api-version=2024-04-01", + "retry-after": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsUpdate.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsUpdate.json new file mode 100644 index 000000000000..415a2c20f6ba --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/billingSubscriptionsUpdate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingSubscriptionName": "11111111-1111-1111-1111-111111111111", + "parameters": { + "properties": { + "consumptionCostCenter": "ABC1234" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptions/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "properties": { + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "displayName": "Billing Subscription Display Name", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "productCategory": "SeatBased", + "productType": "Seat-Based Product Type", + "productTypeId": "XYZ56789", + "purchaseDate": "2023-01-05T22:39:34.2606750Z", + "quantity": 1, + "skuId": "0001", + "skuDescription": "SKU Description", + "systemOverrides": { + "cancellationAllowedEndDate": "2023-02-01T22:39:34.2606750Z" + }, + "termDuration": "P1M", + "termStartDate": "2023-01-05T22:39:34.2606750Z", + "termEndDate": "2023-02-05T22:39:34.2606750Z", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions", + "systemData": { + "createdAt": "2023-01-05T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-25T22:39:34.2606750Z" + } + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/operationResults/manageBillingSubscription_11111111-1111-1111-1111-111111111111:22222222-2222-2222-2222-222222222222?api-version=2024-04-01", + "retry-after": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByBillingAccount.json new file mode 100644 index 000000000000..5f13a4f6bd5e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByBillingAccount.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "parameters": { + "actions": [ + "Microsoft.Billing/billingAccounts/read", + "Microsoft.Subscription/subscriptions/write" + ] + } + }, + "responses": { + "200": { + "body": [ + { + "accessDecision": "Allowed", + "action": "Microsoft.Billing/billingAccounts/read" + }, + { + "accessDecision": "NotAllowed", + "action": "Microsoft.Subscription/subscriptions/write" + } + ] + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByBillingProfile.json new file mode 100644 index 000000000000..f4d5437d5c4a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByBillingProfile.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "parameters": { + "actions": [ + "Microsoft.Billing/billingAccounts/read", + "Microsoft.Subscription/subscriptions/write" + ] + } + }, + "responses": { + "200": { + "body": [ + { + "accessDecision": "Allowed", + "action": "Microsoft.Billing/billingAccounts/read" + }, + { + "accessDecision": "NotAllowed", + "action": "Microsoft.Subscription/subscriptions/write" + } + ] + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByCustomer.json new file mode 100644 index 000000000000..d1a84fcc0698 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByCustomer.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "customerName": "703ab484-dda2-4402-827b-a74513b61e2d", + "parameters": { + "actions": [ + "Microsoft.Billing/billingAccounts/read", + "Microsoft.Subscription/subscriptions/write" + ] + } + }, + "responses": { + "200": { + "body": [ + { + "accessDecision": "Allowed", + "action": "Microsoft.Billing/billingAccounts/read" + }, + { + "accessDecision": "NotAllowed", + "action": "Microsoft.Subscription/subscriptions/write" + } + ] + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByDepartment.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByDepartment.json new file mode 100644 index 000000000000..9392d497629c --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByDepartment.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "departmentName": "12345", + "parameters": { + "actions": [ + "Microsoft.Billing/billingAccounts/read", + "Microsoft.Subscription/subscriptions/write" + ] + } + }, + "responses": { + "200": { + "body": [ + { + "accessDecision": "Allowed", + "action": "Microsoft.Billing/billingAccounts/read" + }, + { + "accessDecision": "NotAllowed", + "action": "Microsoft.Subscription/subscriptions/write" + } + ] + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByEnrollmentAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByEnrollmentAccount.json new file mode 100644 index 000000000000..13b589c0e9d3 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByEnrollmentAccount.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "enrollmentAccountName": "123456", + "parameters": { + "actions": [ + "Microsoft.Billing/billingAccounts/read", + "Microsoft.Subscription/subscriptions/write" + ] + } + }, + "responses": { + "200": { + "body": [ + { + "accessDecision": "Allowed", + "action": "Microsoft.Billing/billingAccounts/read" + }, + { + "accessDecision": "NotAllowed", + "action": "Microsoft.Subscription/subscriptions/write" + } + ] + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByInvoiceSection.json new file mode 100644 index 000000000000..9183596dc5c6 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/checkAccessByInvoiceSection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "invoiceSectionName": "Q7GV-UUVA-PJA-TGB", + "parameters": { + "actions": [ + "Microsoft.Billing/billingAccounts/read", + "Microsoft.Subscription/subscriptions/write" + ] + } + }, + "responses": { + "200": { + "body": [ + { + "accessDecision": "Allowed", + "action": "Microsoft.Billing/billingAccounts/read" + }, + { + "accessDecision": "NotAllowed", + "action": "Microsoft.Subscription/subscriptions/write" + } + ] + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/customersGet.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/customersGet.json new file mode 100644 index 000000000000..0420a61fbaf1 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/customersGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "customerName": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "properties": { + "billingProfileDisplayName": "Contoso Operations Billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "displayName": "customer1", + "systemId": "yyyy-yyyy-yyy-yyy", + "status": "Active", + "enabledAzurePlans": [ + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "resellers": [ + { + "resellerId": "89e87bdf-a2a2-4687-925f-4c18b27bccfd", + "description": "Reseller1" + }, + { + "resellerId": "3b65b5a8-bd4f-4084-90e9-e1bd667a2b19", + "description": "Reseller2" + } + ], + "tags": { + "pcCode": "A123456", + "costCategory": "Support" + } + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/customersGetByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/customersGetByBillingAccount.json new file mode 100644 index 000000000000..3166cddbe70e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/customersGetByBillingAccount.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "customerName": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "properties": { + "billingProfileDisplayName": "Contoso Operations Billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "displayName": "customer1", + "systemId": "yyyy-yyyy-yyy-yyy", + "status": "Active", + "enabledAzurePlans": [ + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "resellers": [ + { + "resellerId": "89e87bdf-a2a2-4687-925f-4c18b27bccfd", + "description": "Reseller1" + }, + { + "resellerId": "3b65b5a8-bd4f-4084-90e9-e1bd667a2b19", + "description": "Reseller2" + } + ], + "tags": { + "pcCode": "A123456", + "costCategory": "Support" + } + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/customersListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/customersListByBillingAccount.json new file mode 100644 index 000000000000..572f5fb6eb48 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/customersListByBillingAccount.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "properties": { + "billingProfileDisplayName": "Contoso Operations Billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "displayName": "customer1", + "systemId": "yyyy-yyyy-yyy-yyy", + "status": "Active", + "tags": { + "pcCode": "A123456", + "costCategory": "Support" + } + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/22222222-2222-2222-2222-222222222222", + "name": "22222222-2222-2222-2222-222222222222", + "properties": { + "billingProfileDisplayName": "Contoso Operations Billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "displayName": "customer2", + "systemId": "zzzz-zzzz-zzz-zzz", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/customersListByBillingAccountWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/customersListByBillingAccountWithExpand.json new file mode 100644 index 000000000000..abdd7d4acfe7 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/customersListByBillingAccountWithExpand.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "expand": "enabledAzurePlans,resellers" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "properties": { + "billingProfileDisplayName": "Contoso Operations Billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "displayName": "customer1", + "systemId": "yyyy-yyyy-yyy-yyy", + "status": "Active", + "enabledAzurePlans": [ + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "resellers": [ + { + "resellerId": "89e87bdf-a2a2-4687-925f-4c18b27bccfd", + "description": "Reseller1" + }, + { + "resellerId": "3b65b5a8-bd4f-4084-90e9-e1bd667a2b19", + "description": "Reseller2" + } + ], + "tags": { + "pcCode": "A123456", + "costCategory": "Support" + } + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/customersListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/customersListByBillingProfile.json new file mode 100644 index 000000000000..6655c8fba7a2 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/customersListByBillingProfile.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "properties": { + "billingProfileDisplayName": "Contoso Operations Billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "displayName": "customer1", + "systemId": "yyyy-yyyy-yyy-yyy", + "status": "Active", + "tags": { + "pcCode": "A123456", + "costCategory": "Support" + } + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/22222222-2222-2222-2222-222222222222", + "name": "22222222-2222-2222-2222-222222222222", + "properties": { + "billingProfileDisplayName": "Contoso Operations Billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "displayName": "customer2", + "systemId": "zzzz-zzzz-zzz-zzz", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/departmentGet.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/departmentGet.json new file mode 100644 index 000000000000..a876fa5a6f7b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/departmentGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "456598", + "departmentName": "164821" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/456598/departments/164821", + "name": "164821", + "properties": { + "costCenter": "C1", + "displayName": "Test department", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/departments" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/departmentsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/departmentsListByBillingAccount.json new file mode 100644 index 000000000000..1d530f257b1d --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/departmentsListByBillingAccount.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "456598" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/456598/departments/164821", + "name": "164821", + "properties": { + "costCenter": "C1", + "displayName": "departmentName1", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/departments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/456598/departments/164822", + "name": "164822", + "properties": { + "costCenter": "C4", + "displayName": "departmentName2", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/departments" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/enrollmentAccountByDepartment.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/enrollmentAccountByDepartment.json new file mode 100644 index 000000000000..69e8c2ad9aeb --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/enrollmentAccountByDepartment.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "6564892", + "departmentName": "164821", + "enrollmentAccountName": "257698" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/6564892/departments/164821/enrollmentAccounts/257698", + "name": "257698", + "properties": { + "costCenter": "C0", + "displayName": "AccountName0", + "departmentDisplayName": "TestDept", + "departmentId": "164821", + "isDevTestEnabled": true, + "accountOwner": "account0@contoso.com", + "authType": "MicrosoftAccount", + "status": "Active", + "startDate": "2018-05-01T17:32:28Z", + "endDate": "2019-05-31T17:32:28Z" + }, + "type": "Microsoft.Billing/billingAccounts/departments/enrollmentAccounts" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/enrollmentAccountGet.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/enrollmentAccountGet.json new file mode 100644 index 000000000000..1727fe1059f8 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/enrollmentAccountGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "6564892", + "enrollmentAccountName": "257698" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/6564892/enrollmentAccounts/257698", + "name": "257698", + "properties": { + "costCenter": "C0", + "displayName": "AccountName0", + "departmentDisplayName": "TestDept123", + "departmentId": "234516", + "isDevTestEnabled": true, + "accountOwner": "account0@contoso.com", + "authType": "Organization", + "status": "Active", + "startDate": "2018-05-01T17:32:28Z", + "endDate": "2019-05-31T17:32:28Z" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/enrollmentAccountsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/enrollmentAccountsListByBillingAccount.json new file mode 100644 index 000000000000..5516c5102f55 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/enrollmentAccountsListByBillingAccount.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "6564892" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/6564892/enrollmentAccounts/257698", + "name": "257698", + "properties": { + "costCenter": "C0", + "displayName": "AccountName0", + "departmentDisplayName": "TestDept123", + "departmentId": "234516", + "isDevTestEnabled": true, + "accountOwner": "account0@contoso.com", + "authType": "Organization", + "status": "Active", + "startDate": "2018-05-01T17:32:28Z", + "endDate": "2019-05-31T17:32:28Z" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/6564892/enrollmentAccounts/264698", + "name": "264698", + "properties": { + "costCenter": "C1", + "displayName": "AccountName1", + "departmentDisplayName": "TestDept1", + "departmentId": "234531", + "isDevTestEnabled": true, + "accountOwner": "account1@contoso.com", + "authType": "MicrosoftAccount", + "status": "Active", + "startDate": "2018-05-01T17:32:28Z", + "endDate": "2019-05-31T17:32:28Z" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/6564892/enrollmentAccounts/276290", + "name": "276290", + "properties": { + "costCenter": "C2", + "displayName": "AccountName2", + "departmentDisplayName": "TestDept2", + "departmentId": "234512", + "isDevTestEnabled": true, + "accountOwner": "account2@contoso.com", + "authType": "Organization", + "status": "Active", + "startDate": "2018-05-01T17:32:28Z", + "endDate": "2019-05-31T17:32:28Z" + }, + "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/enrollmentAccountsListByDepartment.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/enrollmentAccountsListByDepartment.json new file mode 100644 index 000000000000..e08ee1045efe --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/enrollmentAccountsListByDepartment.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "6564892", + "departmentName": "164821" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/6564892/departments/164821/enrollmentAccounts/257698", + "name": "257698", + "properties": { + "costCenter": "C0", + "displayName": "AccountName0", + "departmentDisplayName": "TestDept", + "departmentId": "164821", + "isDevTestEnabled": true, + "accountOwner": "account0@contoso.com", + "authType": "MicrosoftAccount", + "status": "Active", + "startDate": "2018-05-01T17:32:28Z", + "endDate": "2019-05-31T17:32:28Z" + }, + "type": "Microsoft.Billing/billingAccounts/departments/enrollmentAccounts" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/6564892/departments/164821/enrollmentAccounts/264698", + "name": "264698", + "properties": { + "costCenter": "C1", + "displayName": "AccountName1", + "departmentDisplayName": "TestDept", + "departmentId": "164821", + "isDevTestEnabled": false, + "accountOwner": "account1@contoso.com", + "authType": "Organization", + "status": "Active", + "startDate": "2018-05-01T17:32:28Z", + "endDate": "2019-05-31T17:32:28Z" + }, + "type": "Microsoft.Billing/billingAccounts/departments/enrollmentAccounts" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsCreateOrUpdate.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsCreateOrUpdate.json new file mode 100644 index 000000000000..f7f6a1a1731e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsCreateOrUpdate.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "invoiceSectionName": "invoice-section-1", + "parameters": { + "properties": { + "displayName": "Invoice Section 1", + "tags": { + "pcCode": "A123456", + "costCategory": "Support" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/invoice-section-1", + "name": "invoice-section-1", + "properties": { + "displayName": "Invoice Section 1", + "systemId": "yyyy-yyyy-yyy-yyy", + "tags": { + "pcCode": "A123456", + "costCategory": "Support" + } + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections" + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/invoice-section-1", + "name": "invoice-section-1", + "properties": { + "displayName": "Invoice Section 1", + "systemId": "yyyy-yyyy-yyy-yyy", + "tags": { + "pcCode": "A123456", + "costCategory": "Support" + } + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/operationResults/putAssociatedTenant_00000000-0000-0000-0000-000000000000?api-version=2024-04-01", + "retry-after": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsDelete.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsDelete.json new file mode 100644 index 000000000000..0bcbd1035e0c --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/operationResults/deleteInvoiceSection_00000000-0000-0000-0000-000000000000?api-version=2024-04-01", + "retry-after": "10" + } + }, + "204": {} + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsGet.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsGet.json new file mode 100644 index 000000000000..7ea5ce403fe1 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/invoice-section-1", + "name": "invoice-section-1", + "properties": { + "displayName": "Invoice Section 1", + "systemId": "yyyy-yyyy-yyy-yyy", + "tags": { + "pcCode": "A123456", + "costCategory": "Support" + } + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsListByBillingProfile.json new file mode 100644 index 000000000000..b143a636d1a1 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsListByBillingProfile.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "includeDeleted": true + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/invoice-section-1", + "name": "invoice-section-1", + "properties": { + "displayName": "Invoice Section 1", + "state": "Active", + "systemId": "yyyy-yyyy-yyy-yyy", + "tags": { + "pcCode": "A123456", + "costCategory": "Support" + } + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/invoice-section-2", + "name": "invoice-section-2", + "properties": { + "displayName": "Invoice Section 2", + "state": "Warned", + "reasonCode": "PastDue", + "systemId": "zzzz-zzzz-zzz-zzz", + "tags": { + "pcCode": "Z345678", + "costCategory": "Marketing" + } + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/invoice-section-3", + "name": "invoice-section-3", + "properties": { + "displayName": "Invoice Section 3", + "state": "Deleted", + "systemId": "aaaa-aaaa-aaa-aaa", + "tags": { + "pcCode": "A123456", + "costCategory": "Support" + } + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsValidateDeleteEligibilityFailure.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsValidateDeleteEligibilityFailure.json new file mode 100644 index 000000000000..c274e79aded2 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsValidateDeleteEligibilityFailure.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy" + }, + "responses": { + "200": { + "body": { + "eligibilityStatus": "NotAllowed", + "eligibilityDetails": [ + { + "code": "ActiveBillingSubscriptions", + "message": "There are active or disabled subscriptions assigned to the invoice section. Either move the subscription to another invoice section or delete the subscriptions and then try deleting the invoice section." + }, + { + "code": "LastInvoiceSection", + "message": "This is the only invoice section in this billing profile so it can’t be deleted." + }, + { + "code": "ActiveAzurePlans", + "message": "This is the invoice section that was created when its billing profile was created so it can’t be deleted." + }, + { + "code": "ReservedInstances", + "message": "The invoice section has the RI asset with a billing plan." + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsValidateDeleteEligibilitySuccess.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsValidateDeleteEligibilitySuccess.json new file mode 100644 index 000000000000..21f8bfc23c13 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsValidateDeleteEligibilitySuccess.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsWithCreateSubscriptionPermissionList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsWithCreateSubscriptionPermissionList.json new file mode 100644 index 000000000000..878a9223f35e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoiceSectionsWithCreateSubscriptionPermissionList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "billingProfileDisplayName": "Billing Profile Display Name", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileSystemId": "33000000-0000-0000-0000-000000000000", + "billingProfileStatus": "Warned", + "billingProfileStatusReasonCode": "PastDue", + "billingProfileSpendingLimit": "On", + "enabledAzurePlans": [ + { + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan" + }, + { + "skuId": "0002", + "skuDescription": "Microsoft Azure Plan for DevTest" + } + ], + "invoiceSectionDisplayName": "Invoice Section Display Name", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionSystemId": "22000000-0000-0000-0000-000000000000" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesAmend.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesAmend.json new file mode 100644 index 000000000000..9aeb97d29b16 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesAmend.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "invoiceName": "G123456789" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/G123456789/operationResults/invoiceAmend_11111111-1111-1111-1111-111111111111?api-version=2024-04-01", + "Retry-After": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesDownloadByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesDownloadByBillingAccount.json new file mode 100644 index 000000000000..50877f606d79 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesDownloadByBillingAccount.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "invoiceName": "G123456789", + "documentName": "12345678" + }, + "responses": { + "200": { + "body": { + "expiryTime": "2023-02-16T17:32:28Z", + "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/operationResults/invoiceDownload_11111111-1111-1111-1111-111111111111?api-version=2024-04-01", + "Retry-After": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesDownloadByBillingSubscription.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesDownloadByBillingSubscription.json new file mode 100644 index 000000000000..cd1d29c4d592 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesDownloadByBillingSubscription.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "invoiceName": "E123456789", + "documentName": "12345678" + }, + "responses": { + "200": { + "body": { + "expiryTime": "2023-02-16T17:32:28Z", + "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/00000000-0000-0000-0000-000000000000/operationResults/invoiceDownload_11111111-1111-1111-1111-111111111111?api-version=2024-04-01", + "Retry-After": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesDownloadDocumentsByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesDownloadDocumentsByBillingAccount.json new file mode 100644 index 000000000000..3dd14b57b953 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesDownloadDocumentsByBillingAccount.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "parameters": [ + { + "documentName": "12345678", + "invoiceName": "G123456789" + }, + { + "documentName": "12345678", + "invoiceName": "G987654321" + } + ] + }, + "responses": { + "200": { + "body": { + "expiryTime": "2023-02-16T17:32:28Z", + "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/operationResults/invoiceDownload_11111111-1111-1111-1111-111111111111?api-version=2024-04-01", + "Retry-After": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesDownloadDocumentsByBillingSubscription.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesDownloadDocumentsByBillingSubscription.json new file mode 100644 index 000000000000..872bde3b455b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesDownloadDocumentsByBillingSubscription.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "parameters": [ + { + "documentName": "12345678", + "invoiceName": "E123456789" + }, + { + "documentName": "12345678", + "invoiceName": "E987654321" + } + ] + }, + "responses": { + "200": { + "body": { + "expiryTime": "2023-02-16T17:32:28Z", + "url": "https://myaccount.blob.core.windows.net/invoices/1383724.pdf?sv=2019-02-02&sr=b&sp=r" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/00000000-0000-0000-0000-000000000000/operationResults/invoiceDownload_11111111-1111-1111-1111-111111111111?api-version=2024-04-01", + "Retry-After": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesDownloadSummaryByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesDownloadSummaryByBillingAccount.json new file mode 100644 index 000000000000..f2c3759ba5de --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesDownloadSummaryByBillingAccount.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "123456789", + "invoiceName": "G123456789" + }, + "responses": { + "200": { + "body": { + "expiryTime": "2023-02-16T17:32:28Z", + "url": "https://myaccount.blob.core.windows.net/invoices/1383724_summary.pdf?sv=2019-02-02&sr=b&sp=r" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/123456789/operationResults/invoiceSummaryDownload_11111111-1111-1111-1111-111111111111?api-version=2024-04-01", + "Retry-After": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesGet.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesGet.json new file mode 100644 index 000000000000..3631d75fc2d7 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesGet.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "invoiceName": "G123456789" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/G123456789", + "name": "G123456789", + "properties": { + "amountDue": { + "currency": "USD", + "value": 8.53 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 25.46 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "billingProfileDisplayName": "Contoso Operations Billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "creditAmount": { + "currency": "USD", + "value": 0 + }, + "documents": [ + { + "kind": "Invoice", + "name": "12345678" + }, + { + "kind": "TaxReceipt", + "name": "22345678" + } + ], + "documentType": "Invoice", + "dueDate": "2023-02-16T17:32:28Z", + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0 + }, + "invoiceDate": "2023-02-01T17:32:28Z", + "invoicePeriodEndDate": "2023-02-15T17:32:28Z", + "invoicePeriodStartDate": "2023-02-01T17:32:28Z", + "isMonthlyInvoice": false, + "purchaseOrderNumber": "123456", + "rebillDetails": { + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/I000002", + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/CreditNote2", + "rebillDetails": { + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/I000001", + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/CreditNote" + } + }, + "status": "Due", + "specialTaxationType": "SubtotalLevel", + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 1 + }, + "totalAmount": { + "currency": "USD", + "value": 7.53 + } + }, + "type": "Microsoft.Billing/billingAccounts/invoices" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesGetByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesGetByBillingAccount.json new file mode 100644 index 000000000000..9f901c68983f --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesGetByBillingAccount.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "invoiceName": "G123456789" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/G123456789", + "name": "G123456789", + "properties": { + "amountDue": { + "currency": "USD", + "value": 8.53 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 25.46 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "billingProfileDisplayName": "Contoso Operations Billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "creditAmount": { + "currency": "USD", + "value": 0 + }, + "documents": [ + { + "kind": "Invoice", + "name": "12345678" + }, + { + "kind": "TaxReceipt", + "name": "22345678" + } + ], + "documentType": "Invoice", + "dueDate": "2023-02-16T17:32:28Z", + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0 + }, + "invoiceDate": "2023-02-01T17:32:28Z", + "invoicePeriodEndDate": "2023-02-15T17:32:28Z", + "invoicePeriodStartDate": "2023-02-01T17:32:28Z", + "isMonthlyInvoice": false, + "purchaseOrderNumber": "123456", + "rebillDetails": { + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/I000002", + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/CreditNote2", + "rebillDetails": { + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/I000001", + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/CreditNote" + } + }, + "status": "Due", + "specialTaxationType": "SubtotalLevel", + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 1 + }, + "totalAmount": { + "currency": "USD", + "value": 7.53 + } + }, + "type": "Microsoft.Billing/billingAccounts/invoices" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesGetByBillingSubscription.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesGetByBillingSubscription.json new file mode 100644 index 000000000000..61816249e447 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesGetByBillingSubscription.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "subscriptionId": "11111111-1111-1111-1111-111111111111", + "invoiceName": "E123456789" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/11111111-1111-1111-1111-111111111111/invoices/E123456789", + "name": "E123456789", + "properties": { + "amountDue": { + "currency": "USD", + "value": 8.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "dueDate": "2023-02-16T17:32:28Z", + "invoiceDate": "2023-02-01T17:32:28Z", + "invoicePeriodEndDate": "2023-02-15T17:32:28Z", + "invoicePeriodStartDate": "2023-02-01T17:32:28Z", + "invoiceType": "AzureServices", + "purchaseOrderNumber": "123456", + "status": "Due", + "subscriptionDisplayName": "Contoso Operations Billing", + "subscriptionId": "11111111-1111-1111-1111-111111111111" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions/invoices" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesListByBillingAccount.json new file mode 100644 index 000000000000..9027fef1b823 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesListByBillingAccount.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "periodStartDate": "2023-01-01", + "periodEndDate": "2023-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/G123456789", + "name": "G123456789", + "properties": { + "amountDue": { + "currency": "USD", + "value": 8.53 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 25.46 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "billingProfileDisplayName": "Contoso Operations Billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "creditAmount": { + "currency": "USD", + "value": 0 + }, + "documents": [ + { + "kind": "Invoice", + "name": "12345678" + }, + { + "kind": "TaxReceipt", + "name": "22345678" + } + ], + "documentType": "Invoice", + "dueDate": "2023-02-16T17:32:28Z", + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0 + }, + "invoiceDate": "2023-02-01T17:32:28Z", + "invoicePeriodEndDate": "2023-02-15T17:32:28Z", + "invoicePeriodStartDate": "2023-02-01T17:32:28Z", + "isMonthlyInvoice": false, + "purchaseOrderNumber": "123456", + "rebillDetails": { + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/I000002", + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/CreditNote2", + "rebillDetails": { + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/I000001", + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/CreditNote" + } + }, + "status": "Due", + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 1 + }, + "totalAmount": { + "currency": "USD", + "value": 7.53 + } + }, + "type": "Microsoft.Billing/billingAccounts/invoices" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/G987654321", + "name": "G987654321", + "properties": { + "amountDue": { + "currency": "USD", + "value": 0 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 25.46 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "billingProfileDisplayName": "Contoso Operations Billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "creditAmount": { + "currency": "USD", + "value": 0 + }, + "documents": [ + { + "kind": "Invoice", + "name": "12345678" + }, + { + "kind": "TaxReceipt", + "name": "22345678" + } + ], + "documentType": "Invoice", + "dueDate": "2023-01-16T17:32:28Z", + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0 + }, + "invoiceDate": "2023-01-01T17:32:28Z", + "invoicePeriodEndDate": "2023-01-15T17:32:28Z", + "invoicePeriodStartDate": "2023-01-01T17:32:28Z", + "isMonthlyInvoice": false, + "payments": [ + { + "amount": { + "currency": "USD", + "value": 33.99 + }, + "date": "2023-01-14T17:32:28Z", + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa", + "paymentType": "debited" + } + ], + "purchaseOrderNumber": "123455", + "rebillDetails": { + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/I000002", + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/CreditNote2", + "rebillDetails": { + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/I000001", + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/CreditNote" + } + }, + "status": "Paid", + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 1 + }, + "totalAmount": { + "currency": "USD", + "value": 7.53 + } + }, + "type": "Microsoft.Billing/billingAccounts/invoices" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesListByBillingProfile.json new file mode 100644 index 000000000000..ecf3db7b638b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesListByBillingProfile.json @@ -0,0 +1,163 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "periodStartDate": "2023-01-01", + "periodEndDate": "2023-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/G123456789", + "name": "G123456789", + "properties": { + "amountDue": { + "currency": "USD", + "value": 8.53 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 25.46 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "billingProfileDisplayName": "Contoso Operations Billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "creditAmount": { + "currency": "USD", + "value": 0 + }, + "documents": [ + { + "kind": "Invoice", + "name": "12345678" + }, + { + "kind": "TaxReceipt", + "name": "22345678" + } + ], + "documentType": "Invoice", + "dueDate": "2023-02-16T17:32:28Z", + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0 + }, + "invoiceDate": "2023-02-01T17:32:28Z", + "invoicePeriodEndDate": "2023-02-15T17:32:28Z", + "invoicePeriodStartDate": "2023-02-01T17:32:28Z", + "isMonthlyInvoice": false, + "purchaseOrderNumber": "123456", + "rebillDetails": { + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/I000002", + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/CreditNote2", + "rebillDetails": { + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/I000001", + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/CreditNote" + } + }, + "status": "Due", + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 1 + }, + "totalAmount": { + "currency": "USD", + "value": 7.53 + } + }, + "type": "Microsoft.Billing/billingAccounts/invoices" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/G987654321", + "name": "G987654321", + "properties": { + "amountDue": { + "currency": "USD", + "value": 0 + }, + "azurePrepaymentApplied": { + "currency": "USD", + "value": 25.46 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "billingProfileDisplayName": "Contoso Operations Billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "creditAmount": { + "currency": "USD", + "value": 0 + }, + "documents": [ + { + "kind": "Invoice", + "name": "12345678" + }, + { + "kind": "TaxReceipt", + "name": "22345678" + } + ], + "documentType": "Invoice", + "dueDate": "2023-01-16T17:32:28Z", + "freeAzureCreditApplied": { + "currency": "USD", + "value": 0 + }, + "invoiceDate": "2023-01-01T17:32:28Z", + "invoicePeriodEndDate": "2023-01-15T17:32:28Z", + "invoicePeriodStartDate": "2023-01-01T17:32:28Z", + "isMonthlyInvoice": false, + "payments": [ + { + "amount": { + "currency": "USD", + "value": 33.99 + }, + "date": "2023-01-14T17:32:28Z", + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa", + "paymentType": "debited" + } + ], + "purchaseOrderNumber": "123455", + "rebillDetails": { + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/I000002", + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/CreditNote2", + "rebillDetails": { + "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/I000001", + "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/CreditNote" + } + }, + "status": "Paid", + "subTotal": { + "currency": "USD", + "value": 33.99 + }, + "taxAmount": { + "currency": "USD", + "value": 1 + }, + "totalAmount": { + "currency": "USD", + "value": 7.53 + } + }, + "type": "Microsoft.Billing/billingAccounts/invoices" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesListByBillingSubscription.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesListByBillingSubscription.json new file mode 100644 index 000000000000..9ea623b7b3b5 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/invoicesListByBillingSubscription.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "subscriptionId": "11111111-1111-1111-1111-111111111111", + "periodStartDate": "2023-01-01", + "periodEndDate": "2023-06-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/11111111-1111-1111-1111-111111111111/invoices/E123456789", + "name": "E123456789", + "properties": { + "amountDue": { + "currency": "USD", + "value": 8.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "dueDate": "2023-02-16T17:32:28Z", + "invoiceDate": "2023-02-01T17:32:28Z", + "invoicePeriodEndDate": "2023-02-15T17:32:28Z", + "invoicePeriodStartDate": "2023-02-01T17:32:28Z", + "invoiceType": "AzureServices", + "purchaseOrderNumber": "123456", + "status": "Due", + "subscriptionDisplayName": "Contoso Operations Billing", + "subscriptionId": "11111111-1111-1111-1111-111111111111" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions/invoices" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/11111111-1111-1111-1111-111111111111/invoices/G123456789", + "name": "G123456789", + "properties": { + "amountDue": { + "currency": "USD", + "value": 15.53 + }, + "billedAmount": { + "currency": "USD", + "value": 55.99 + }, + "dueDate": "2023-02-16T17:32:28Z", + "invoiceDate": "2023-02-01T17:32:28Z", + "invoicePeriodEndDate": "2023-02-15T17:32:28Z", + "invoicePeriodStartDate": "2023-02-01T17:32:28Z", + "invoiceType": "AzureMarketplace", + "purchaseOrderNumber": "123456", + "status": "Due", + "subscriptionDisplayName": "Contoso Operations Billing", + "subscriptionId": "11111111-1111-1111-1111-111111111111" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions/invoices" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/11111111-1111-1111-1111-111111111111/invoices/E987654321", + "name": "E987654321", + "properties": { + "amountDue": { + "currency": "USD", + "value": 8.53 + }, + "billedAmount": { + "currency": "USD", + "value": 33.99 + }, + "documents": [ + { + "kind": "Invoice", + "name": "12345678" + } + ], + "dueDate": "2023-01-16T17:32:28Z", + "invoiceDate": "2023-01-01T17:32:28Z", + "invoicePeriodEndDate": "2023-01-15T17:32:28Z", + "invoicePeriodStartDate": "2023-01-01T17:32:28Z", + "invoiceType": "AzureSupport", + "payments": [ + { + "amount": { + "currency": "USD", + "value": 2000 + }, + "date": "2023-01-14T17:32:28Z", + "paymentMethodFamily": "CreditCard", + "paymentMethodType": "visa", + "paymentType": "credited" + } + ], + "purchaseOrderNumber": "123456", + "status": "Due", + "subscriptionDisplayName": "Contoso Operations Billing", + "subscriptionId": "11111111-1111-1111-1111-111111111111" + }, + "type": "Microsoft.Billing/billingAccounts/billingSubscriptions/invoices" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/operationsList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/operationsList.json new file mode 100644 index 000000000000..43d9ddc7dba2 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/operationsList.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "{namespace}/resource/read", + "display": { + "operation": "List resources", + "provider": "{namespace}", + "resource": "resource" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/partnerTransfersCancel.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/partnerTransfersCancel.json new file mode 100644 index 000000000000..05c6064bc437 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/partnerTransfersCancel.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "customerName": "11111111-1111-1111-1111-111111111111", + "transferName": "aabb123" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/BillingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/BillingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111/transfers/aabb123", + "name": "aabb123", + "type": "Microsoft.Billing/transfers", + "properties": { + "expirationTime": "2018-11-05T17:32:28Z", + "transferStatus": "Pending", + "recipientEmailId": "user@contoso.com", + "initiatorEmailId": "xyz@contoso.com", + "initiatorCustomerType": "Partner", + "canceledBy": "user@contoso.com" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/partnerTransfersGet.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/partnerTransfersGet.json new file mode 100644 index 000000000000..077a453b3dd3 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/partnerTransfersGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "customerName": "11111111-1111-1111-1111-111111111111", + "transferName": "aabb123" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/BillingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/BillingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111/transfers/aabb123", + "name": "aabb123", + "type": "Microsoft.Billing/transfers", + "properties": { + "expirationTime": "2018-11-05T17:32:28Z", + "transferStatus": "InProgress", + "recipientEmailId": "user@contoso.com", + "initiatorEmailId": "xyz@contoso.com", + "initiatorCustomerType": "Partner", + "detailedTransferStatus": [ + { + "productType": "AzureSubscription", + "productId": "subscriptionId", + "productName": "Azure subscription 1", + "skuDescription": "MS-AZR-0017G", + "transferStatus": "InProgress" + }, + { + "productType": "AzureReservation", + "productId": "reservedInstanceId", + "productName": "Reservation name", + "skuDescription": "Standard_D2s_v3;VirtualMachines;P1Y", + "transferStatus": "InProgress" + } + ] + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/partnerTransfersInitiate.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/partnerTransfersInitiate.json new file mode 100644 index 000000000000..2f504241e882 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/partnerTransfersInitiate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "customerName": "11111111-1111-1111-1111-111111111111", + "transferName": "aabb123", + "parameters": { + "properties": { + "recipientEmailId": "user@contoso.com" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/BillingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/BillingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111/transfers/aabb123", + "name": "aabb123", + "type": "Microsoft.Billing/transfers", + "properties": { + "expirationTime": "2018-11-05T17:32:28Z", + "transferStatus": "Pending", + "recipientEmailId": "user@contoso.com", + "initiatorEmailId": "xyz@contoso.com", + "initiatorCustomerType": "Partner" + } + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Billing/BillingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/BillingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111/transfers/aabb123", + "name": "aabb123", + "type": "Microsoft.Billing/transfers", + "properties": { + "expirationTime": "2018-11-05T17:32:28Z", + "transferStatus": "Pending", + "recipientEmailId": "user@contoso.com", + "initiatorEmailId": "xyz@contoso.com", + "initiatorCustomerType": "Partner" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/partnerTransfersList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/partnerTransfersList.json new file mode 100644 index 000000000000..9a99ec1f3832 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/partnerTransfersList.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "customerName": "11111111-1111-1111-1111-111111111111", + "transferName": "aabb123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/BillingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111/transfers/aabb123", + "name": "aabb123", + "type": "Microsoft.Billing/transfers", + "properties": { + "expirationTime": "2018-11-05T17:32:28Z", + "transferStatus": "InProgress", + "recipientEmailId": "user@contoso.com", + "initiatorEmailId": "xyz@contoso.com", + "initiatorCustomerType": "Partner", + "detailedTransferStatus": [ + { + "productType": "AzureSubscription", + "productId": "subscriptionId", + "productName": "Azure subscription 1", + "skuDescription": "MS-AZR-0017G", + "transferStatus": "InProgress" + }, + { + "productType": "AzureReservation", + "productId": "reservedInstanceId", + "productName": "Reservation name", + "skuDescription": "Standard_D2s_v3;VirtualMachines;P1Y", + "transferStatus": "InProgress" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsDeleteAtBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsDeleteAtBillingProfile.json new file mode 100644 index 000000000000..ad9a0b34e97d --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsDeleteAtBillingProfile.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000032:00000000-0000-0000-0000-000000000099_2019-05-31", + "billingProfileName": "ABC1-A1CD-AB1-BP1", + "paymentMethodName": "ABCDABCDABC0" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/paymentMethodLinks/operationResults/ed2975a8-8f77-43bb-a717-ace54326b14b?api-version=2024-04-01", + "Retry-After": "60" + } + }, + "204": {} + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsDeleteByUser.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsDeleteByUser.json new file mode 100644 index 000000000000..1573481c5c15 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsDeleteByUser.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "paymentMethodName": "ABCDABCDABC0" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsGetByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsGetByBillingAccount.json new file mode 100644 index 000000000000..d43dbe5178c0 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsGetByBillingAccount.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000032:00000000-0000-0000-0000-000000000099_2019-05-31", + "paymentMethodName": "21dd9edc-af71-4d62-80ce-37151d475326" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000032:00000000-0000-0000-0000-000000000099_2019-05-31/paymentMethods/21dd9edc-af71-4d62-80ce-37151d475326", + "name": "21dd9edc-af71-4d62-80ce-37151d475326", + "type": "Microsoft.Billing/billingAccounts/paymentMethods", + "properties": { + "family": "CheckWire", + "paymentMethodType": "check", + "displayName": "Check/wire transfer" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsGetByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsGetByBillingProfile.json new file mode 100644 index 000000000000..fb10f118429b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsGetByBillingProfile.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000032:00000000-0000-0000-0000-000000000099_2019-05-31", + "billingProfileName": "ABC1-A1CD-AB1-BP1", + "paymentMethodName": "ABCDABCDABC0" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000032:00000000-0000-0000-0000-000000000099_2019-05-31/billingProfiles/ABC1-A1CD-AB1-BP1/paymentMethodLinks/ABCDABCDABC0", + "name": "ABCDABCDABC0", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/paymentMethodLinks", + "properties": { + "paymentMethodId": "/providers/Microsoft.Billing/paymentMethods/ABCDABCDABC0", + "accountHolderName": "abc", + "expiration": "1/2035", + "lastFourDigits": "1270", + "family": "CreditCard", + "paymentMethodType": "mc", + "displayName": "Master Card", + "logos": [ + { + "mimeType": "image/png", + "url": "https://contoso.com/staticresourceservice/images/v4/logo_visa_rect.png" + }, + { + "mimeType": "image/svg+xml", + "url": "https://contoso.com/staticresourceservice/images/v4/logo_visa.svg" + } + ], + "status": "active" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsGetByUser.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsGetByUser.json new file mode 100644 index 000000000000..03ac39e0d9f3 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsGetByUser.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "paymentMethodName": "ABCDABCDABC0" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/paymentMethods/ABCDABCDABC0", + "name": "ABCDABCDABC0", + "type": "Microsoft.Billing/paymentMethods", + "properties": { + "accountHolderName": "abc", + "expiration": "1/2035", + "lastFourDigits": "1270", + "family": "CreditCard", + "paymentMethodType": "mc", + "displayName": "Master Card", + "logos": [ + { + "mimeType": "image/png", + "url": "https://contoso.com/staticresourceservice/images/v4/logo_visa_rect.png" + }, + { + "mimeType": "image/svg+xml", + "url": "https://contoso.com/staticresourceservice/images/v4/logo_visa.svg" + } + ], + "status": "active" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsListByBillingAccount.json new file mode 100644 index 000000000000..d75938f2a479 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsListByBillingAccount.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000032:00000000-0000-0000-0000-000000000099_2019-05-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000032:00000000-0000-0000-0000-000000000099_2019-05-31/paymentMethods/21dd9edc-af71-4d62-80ce-37151d475326", + "name": "21dd9edc-af71-4d62-80ce-37151d475326", + "properties": { + "displayName": "Check/wire transfer", + "family": "CheckWire", + "paymentMethodType": "check" + }, + "type": "Microsoft.Billing/billingAccounts/paymentMethods" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsListByBillingProfile.json new file mode 100644 index 000000000000..876f72195042 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsListByBillingProfile.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000032:00000000-0000-0000-0000-000000000099_2019-05-31", + "billingProfileName": "ABC1-A1CD-AB1-BP1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000032:00000000-0000-0000-0000-000000000099_2019-05-31/billingProfiles/ABC1-A1CD-AB1-BP1/paymentMethodLinks/ABCDABCDABC0", + "name": "ABCDABCDABC0", + "type": "Microsoft.Billing/billingAccounts/billingProfiles/paymentMethodLinks", + "properties": { + "paymentMethodId": "/providers/Microsoft.Billing/paymentMethods/ABCDABCDABC0", + "accountHolderName": "abc", + "expiration": "1/2035", + "lastFourDigits": "1270", + "family": "CreditCard", + "paymentMethodType": "mc", + "displayName": "Master Card", + "logos": [ + { + "mimeType": "image/png", + "url": "https://contoso.com/staticresourceservice/images/v4/logo_visa_rect.png" + }, + { + "mimeType": "image/svg+xml", + "url": "https://contoso.com/staticresourceservice/images/v4/logo_visa.svg" + } + ], + "status": "active" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsListByUser.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsListByUser.json new file mode 100644 index 000000000000..93f6f8355cce --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentMethodsListByUser.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/paymentMethods/ABCDABCDABC0", + "name": "ABCDABCDABC0", + "type": "Microsoft.Billing/paymentMethods", + "properties": { + "accountHolderName": "abc", + "expiration": "1/2035", + "lastFourDigits": "1270", + "family": "CreditCard", + "paymentMethodType": "mc", + "displayName": "Master Card", + "logos": [ + { + "mimeType": "image/png", + "url": "https://contoso.com/staticresourceservice/images/v4/logo_mc_rect.png" + }, + { + "mimeType": "image/svg+xml", + "url": "https://contoso.com/staticresourceservice/images/v4/logo_mc.svg" + } + ], + "status": "active" + } + }, + { + "id": "/providers/Microsoft.Billing/paymentMethods/ABCDABCDABC1", + "name": "ABCDABCDABC1", + "type": "Microsoft.Billing/paymentMethods", + "properties": { + "accountHolderName": "abc", + "expiration": "1/2025", + "lastFourDigits": "7373", + "family": "CreditCard", + "paymentMethodType": "visa", + "displayName": "Visa", + "logos": [ + { + "mimeType": "image/png", + "url": "https://contoso.com/staticresourceservice/images/v4/logo_visa_rect.png" + }, + { + "mimeType": "image/svg+xml", + "url": "https://contoso.com/staticresourceservice/images/v4/logo_visa.svg" + } + ], + "status": "active" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentTermInvalid.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentTermInvalid.json new file mode 100644 index 000000000000..30d437b35a74 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentTermInvalid.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "api-version": "2024-04-01", + "parameters": [ + { + "term": "net10", + "startDate": "2023-02-05T22:39:34.2606750Z", + "endDate": "2023-01-25T22:39:34.2606750Z" + } + ] + }, + "responses": { + "200": { + "body": { + "eligibilityStatus": "Invalid", + "eligibilityDetails": [ + { + "code": "InvalidDateRange", + "message": "The date range is invalid. The start date must be before the end date." + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentTermValid.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentTermValid.json new file mode 100644 index 000000000000..0cd84effd69c --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentTermValid.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "api-version": "2024-04-01", + "parameters": [ + { + "term": "net10", + "startDate": "2023-01-05T22:39:34.2606750Z", + "endDate": "2023-01-25T22:39:34.2606750Z" + } + ] + }, + "responses": { + "200": { + "body": { + "eligibilityStatus": "Valid" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentTermsAdd.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentTermsAdd.json new file mode 100644 index 000000000000..7ecf399a26cb --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentTermsAdd.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "api-version": "2024-04-01", + "parameters": [ + { + "term": "net10", + "startDate": "2023-01-05T22:39:34.2606750Z", + "endDate": "2023-01-25T22:39:34.2606750Z" + } + ] + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/operationResults/addPaymentTerms_ed2975a8-8f77-43bb-a717-ace54326b14b?api-version=2024-04-01", + "retry-after": "10", + "operation-id": "ed2975a8-8f77-43bb-a717-ace54326b14b" + } + }, + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/010000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "name": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "properties": { + "accountStatus": "Active", + "accountType": "Business", + "accountSubType": "Enterprise", + "agreementType": "MicrosoftCustomerAgreement", + "displayName": "Premier Business Account", + "hasReadAccess": true, + "primaryBillingTenantId": "20000000-0000-0000-0000-000000000001" + }, + "type": "Microsoft.Billing/billingAccounts", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentTermsCancel.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentTermsCancel.json new file mode 100644 index 000000000000..e0a806eeaf07 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/paymentTermsCancel.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "api-version": "2024-04-01", + "parameters": "2023-01-05T22:39:34.2606750Z" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/operationResults/cancelPaymentTerms_ed2975a8-8f77-43bb-a717-ace54326b14b?api-version=2024-04-01", + "retry-after": "10", + "operation-id": "ed2975a8-8f77-43bb-a717-ace54326b14b" + } + }, + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/010000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "name": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "properties": { + "accountStatus": "Active", + "accountType": "Business", + "accountSubType": "Enterprise", + "agreementType": "MicrosoftCustomerAgreement", + "displayName": "Premier Business Account", + "hasReadAccess": true, + "primaryBillingTenantId": "20000000-0000-0000-0000-000000000001" + }, + "type": "Microsoft.Billing/billingAccounts", + "systemData": { + "createdAt": "2023-01-04T22:39:34.2606750Z", + "lastModifiedAt": "2023-01-05T22:39:34.2606750Z" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesGetByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesGetByBillingAccount.json new file mode 100644 index 000000000000..557a8d860659 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesGetByBillingAccount.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "1234567" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/1234567/policies/default", + "name": "default", + "properties": { + "enterpriseAgreementPolicies": { + "authenticationType": "OrganizationalAccountOnly" + }, + "marketplacePurchases": "AllAllowed", + "reservationPurchases": "Allowed", + "savingsPlanPurchases": "NotAllowed" + }, + "type": "Microsoft.Billing/billingAccounts/policies" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesGetByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesGetByBillingProfile.json new file mode 100644 index 000000000000..f8fa70b88ffd --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesGetByBillingProfile.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/policies/default", + "name": "default", + "properties": { + "invoiceSectionLabelManagement": "Allowed", + "marketplacePurchases": "AllAllowed", + "reservationPurchases": "Allowed", + "savingsPlanPurchases": "Allowed" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/policies" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesGetByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesGetByCustomer.json new file mode 100644 index 000000000000..c63a027a93d6 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesGetByCustomer.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "customerName": "11111111-1111-1111-1111-111111111111", + "policyName": "default" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111/policies/default", + "name": "default", + "properties": { + "viewCharges": "Allowed" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/policies" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesGetByCustomerAtBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesGetByCustomerAtBillingAccount.json new file mode 100644 index 000000000000..31151821dd51 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesGetByCustomerAtBillingAccount.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "customerName": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111/policies/default", + "name": "default", + "properties": { + "viewCharges": "Allowed" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/policies" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesGetBySubscription.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesGetBySubscription.json new file mode 100644 index 000000000000..0f5ed801ddf6 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesGetBySubscription.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Billing/policies/default", + "name": "default", + "properties": { + "policies": [ + { + "name": "ViewCharges", + "value": "Allowed", + "policyType": "SystemControlled", + "scope": "/subscriptions/00000000-0000-0000-0000-000000000000" + } + ] + }, + "type": "Microsoft.Billing/policies" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesPutByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesPutByBillingAccount.json new file mode 100644 index 000000000000..94ef59622ac5 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesPutByBillingAccount.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "1234567", + "parameters": { + "properties": { + "enterpriseAgreementPolicies": { + "authenticationType": "OrganizationalAccountOnly" + }, + "marketplacePurchases": "AllAllowed", + "reservationPurchases": "Allowed", + "savingsPlanPurchases": "NotAllowed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/1234567/policies/default", + "name": "default", + "properties": { + "enterpriseAgreementPolicies": { + "authenticationType": "OrganizationalAccountOnly" + }, + "marketplacePurchases": "AllAllowed", + "reservationPurchases": "Allowed", + "savingsPlanPurchases": "NotAllowed" + }, + "type": "Microsoft.Billing/billingAccounts/policies" + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/1234567/policies/default", + "name": "default", + "properties": { + "enterpriseAgreementPolicies": { + "authenticationType": "OrganizationalAccountOnly" + }, + "marketplacePurchases": "AllAllowed", + "reservationPurchases": "Allowed", + "savingsPlanPurchases": "NotAllowed" + }, + "type": "Microsoft.Billing/billingAccounts/policies" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesPutByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesPutByBillingProfile.json new file mode 100644 index 000000000000..9fd97563d7f8 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesPutByBillingProfile.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "parameters": { + "properties": { + "invoiceSectionLabelManagement": "Allowed", + "marketplacePurchases": "AllAllowed", + "reservationPurchases": "Allowed", + "savingsPlanPurchases": "Allowed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/policies/default", + "name": "default", + "properties": { + "invoiceSectionLabelManagement": "Allowed", + "marketplacePurchases": "AllAllowed", + "reservationPurchases": "Allowed", + "savingsPlanPurchases": "Allowed" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/policies" + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/policies/default", + "name": "default", + "properties": { + "invoiceSectionLabelManagement": "Allowed", + "marketplacePurchases": "AllAllowed", + "reservationPurchases": "Allowed", + "savingsPlanPurchases": "Allowed" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/policies" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesPutByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesPutByCustomer.json new file mode 100644 index 000000000000..d3daf3ca1d7b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesPutByCustomer.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "customerName": "11111111-1111-1111-1111-111111111111", + "parameters": { + "properties": { + "viewCharges": "Allowed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111/policies/default", + "name": "default", + "properties": { + "viewCharges": "Allowed" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/policies" + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111/policies/default", + "name": "default", + "properties": { + "viewCharges": "Allowed" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/policies" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesPutByCustomerAtBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesPutByCustomerAtBillingAccount.json new file mode 100644 index 000000000000..81b1da8e4f12 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/policiesPutByCustomerAtBillingAccount.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "customerName": "11111111-1111-1111-1111-111111111111", + "parameters": { + "properties": { + "viewCharges": "Allowed" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111/policies/default", + "name": "default", + "properties": { + "viewCharges": "Allowed" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/policies" + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/11111111-1111-1111-1111-111111111111/policies/default", + "name": "default", + "properties": { + "viewCharges": "Allowed" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/policies" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productMove.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productMove.json new file mode 100644 index 000000000000..1f657748848b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productMove.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31", + "productName": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "parameters": { + "destinationInvoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB" + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/products/6b96d3f2-9008-4a9d-912f-f87744185aa3", + "name": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "My Product", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Microsoft Azure Plan", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/operationResults/moveProduct_11000000-0000-0000-0000-000000000000:22000000-0000-0000-0000-000000000000:6b96d3f2-9008-4a9d-912f-f87744185aa3:44000000-0000-0000-0000-000000000055:10000000-0000-0000-0000-000000000001?api-version=2020-12-15-privatepreview", + "Retry-After": "30" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productValidateMoveFailure.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productValidateMoveFailure.json new file mode 100644 index 000000000000..1e5d227ab325 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productValidateMoveFailure.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31", + "billingProfileName": "ea36e548-1505-41db-bebc-46fff3d37998", + "invoiceSectionName": "Q7GV-UUVA-PJA-TGB", + "productName": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "parameters": { + "destinationInvoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB" + } + }, + "responses": { + "200": { + "body": { + "errorDetails": { + "code": "ProductInactive", + "message": "Invoice Sections can only be changed for active products." + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productValidateMoveSuccess.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productValidateMoveSuccess.json new file mode 100644 index 000000000000..788479ea2fb0 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productValidateMoveSuccess.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31", + "billingProfileName": "ea36e548-1505-41db-bebc-46fff3d37998", + "invoiceSectionName": "Q7GV-UUVA-PJA-TGB", + "productName": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "parameters": { + "destinationInvoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB" + } + }, + "responses": { + "200": { + "body": { + "isMoveEligible": true + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsGet.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsGet.json new file mode 100644 index 000000000000..ff0ab2c7311d --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "productName": "11111111-1111-1111-1111-111111111111" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/products/90000000-0000-0000-0000-000000000000", + "name": "90000000-0000-0000-0000-000000000000", + "properties": { + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "displayName": "My product", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "productType": "Seat-Based Product Type", + "productTypeId": "XYZ56789", + "skuId": "0001", + "skuDescription": "SKU Description", + "purchaseDate": "2023-01-04T22:39:34.2606750Z", + "quantity": 1, + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsListByBillingAccount.json new file mode 100644 index 000000000000..cb0dbabb8f67 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsListByBillingAccount.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/products/90000000-0000-0000-0000-000000000000", + "name": "90000000-0000-0000-0000-000000000000", + "properties": { + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "displayName": "My product", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "productType": "Seat-Based Product Type", + "productTypeId": "XYZ56789", + "skuId": "0001", + "skuDescription": "SKU Description", + "purchaseDate": "2023-01-04T22:39:34.2606750Z", + "quantity": 1, + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/products/90000000-0000-0000-0000-000000000001", + "name": "90000000-0000-0000-0000-000000000001", + "properties": { + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "displayName": "Test product", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "productType": "Software Product Type", + "productTypeId": "EFG456", + "skuId": "0001", + "skuDescription": "SKU Description", + "purchaseDate": "2023-01-06T22:39:34.2606750Z", + "quantity": 1, + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/products/90000000-0000-0000-0000-000000000002", + "name": "90000000-0000-0000-0000-000000000002", + "properties": { + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "displayName": "Dev product", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "productType": "Reservation Product Type", + "productTypeId": "JKL789", + "skuId": "0001", + "skuDescription": "SKU Description", + "purchaseDate": "2023-01-05T22:39:34.2606750Z", + "quantity": 1, + "status": "Suspended" + }, + "type": "Microsoft.Billing/billingAccounts/products" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsListByBillingProfile.json new file mode 100644 index 000000000000..b6a016b5a993 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsListByBillingProfile.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31", + "billingProfileName": "ea36e548-1505-41db-bebc-46fff3d37998" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProducts/6b96d3f2-9008-4a9d-912f-f87744185aa3", + "name": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "My Product", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Microsoft Azure Dev/Test", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProducts/CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "name": "CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "Test Product", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Microsoft Azure Dev/Test", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProducts/90D31600-D46D-4084-84C6-1235CDAFFB56", + "name": "90D31600-D46D-4084-84C6-1235CDAFFB56", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "Dev Product", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Microsoft Azure Dev/Test", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProducts/9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "name": "9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "Dev Test Product", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/22000000-0000-0000-0000-000000000000", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Domain Name Registration ORG", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsListByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsListByCustomer.json new file mode 100644 index 000000000000..a9a46f5e494c --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsListByCustomer.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31", + "customerName": "Q7GV-UUVA-PJA-TGB" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProducts/6b96d3f2-9008-4a9d-912f-f87744185aa3", + "name": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "BillingProfile1", + "customerId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/customers/Q7GV-UUVA-PJA-TGB", + "customerDisplayName": "Customer1", + "displayName": "My Product", + "skuId": "0002", + "skuDescription": "Microsoft Azure Standard", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProducts/CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "name": "CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "BillingProfile1", + "customerId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/customers/Q7GV-UUVA-PJA-TGB", + "customerDisplayName": "Customer1", + "displayName": "Test Product", + "skuId": "0002", + "skuDescription": "Microsoft Azure Standard", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProducts/9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "name": "9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "BillingProfile1", + "customerId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/customers/Q7GV-UUVA-PJA-TGB", + "customerDisplayName": "Customer1", + "displayName": "Dev Test Product", + "skuId": "0001", + "skuDescription": "Domain Name Registration ORG", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsListByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsListByInvoiceSection.json new file mode 100644 index 000000000000..63d5a421af24 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsListByInvoiceSection.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31", + "billingProfileName": "ea36e548-1505-41db-bebc-46fff3d37998", + "invoiceSectionName": "Q7GV-UUVA-PJA-TGB" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProducts/6b96d3f2-9008-4a9d-912f-f87744185aa3", + "name": "6b96d3f2-9008-4a9d-912f-f87744185aa3", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "My Product", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Microsoft Azure Dev/Test", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProducts/CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "name": "CD0BBD7A-461A-4D9A-9C59-EAE51A0D5D12", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "Test Product", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Microsoft Azure Dev/Test", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProducts/90D31600-D46D-4084-84C6-1235CDAFFB56", + "name": "90D31600-D46D-4084-84C6-1235CDAFFB56", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "Dev Product", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Microsoft Azure Dev/Test", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProducts/9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "name": "9e90f86b-22fc-42f3-bfe2-0ac3e7c01d32", + "properties": { + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998", + "billingProfileDisplayName": "Contoso operations billing", + "displayName": "Dev Test Product", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/a1a9c77e-4cec-4a6c-a089-867d973a6074:a80d3b1f-c626-4e5e-82ed-1173bd91c838_2019-05-31/billingProfiles/ea36e548-1505-41db-bebc-46fff3d37998/invoiceSections/Q7GV-UUVA-PJA-TGB", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "skuId": "0001", + "skuDescription": "Domain Name Registration ORG", + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsUpdate.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsUpdate.json new file mode 100644 index 000000000000..89f0a2e7f8cd --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/productsUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "productName": "11111111-1111-1111-1111-111111111111", + "parameters": { + "properties": { + "autoRenew": "On" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/products/11111111-1111-1111-1111-111111111111", + "name": "11111111-1111-1111-1111-111111111111", + "properties": { + "autoRenew": "On", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "billingProfileDisplayName": "Billing Profile Display Name", + "displayName": "Product Display Name", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy", + "invoiceSectionDisplayName": "Invoice Section Display Name", + "productType": "Seat-Based Product Type", + "productTypeId": "XYZ56789", + "skuId": "0001", + "skuDescription": "SKU Description", + "purchaseDate": "2023-01-05T22:39:34.2606750Z", + "quantity": 1, + "status": "Active" + }, + "type": "Microsoft.Billing/billingAccounts/products" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/recipientTransfersAccept.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/recipientTransfersAccept.json new file mode 100644 index 000000000000..35a05c53d66a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/recipientTransfersAccept.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "transferName": "aabb123", + "parameters": { + "properties": { + "productDetails": [ + { + "productType": "AzureSubscription", + "productId": "subscriptionId" + }, + { + "productType": "AzureReservation", + "productId": "reservedInstanceId" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/transfers/aabb123", + "name": "aabb123", + "type": "Microsoft.Billing/transfers", + "properties": { + "expirationTime": "2018-11-05T17:32:28Z", + "transferStatus": "InProgress", + "recipientEmailId": "user@contoso.com", + "initiatorEmailId": "xyz@contoso.com", + "detailedTransferStatus": [ + { + "productType": "AzureSubscription", + "productId": "subscriptionId", + "productName": "Azure subscription 1", + "skuDescription": "MS-AZR-0017G", + "transferStatus": "InProgress" + }, + { + "productType": "AzureReservation", + "productId": "reservedInstanceId", + "productName": "Reservation name", + "skuDescription": "Standard_D2s_v3;VirtualMachines;P1Y", + "transferStatus": "InProgress" + } + ] + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/recipientTransfersDecline.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/recipientTransfersDecline.json new file mode 100644 index 000000000000..87f959476250 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/recipientTransfersDecline.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "transferName": "aabb123" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/transfers/aabb123", + "name": "aabb123", + "type": "Microsoft.Billing/transfers", + "properties": { + "expirationTime": "2018-11-05T17:32:28Z", + "transferStatus": "Declined", + "recipientEmailId": "user@contoso.com", + "initiatorEmailId": "xyz@contoso.com" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/recipientTransfersGet.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/recipientTransfersGet.json new file mode 100644 index 000000000000..3ff79fd49a41 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/recipientTransfersGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "transferName": "aabb123" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/transfers/aabb123", + "name": "aabb123", + "type": "Microsoft.Billing/transfers", + "properties": { + "expirationTime": "2018-11-05T17:32:28Z", + "transferStatus": "InProgress", + "recipientEmailId": "user@contoso.com", + "initiatorEmailId": "xyz@contoso.com", + "detailedTransferStatus": [ + { + "productType": "AzureSubscription", + "productId": "subscriptionId", + "productName": "Azure subscription 1", + "skuDescription": "MS-AZR-0017G", + "transferStatus": "InProgress" + }, + { + "productType": "AzureReservation", + "productId": "reservedInstanceId", + "productName": "Reservation name", + "skuDescription": "Standard_D2s_v3;VirtualMachines;P1Y", + "transferStatus": "InProgress" + } + ] + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/recipientTransfersList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/recipientTransfersList.json new file mode 100644 index 000000000000..7af1664d4fab --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/recipientTransfersList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "transferName": "aabb123" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/transfers/aabb123", + "name": "aabb123", + "type": "Microsoft.Billing/transfers", + "properties": { + "expirationTime": "2018-11-05T17:32:28Z", + "transferStatus": "InProgress", + "recipientEmailId": "user@contoso.com", + "initiatorEmailId": "xyz@contoso.com", + "detailedTransferStatus": [ + { + "productType": "AzureSubscription", + "productId": "subscriptionId", + "productName": "Azure subscription 1", + "skuDescription": "MS-AZR-0017G", + "transferStatus": "InProgress" + }, + { + "productType": "ReservedInstance", + "productId": "reservedInstanceId", + "productName": "Reservation name", + "skuDescription": "Standard_D2s_v3;VirtualMachines;P1Y", + "transferStatus": "InProgress" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/recipientTransfersValidate.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/recipientTransfersValidate.json new file mode 100644 index 000000000000..d5d265bcccaa --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/recipientTransfersValidate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "transferName": "aabb123", + "parameters": { + "properties": { + "productDetails": [ + { + "productType": "AzureSubscription", + "productId": "subscriptionId" + }, + { + "productType": "AzureReservation", + "productId": "reservedInstanceId" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "productId": "subscriptionId", + "status": "Failed", + "results": [ + { + "level": "Error", + "code": "NotIntendedRecipient", + "message": "Intended recipient is different." + } + ] + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationGetByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationGetByBillingAccount.json new file mode 100644 index 000000000000..b91f10f7472a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationGetByBillingAccount.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "reservationOrderId": "20000000-0000-0000-0000-000000000000", + "reservationId": "30000000-0000-0000-0000-000000000000", + "$expand": "renewProperties" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/reservationOrders/20000000-0000-0000-0000-000000000000/reservations/30000000-0000-0000-0000-000000000000", + "name": "30000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/reservationOrders/reservations", + "location": "westus", + "etag": 15, + "sku": { + "name": "Standard_DS1_v2" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "reservedResourceType": "VirtualMachines", + "userFriendlyRenewState": "On", + "skuDescription": "Reserved VM Instance, Standard_DS1_v2, US West, 3 Years", + "renew": true, + "archived": false, + "quantity": 1, + "appliedScopeType": "Shared", + "displayName": "VM_RI_11-24-2021_22-30", + "provisioningState": "Succeeded", + "term": "P3Y", + "displayProvisioningState": "Succeeded", + "userFriendlyAppliedScopeType": "Shared", + "expiryDateTime": "2024-11-25T06:34:12.9266987Z", + "purchaseDateTime": "2021-11-25T06:31:18.3925493Z", + "benefitStartTime": "2021-11-25T06:34:12.9266987Z", + "lastUpdatedDateTime": "2023-01-24T01:46:05.5344318Z", + "expiryDate": "2024-11-25", + "purchaseDate": "2021-11-25", + "effectiveDateTime": "2023-01-24T01:46:05.4250511Z", + "instanceFlexibility": "On", + "utilization": { + "trend": "SAME", + "aggregates": [ + { + "grain": 1, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + }, + { + "grain": 7, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + } + ] + }, + "billingPlan": "Monthly", + "billingScopeId": "/subscriptions/30000000-0000-0000-0000-000000000009", + "productCode": "20000000-0000-0000-0000-000000000005", + "renewProperties": { + "purchaseProperties": { + "sku": { + "name": "Standard_DS1_v2" + }, + "location": "westus", + "properties": { + "billingScopeId": "/subscriptions/30000000-0000-0000-0000-000000000009", + "term": "P3Y", + "billingPlan": "Monthly", + "quantity": 1, + "displayName": "VM_RI_11-24-2021_22-30_renewed", + "appliedScopeType": "Shared", + "reservedResourceProperties": { + "instanceFlexibility": "On" + }, + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "renew": false + } + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 715.68 + }, + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 715.68 + } + } + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationGetByBillingAccountManagementGroup.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationGetByBillingAccountManagementGroup.json new file mode 100644 index 000000000000..8669024ec23d --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationGetByBillingAccountManagementGroup.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "reservationOrderId": "20000000-0000-0000-0000-000000000000", + "reservationId": "30000000-0000-0000-0000-000000000000", + "$expand": "renewProperties" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/reservationOrders/20000000-0000-0000-0000-000000000000/reservations/30000000-0000-0000-0000-000000000000", + "name": "30000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/reservationOrders/reservations", + "location": "westus", + "etag": 21, + "sku": { + "name": "Standard_DS1_v2" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "appliedScopeProperties": { + "tenantId": "50000000-0000-0000-0000-000000000009", + "managementGroupId": "/providers/Microsoft.Management/managementGroups/TestRg", + "displayName": "TestRg" + }, + "extendedStatusInfo": { + "statusCode": "NoBenefit", + "message": "The subscriptions utilizing the reservation were removed or transferred from this account and no longer receive the reservation benefit. You can cancel the reservation or transfer to the right account or create resources and subscriptions to map it to this reservation." + }, + "reservedResourceType": "VirtualMachines", + "userFriendlyRenewState": "On", + "skuDescription": "Reserved VM Instance, Standard_DS1_v2, US West, 3 Years", + "renew": true, + "archived": false, + "quantity": 1, + "appliedScopeType": "ManagementGroup", + "displayName": "VM_RI_11-24-2021_22-30", + "provisioningState": "Succeeded", + "term": "P3Y", + "displayProvisioningState": "NoBenefit", + "userFriendlyAppliedScopeType": "ManagementGroup", + "expiryDateTime": "2024-11-25T06:34:12.9266987Z", + "purchaseDateTime": "2021-11-25T06:31:18.3925493Z", + "benefitStartTime": "2021-11-25T06:34:12.9266987Z", + "lastUpdatedDateTime": "2023-01-26T01:19:32.0697120Z", + "expiryDate": "2024-11-25", + "purchaseDate": "2021-11-25", + "effectiveDateTime": "2023-01-26T01:19:31.9916066Z", + "instanceFlexibility": "On", + "utilization": { + "trend": "SAME", + "aggregates": [ + { + "grain": 1.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + }, + { + "grain": 7.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + } + ] + }, + "billingPlan": "Monthly", + "billingScopeId": "/subscriptions/30000000-0000-0000-0000-000000000009", + "productCode": "20000000-0000-0000-0000-000000000005", + "renewProperties": { + "purchaseProperties": { + "sku": { + "name": "Standard_DS1_v2" + }, + "location": "westus", + "properties": { + "billingScopeId": "/subscriptions/30000000-0000-0000-0000-000000000009", + "term": "P3Y", + "billingPlan": "Monthly", + "quantity": 1, + "displayName": "VM_RI_11-24-2021_22-30_renewed", + "appliedScopeType": "ManagementGroup", + "reservedResourceProperties": { + "instanceFlexibility": "On" + }, + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "renew": false, + "appliedScopeProperties": { + "tenantId": "50000000-0000-0000-0000-000000000009", + "managementGroupId": "/providers/Microsoft.Management/managementGroups/TestRg" + } + } + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 715.68 + }, + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 715.68 + } + } + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationGetByBillingAccountSingleResourceGroup.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationGetByBillingAccountSingleResourceGroup.json new file mode 100644 index 000000000000..b1e70ee940b6 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationGetByBillingAccountSingleResourceGroup.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "reservationOrderId": "20000000-0000-0000-0000-000000000000", + "reservationId": "30000000-0000-0000-0000-000000000000", + "$expand": "renewProperties" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/reservationOrders/20000000-0000-0000-0000-000000000000/reservations/30000000-0000-0000-0000-000000000000", + "name": "30000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/reservationOrders/reservations", + "location": "westus", + "etag": 23, + "sku": { + "name": "Standard_DS1_v2" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "appliedScopeProperties": { + "resourceGroupId": "/subscriptions/30000000-0000-0000-0000-000000000009/resourcegroups/fastpathtesting_20210915", + "displayName": "fastpathtesting_20210915" + }, + "reservedResourceType": "VirtualMachines", + "userFriendlyRenewState": "On", + "skuDescription": "Reserved VM Instance, Standard_DS1_v2, US West, 3 Years", + "renew": true, + "archived": false, + "quantity": 1, + "appliedScopeType": "Single", + "displayName": "VM_RI_11-24-2021_22-30", + "provisioningState": "Succeeded", + "term": "P3Y", + "displayProvisioningState": "Succeeded", + "userFriendlyAppliedScopeType": "ResourceGroup", + "expiryDateTime": "2024-11-25T06:34:12.9266987Z", + "purchaseDateTime": "2021-11-25T06:31:18.3925493Z", + "benefitStartTime": "2021-11-25T06:34:12.9266987Z", + "lastUpdatedDateTime": "2023-01-26T01:21:47.3561106Z", + "expiryDate": "2024-11-25", + "purchaseDate": "2021-11-25", + "effectiveDateTime": "2023-01-26T01:21:47.2936116Z", + "instanceFlexibility": "On", + "utilization": { + "trend": "SAME", + "aggregates": [ + { + "grain": 1.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + }, + { + "grain": 7.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + } + ] + }, + "billingPlan": "Monthly", + "billingScopeId": "/subscriptions/30000000-0000-0000-0000-000000000009", + "productCode": "20000000-0000-0000-0000-000000000005", + "renewProperties": { + "purchaseProperties": { + "sku": { + "name": "Standard_DS1_v2" + }, + "location": "westus", + "properties": { + "billingScopeId": "/subscriptions/30000000-0000-0000-0000-000000000009", + "term": "P3Y", + "billingPlan": "Monthly", + "quantity": 1, + "displayName": "VM_RI_11-24-2021_22-30_renewed", + "appliedScopes": [ + "/subscriptions/30000000-0000-0000-0000-000000000009/resourcegroups/fastpathtesting_20210915" + ], + "appliedScopeType": "Single", + "reservedResourceProperties": { + "instanceFlexibility": "On" + }, + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "renew": false + } + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 715.68 + }, + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 715.68 + } + } + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationGetByBillingAccountSingleScope.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationGetByBillingAccountSingleScope.json new file mode 100644 index 000000000000..1b7271d06105 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationGetByBillingAccountSingleScope.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "reservationOrderId": "20000000-0000-0000-0000-000000000000", + "reservationId": "30000000-0000-0000-0000-000000000000", + "$expand": "renewProperties" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/reservationOrders/20000000-0000-0000-0000-000000000000/reservations/30000000-0000-0000-0000-000000000000", + "name": "30000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/reservationOrders/reservations", + "location": "westus", + "etag": 19, + "sku": { + "name": "Standard_DS1_v2" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "appliedScopeProperties": { + "subscriptionId": "/subscriptions/30000000-0000-0000-0000-000000000009", + "displayName": "Azure subscription 1" + }, + "reservedResourceType": "VirtualMachines", + "userFriendlyRenewState": "On", + "skuDescription": "Reserved VM Instance, Standard_DS1_v2, US West, 3 Years", + "renew": true, + "archived": false, + "quantity": 1, + "appliedScopeType": "Single", + "displayName": "VM_RI_11-24-2021_22-30", + "provisioningState": "Succeeded", + "term": "P3Y", + "displayProvisioningState": "Succeeded", + "userFriendlyAppliedScopeType": "Single", + "expiryDateTime": "2024-11-25T06:34:12.9266987Z", + "purchaseDateTime": "2021-11-25T06:31:18.3925493Z", + "benefitStartTime": "2021-11-25T06:34:12.9266987Z", + "lastUpdatedDateTime": "2023-01-26T01:14:18.6057756Z", + "expiryDate": "2024-11-25", + "purchaseDate": "2021-11-25", + "effectiveDateTime": "2023-01-26T01:14:18.558909Z", + "instanceFlexibility": "Off", + "utilization": { + "trend": "SAME", + "aggregates": [ + { + "grain": 1.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + }, + { + "grain": 7.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + } + ] + }, + "billingPlan": "Monthly", + "billingScopeId": "/subscriptions/30000000-0000-0000-0000-000000000009", + "productCode": "20000000-0000-0000-0000-000000000005", + "renewProperties": { + "purchaseProperties": { + "sku": { + "name": "Standard_DS1_v2" + }, + "location": "westus", + "properties": { + "billingScopeId": "/subscriptions/30000000-0000-0000-0000-000000000009", + "term": "P3Y", + "billingPlan": "Monthly", + "quantity": 1, + "displayName": "VM_RI_11-24-2021_22-30_renewed", + "appliedScopes": [ + "/subscriptions/30000000-0000-0000-0000-000000000009" + ], + "appliedScopeType": "Single", + "reservedResourceProperties": { + "instanceFlexibility": "Off" + }, + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "Off", + "renew": false + } + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 715.68 + }, + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 715.68 + } + } + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationOrderGetByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationOrderGetByBillingAccount.json new file mode 100644 index 000000000000..eecfeafaaeed --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationOrderGetByBillingAccount.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "reservationOrderId": "20000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/reservationOrders/20000000-0000-0000-0000-000000000000", + "name": "20000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/reservationOrders", + "etag": 27, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "originalQuantity": 1, + "requestDateTime": "2021-11-25T06:31:18.3925493Z", + "billingPlan": "Monthly", + "reservations": [ + { + "id": "/providers/Microsoft.Capacity/reservationOrders/20000000-0000-0000-0000-000000000000/reservations/20000000-0000-0000-0000-000000000001" + } + ], + "term": "P3Y", + "displayName": "VM_RI_11-24-2021_22-30", + "createdDateTime": "2021-11-25T06:34:13.9736776Z", + "benefitStartTime": "2021-11-25T06:34:12.9266987Z", + "provisioningState": "Succeeded", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-AAAA-AAA-AAA", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "expiryDateTime": "2024-11-25T06:34:12.9266987Z", + "productCode": "20000000-0000-0000-0000-000000000005" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationOrderGetByBillingAccountWithExpandPlanInformation.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationOrderGetByBillingAccountWithExpandPlanInformation.json new file mode 100644 index 000000000000..2ed1a953b092 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationOrderGetByBillingAccountWithExpandPlanInformation.json @@ -0,0 +1,409 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "reservationOrderId": "20000000-0000-0000-0000-000000000000", + "$expand": "schedule" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/reservationOrders/20000000-0000-0000-0000-000000000000", + "name": "20000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/reservationOrders", + "etag": 26, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "originalQuantity": 1, + "requestDateTime": "2021-11-25T06:31:18.3925493Z", + "billingPlan": "Monthly", + "reservations": [ + { + "id": "/providers/Microsoft.Capacity/reservationOrders/20000000-0000-0000-0000-000000000000/reservations/20000000-0000-0000-0000-000000000001" + } + ], + "term": "P3Y", + "displayName": "VM_RI_11-24-2021_22-30", + "createdDateTime": "2021-11-25T06:34:13.9736776Z", + "benefitStartTime": "2021-11-25T06:34:12.9266987Z", + "provisioningState": "Succeeded", + "planInformation": { + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 715.68 + }, + "startDate": "2021-11-25", + "nextPaymentDueDate": "2023-01-25", + "transactions": [ + { + "dueDate": "2021-11-25", + "paymentDate": "2021-11-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Completed" + }, + { + "dueDate": "2021-12-25", + "paymentDate": "2021-12-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Completed" + }, + { + "dueDate": "2022-01-25", + "paymentDate": "2022-01-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Completed" + }, + { + "dueDate": "2022-02-25", + "paymentDate": "2022-02-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Completed" + }, + { + "dueDate": "2022-03-25", + "paymentDate": "2022-03-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Completed" + }, + { + "dueDate": "2022-04-25", + "paymentDate": "2022-04-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Completed" + }, + { + "dueDate": "2022-05-25", + "paymentDate": "2022-05-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Completed" + }, + { + "dueDate": "2022-06-25", + "paymentDate": "2022-06-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Completed" + }, + { + "dueDate": "2022-07-25", + "paymentDate": "2022-07-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Completed" + }, + { + "dueDate": "2022-08-25", + "paymentDate": "2022-08-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Completed" + }, + { + "dueDate": "2022-09-25", + "paymentDate": "2022-09-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Completed" + }, + { + "dueDate": "2022-10-25", + "paymentDate": "2022-10-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Completed" + }, + { + "dueDate": "2022-11-25", + "paymentDate": "2022-11-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Completed" + }, + { + "dueDate": "2022-12-25", + "paymentDate": "2022-12-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Completed" + }, + { + "dueDate": "2023-01-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-02-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-03-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-04-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-05-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-06-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-07-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-08-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-09-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-10-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-11-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-12-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-01-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-02-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-03-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-04-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-05-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-06-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-07-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-08-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-09-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-10-25", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 19.88 + }, + "status": "Scheduled" + } + ] + }, + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-AAAA-AAA-AAA", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "expiryDateTime": "2024-11-25T06:34:12.9266987Z", + "productCode": "20000000-0000-0000-0000-000000000005" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationOrdersListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationOrdersListByBillingAccount.json new file mode 100644 index 000000000000..0e605d2e3c11 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationOrdersListByBillingAccount.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/400000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/reservationOrders/20000000-0000-0000-0000-000000000000", + "name": "20000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/reservationOrders", + "etag": 10, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "originalQuantity": 1, + "requestDateTime": "2021-08-03T21:23:47.9090964Z", + "billingPlan": "Upfront", + "reservations": [ + { + "id": "/providers/Microsoft.Capacity/reservationOrders/20000000-0000-0000-0000-000000000000/reservations/20000000-0000-0000-0000-000000000001" + } + ], + "term": "P3Y", + "displayName": "SUSE_Plan_08-03-2021_14-22", + "createdDateTime": "2021-08-03T21:26:50.7784836Z", + "benefitStartTime": "2021-08-03T21:26:48.5128969Z", + "provisioningState": "Succeeded", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/400000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-AAAA-AAA-AAA", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/400000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "expiryDateTime": "2024-08-03T21:26:48.5128969Z", + "productCode": "20000000-0000-0000-0000-000000000005" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationUpdateByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationUpdateByBillingAccount.json new file mode 100644 index 000000000000..6f9f5adf1c91 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationUpdateByBillingAccount.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "reservationOrderId": "20000000-0000-0000-0000-000000000000", + "reservationId": "30000000-0000-0000-0000-000000000000", + "body": { + "properties": { + "displayName": "NewName" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/reservationOrders/20000000-0000-0000-0000-000000000000/reservations/30000000-0000-0000-0000-000000000000", + "name": "30000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/reservationOrders/reservations", + "location": "westus", + "etag": 15, + "sku": { + "name": "Standard_DS1_v2" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "reservedResourceType": "VirtualMachines", + "userFriendlyRenewState": "On", + "skuDescription": "Reserved VM Instance, Standard_DS1_v2, US West, 3 Years", + "renew": true, + "archived": false, + "quantity": 1, + "appliedScopeType": "Shared", + "displayName": "NewName", + "provisioningState": "Succeeded", + "term": "P3Y", + "displayProvisioningState": "Succeeded", + "userFriendlyAppliedScopeType": "Shared", + "expiryDateTime": "2024-11-25T06:34:12.9266987Z", + "purchaseDateTime": "2021-11-25T06:31:18.3925493Z", + "benefitStartTime": "2021-11-25T06:34:12.9266987Z", + "lastUpdatedDateTime": "2023-01-24T01:46:05.5344318Z", + "expiryDate": "2024-11-25", + "purchaseDate": "2021-11-25", + "effectiveDateTime": "2023-01-24T01:46:05.4250511Z", + "instanceFlexibility": "On", + "utilization": { + "trend": "SAME", + "aggregates": [ + { + "grain": 1, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + }, + { + "grain": 7, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + } + ] + }, + "billingPlan": "Monthly", + "productCode": "20000000-0000-0000-0000-000000000005", + "billingScopeId": "/subscriptions/30000000-0000-0000-0000-000000000009", + "renewProperties": { + "purchaseProperties": { + "sku": { + "name": "Standard_DS1_v2" + }, + "location": "westus", + "properties": { + "billingScopeId": "/subscriptions/30000000-0000-0000-0000-000000000009", + "term": "P3Y", + "billingPlan": "Monthly", + "quantity": 1, + "displayName": "VM_RI_11-24-2021_22-30_renewed", + "appliedScopeType": "Shared", + "reservedResourceProperties": { + "instanceFlexibility": "On" + }, + "reservedResourceType": "VirtualMachines", + "instanceFlexibility": "On", + "renew": false + } + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 715.68 + }, + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 715.68 + } + } + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/reservationOrders/20000000-0000-0000-0000-000000000000/reservations/30000000-0000-0000-0000-000000000000?api-version=2024-04-01", + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/reservationOrders/20000000-0000-0000-0000-000000000000/reservations/30000000-0000-0000-0000-000000000000?api-version=2024-04-01", + "Retry-After": 120 + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationsGetFromOrderByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationsGetFromOrderByBillingAccount.json new file mode 100644 index 000000000000..b3f4cdd4ef15 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationsGetFromOrderByBillingAccount.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "reservationOrderId": "20000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/4973e1de-a829-5c64-4fef-0a692e2b3108:1970c5da-0aa4-46fd-a917-4772f9a17978_2019-05-31/reservationOrders/99f340d1-6db4-41b4-b469-cfc499716973/reservations/a7d70646-b848-4498-8093-5938128b225c", + "name": "a7d70646-b848-4498-8093-5938128b225c", + "type": "microsoft.billing/billingAccounts/reservationOrders/reservations", + "location": "westus", + "etag": 15, + "sku": { + "name": "Standard_DS1_v2" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "reservedResourceType": "VirtualMachines", + "userFriendlyRenewState": "On", + "skuDescription": "Reserved VM Instance, Standard_DS1_v2, US West, 3 Years", + "renew": true, + "archived": false, + "quantity": 1, + "appliedScopeType": "Shared", + "displayName": "VM_RI_11-24-2021_22-30", + "provisioningState": "Succeeded", + "term": "P3Y", + "displayProvisioningState": "Succeeded", + "userFriendlyAppliedScopeType": "Shared", + "expiryDateTime": "2024-11-25T06:34:12.9266987Z", + "purchaseDateTime": "2021-11-25T06:31:18.3925493Z", + "benefitStartTime": "2021-11-25T06:34:12.9266987Z", + "lastUpdatedDateTime": "2023-01-24T01:46:05.5344318Z", + "expiryDate": "2024-11-25", + "purchaseDate": "2021-11-25", + "effectiveDateTime": "2023-01-24T01:46:05.4250511Z", + "instanceFlexibility": "On", + "utilization": { + "trend": "SAME", + "aggregates": [ + { + "grain": 1, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + }, + { + "grain": 7, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + } + ] + }, + "billingPlan": "Monthly", + "billingScopeId": "/subscriptions/eef82110-c91b-4395-9420-fcfcbefc5a47", + "productCode": "20000000-0000-0000-0000-000000000005" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationsListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationsListByBillingAccount.json new file mode 100644 index 000000000000..106f7d43b81e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationsListByBillingAccount.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "$filter": "properties/reservedResourceType eq 'VirtualMachineSoftware' and properties/billingProfileId eq '/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-AAAA-AAA-AAA'", + "$orderby": "properties/userFriendlyAppliedScopeType asc", + "refreshsummary": "true", + "selectedState": "Succeeded" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/reservationOrders/00000000-0000-0000-0000-000000000001/reservations/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/reservationOrders/reservations", + "location": "global", + "sku": { + "name": "mock_sku" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "reservedResourceType": "VirtualMachineSoftware", + "userFriendlyRenewState": "Off", + "skuDescription": "Sku description", + "renew": false, + "archived": false, + "quantity": 1, + "appliedScopeType": "Shared", + "displayName": "VirtualMachineSoftware_01-18-2022_13-51", + "provisioningState": "Succeeded", + "term": "P3Y", + "displayProvisioningState": "Succeeded", + "userFriendlyAppliedScopeType": "Shared", + "expiryDateTime": "2025-01-18T21:54:31.0741034Z", + "purchaseDateTime": "2022-01-18T21:51:29.9063671Z", + "benefitStartTime": "2022-01-18T21:54:31.0741034Z", + "lastUpdatedDateTime": "0001-01-01T00:00:00.0000000", + "expiryDate": "2025-01-18", + "purchaseDate": "2022-01-18", + "effectiveDateTime": "0001-01-01T00:00:00Z", + "instanceFlexibility": "On", + "utilization": { + "trend": "SAME", + "aggregates": [ + { + "grain": 1, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + }, + { + "grain": 7, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + } + ] + }, + "billingPlan": "Monthly", + "billingScopeId": "/subscriptions/eef82110-c91b-4395-9420-fcfcbefc5a47", + "productCode": "20000000-0000-0000-0000-000000000005" + } + } + ], + "summary": { + "noBenefitCount": 0, + "warningCount": 0, + "succeededCount": 1, + "failedCount": 0, + "expiringCount": 0, + "expiredCount": 0, + "pendingCount": 0, + "cancelledCount": 0, + "processingCount": 0 + }, + "nextLink": null + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationsListByBillingProfile.json new file mode 100644 index 000000000000..cd8277578734 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/reservationsListByBillingProfile.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "AAAA-AAAA-AAA-AAA", + "$filter": "properties/reservedResourceType eq 'VirtualMachineSoftware'", + "$orderby": "properties/userFriendlyAppliedScopeType asc", + "refreshsummary": "true", + "selectedState": "Succeeded" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/reservationOrders/00000000-0000-0000-0000-000000000001/reservations/00000000-0000-0000-0000-000000000000", + "name": "00000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/reservationOrders/reservations", + "location": "global", + "sku": { + "name": "mock_sku" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "reservedResourceType": "VirtualMachineSoftware", + "userFriendlyRenewState": "Off", + "skuDescription": "Sku description", + "renew": false, + "archived": false, + "quantity": 1, + "appliedScopeType": "Shared", + "displayName": "VirtualMachineSoftware_01-18-2022_13-51", + "provisioningState": "Succeeded", + "term": "P3Y", + "displayProvisioningState": "Succeeded", + "userFriendlyAppliedScopeType": "Shared", + "expiryDateTime": "2025-01-18T21:54:31.0741034Z", + "purchaseDateTime": "2022-01-18T21:51:29.9063671Z", + "benefitStartTime": "2022-01-18T21:54:31.0741034Z", + "lastUpdatedDateTime": "0001-01-01T00:00:00.0000000", + "expiryDate": "2025-01-18", + "purchaseDate": "2022-01-18", + "effectiveDateTime": "0001-01-01T00:00:00Z", + "instanceFlexibility": "On", + "utilization": { + "trend": "SAME", + "aggregates": [ + { + "grain": 1, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + }, + { + "grain": 7, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + } + ] + }, + "billingPlan": "Monthly", + "billingScopeId": "/subscriptions/eef82110-c91b-4395-9420-fcfcbefc5a47", + "productCode": "20000000-0000-0000-0000-000000000005" + } + } + ], + "summary": { + "noBenefitCount": 0, + "warningCount": 0, + "succeededCount": 1, + "failedCount": 0, + "expiringCount": 0, + "expiredCount": 0, + "pendingCount": 0, + "cancelledCount": 0, + "processingCount": 0 + }, + "nextLink": null + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/resolveBillingRoleAssignmentByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/resolveBillingRoleAssignmentByBillingAccount.json new file mode 100644 index 000000000000..531994f2ced4 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/resolveBillingRoleAssignmentByBillingAccount.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingRoleDefinitions/00000000-0000-0000-0000-000000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "name": "10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingRoleDefinitions/00000000-0000-0000-0000-000000000001", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments" + } + ] + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/operationResults/resolveBillingRoleAssignments_10000000-0000-0000-0000-000000000001?api-version=2024-04-01", + "retry-after": "5" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/resolveBillingRoleAssignmentByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/resolveBillingRoleAssignmentByBillingProfile.json new file mode 100644 index 000000000000..00d296990c67 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/resolveBillingRoleAssignmentByBillingProfile.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingProfileName": "xxxx-xxxx-xxx-xxx" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/00000000-0000-0000-0000-000000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleAssignments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "name": "10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/00000000-0000-0000-0000-000000000001", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/billingRoleAssignments" + } + ] + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/operationResults/resolveBillingRoleAssignments_10000000-0000-0000-0000-000000000001?api-version=2024-04-01", + "retry-after": "5" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/resolveBillingRoleAssignmentByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/resolveBillingRoleAssignmentByCustomer.json new file mode 100644 index 000000000000..ce4029b87bcf --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/resolveBillingRoleAssignmentByCustomer.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "customerName": "703ab484-dda2-4402-827b-a74513b61e2d" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/customers/703ab484-dda2-4402-827b-a74513b61e2d/billingRoleAssignments/30000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "30000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "principalTenantId": "c360d6f1-2709-476d-81bb-d075b213d9fc", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/customers/703ab484-dda2-4402-827b-a74513b61e2d/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/customers/703ab484-dda2-4402-827b-a74513b61e2d", + "userEmailAddress": "foo@bar.com", + "principalTenantName": "Foo Bar", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/billingRoleAssignments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/customers/703ab484-dda2-4402-827b-a74513b61e2d/billingRoleAssignments/30000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "name": "30000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "principalTenantId": "c360d6f1-2709-476d-81bb-d075b213d9fc", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/customers/703ab484-dda2-4402-827b-a74513b61e2d/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/customers/703ab484-dda2-4402-827b-a74513b61e2d", + "userEmailAddress": "foo@bar.com", + "principalTenantName": "Foo Bar", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/customers/billingRoleAssignments" + } + ] + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/xxxx-xxxx-xxx-xxx/customers/703ab484-dda2-4402-827b-a74513b61e2d/operationResults/resolveBillingRoleAssignments_10000000-0000-0000-0000-000000000001?api-version=2024-04-01", + "retry-after": "5" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/resolveBillingRoleAssignmentByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/resolveBillingRoleAssignmentByInvoiceSection.json new file mode 100644 index 000000000000..7561321c3cad --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/resolveBillingRoleAssignmentByInvoiceSection.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30", + "billingProfileName": "BKM6-54VH-BG7-PGB", + "invoiceSectionName": "xxxx-xxxx-xxx-xxx" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "name": "10000000-aaaa-bbbb-cccc-100000000000_6fd330f6-7d26-4aff-b9cf-7bd699f965b9", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleAssignments" + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx/billingRoleAssignments/10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "name": "10000000-aaaa-bbbb-cccc-100000000000_b1839933-b3ac-42ca-8112-d29c43f3ab47", + "properties": { + "createdOn": "2023-10-19T20:10:50.1028398Z", + "createdByPrincipalTenantId": "076915e7-de10-4323-bb34-a58c904068bb", + "createdByPrincipalId": "00000000-0000-0000-0000-000000000001", + "principalId": "00000000-0000-0000-0000-000000000000", + "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx/billingRoleDefinitions/30000000-aaaa-bbbb-cccc-100000000000", + "scope": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx", + "principalType": "User" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections/billingRoleAssignments" + } + ] + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2018-09-30/billingProfiles/BKM6-54VH-BG7-PGB/invoiceSections/xxxx-xxxx-xxx-xxx/operationResults/resolveBillingRoleAssignments_10000000-0000-0000-0000-000000000001?api-version=2024-04-01", + "retry-after": "5" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanGetByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanGetByBillingAccount.json new file mode 100644 index 000000000000..f795f7965c06 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanGetByBillingAccount.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "savingsPlanOrderId": "20000000-0000-0000-0000-000000000000", + "savingsPlanId": "30000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/savingsPlanOrders/20000000-0000-0000-0000-000000000000/savingsPlans/30000000-0000-0000-0000-000000000000", + "name": "30000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/savingsPlanOrders/savingsPlans", + "sku": { + "name": "Compute_Savings_Plan" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "billingScopeId": "/subscriptions/50000000-0000-0000-0000-000000000000", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-BBBB-CCC-DDD", + "billingPlan": "P1M", + "productCode": "20000000-0000-0000-0000-000000000005", + "appliedScopeProperties": { + "tenantId": "70000000-0000-0000-0000-000000000000", + "managementGroupId": "/providers/Microsoft.Management/managementGroups/TestRg", + "displayName": "TestRg" + }, + "commitment": { + "grain": "Hourly", + "currencyCode": "USD", + "amount": 0.001 + }, + "renew": false, + "appliedScopeType": "ManagementGroup", + "displayName": "SP1", + "provisioningState": "Succeeded", + "term": "P3Y", + "displayProvisioningState": "NoBenefit", + "userFriendlyAppliedScopeType": "ManagementGroup", + "expiryDateTime": "2025-11-16T02:25:11.7183866Z", + "purchaseDateTime": "2022-11-16T02:23:21.3864783Z", + "benefitStartTime": "2022-11-16T02:25:11.7183866Z", + "effectiveDateTime": "2022-12-16T01:35:36.2909462Z", + "utilization": { + "trend": "SAME", + "aggregates": [ + { + "grain": 1.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + }, + { + "grain": 7.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + } + ] + } + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanGetExpandRenewPropertiesByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanGetExpandRenewPropertiesByBillingAccount.json new file mode 100644 index 000000000000..ff7f0a7116dd --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanGetExpandRenewPropertiesByBillingAccount.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "savingsPlanOrderId": "20000000-0000-0000-0000-000000000000", + "savingsPlanId": "30000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01", + "$expand": "renewProperties" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/savingsPlanOrders/20000000-0000-0000-0000-000000000000/savingsPlans/30000000-0000-0000-0000-000000000000", + "name": "30000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/savingsPlanOrders/savingsPlans", + "sku": { + "name": "Compute_Savings_Plan" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "billingScopeId": "/subscriptions/50000000-0000-0000-0000-000000000000", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-BBBB-CCC-DDD", + "billingPlan": "P1M", + "productCode": "20000000-0000-0000-0000-000000000005", + "appliedScopeProperties": { + "tenantId": "70000000-0000-0000-0000-000000000000", + "managementGroupId": "/providers/Microsoft.Management/managementGroups/TestRg", + "displayName": "TestRg" + }, + "commitment": { + "grain": "Hourly", + "currencyCode": "USD", + "amount": 0.001 + }, + "renew": false, + "appliedScopeType": "ManagementGroup", + "displayName": "SP1", + "provisioningState": "Succeeded", + "term": "P3Y", + "displayProvisioningState": "NoBenefit", + "userFriendlyAppliedScopeType": "ManagementGroup", + "expiryDateTime": "2025-11-16T02:25:11.7183866Z", + "purchaseDateTime": "2022-11-16T02:23:21.3864783Z", + "benefitStartTime": "2022-11-16T02:25:11.7183866Z", + "effectiveDateTime": "2022-12-16T01:35:36.2909462Z", + "utilization": { + "trend": "SAME", + "aggregates": [ + { + "grain": 1.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + }, + { + "grain": 7.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + } + ] + }, + "renewProperties": { + "purchaseProperties": { + "sku": { + "name": "Compute_Savings_Plan" + }, + "properties": { + "billingScopeId": "/subscriptions/50000000-0000-0000-0000-000000000000", + "term": "P3Y", + "billingPlan": "Monthly", + "displayName": "SP1_renewed", + "appliedScopeType": "ManagementGroup", + "appliedScopeProperties": { + "tenantId": "70000000-0000-0000-0000-000000000000", + "managementGroupId": "/providers/Microsoft.Management/managementGroups/TestRg" + }, + "commitment": { + "grain": "Hourly", + "currencyCode": "USD", + "amount": 0.001 + } + } + } + } + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanOrderExpandedScheduleGetByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanOrderExpandedScheduleGetByBillingAccount.json new file mode 100644 index 000000000000..19bb5664a9d2 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanOrderExpandedScheduleGetByBillingAccount.json @@ -0,0 +1,342 @@ +{ + "parameters": { + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "savingsPlanOrderId": "20000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01", + "$expand": "schedule" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/savingsPlanOrders/20000000-0000-0000-0000-000000000000", + "name": "20000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/savingsPlanOrders", + "properties": { + "billingScopeId": "10000000-0000-0000-0000-000000000000", + "savingsPlans": [ + "/providers/Microsoft.BillingBenefits/savingsPlanOrders/20000000-0000-0000-0000-000000000000/savingsPlans/30000000-0000-0000-0000-000000000000" + ], + "billingPlan": "P1M", + "productCode": "20000000-0000-0000-0000-000000000005", + "term": "P3Y", + "displayName": "SP1", + "benefitStartTime": "2023-01-20T02:36:22.3394755Z", + "provisioningState": "Succeeded", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-BBBB-CCC-DDD", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "expiryDateTime": "2026-01-20T02:36:22.3394755Z", + "planInformation": { + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 26.28 + }, + "startDate": "2023-01-20", + "nextPaymentDueDate": "2023-02-20", + "transactions": [ + { + "dueDate": "2023-01-20", + "paymentDate": "2023-01-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "billingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Completed" + }, + { + "dueDate": "2023-02-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-03-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-04-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-05-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-06-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-07-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-08-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-09-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-10-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-11-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2023-12-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-01-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-02-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-03-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-04-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-05-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-06-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-07-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-08-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-09-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-10-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-11-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2024-12-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2025-01-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2025-02-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2025-03-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2025-04-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2025-05-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2025-06-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2025-07-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2025-08-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2025-09-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2025-10-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2025-11-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + }, + { + "dueDate": "2025-12-20", + "pricingCurrencyTotal": { + "currencyCode": "USD", + "amount": 0.73 + }, + "status": "Scheduled" + } + ] + } + }, + "sku": { + "name": "Compute_Savings_Plan" + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanOrderGetByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanOrderGetByBillingAccount.json new file mode 100644 index 000000000000..53ace62c439a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanOrderGetByBillingAccount.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "savingsPlanOrderId": "20000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/savingsPlanOrders/20000000-0000-0000-0000-000000000000", + "name": "20000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/savingsPlanOrders", + "properties": { + "billingScopeId": "10000000-0000-0000-0000-000000000000", + "savingsPlans": [ + "/providers/Microsoft.BillingBenefits/savingsPlanOrders/20000000-0000-0000-0000-000000000000/savingsPlans/30000000-0000-0000-0000-000000000000" + ], + "billingPlan": "P1M", + "productCode": "20000000-0000-0000-0000-000000000005", + "term": "P3Y", + "displayName": "SP1", + "benefitStartTime": "2023-01-20T02:36:22.3394755Z", + "provisioningState": "Succeeded", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-BBBB-CCC-DDD", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "expiryDateTime": "2026-01-20T02:36:22.3394755Z" + }, + "sku": { + "name": "Compute_Savings_Plan" + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanOrderListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanOrderListByBillingAccount.json new file mode 100644 index 000000000000..01cf057c2560 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanOrderListByBillingAccount.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "api-version": "2024-04-01", + "$filter": "properties/billingProfileId eq '/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-BBBB-CCC-DDD'", + "$orderby": "properties/displayName asc" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/savingsPlanOrders/20000000-0000-0000-0000-000000000000", + "name": "20000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/savingsPlanOrders", + "properties": { + "billingScopeId": "10000000-0000-0000-0000-000000000000", + "savingsPlans": [ + "/providers/Microsoft.BillingBenefits/savingsPlanOrders/20000000-0000-0000-0000-000000000000/savingsPlans/30000000-0000-0000-0000-000000000000" + ], + "billingPlan": "P1M", + "productCode": "20000000-0000-0000-0000-000000000005", + "term": "P3Y", + "displayName": "SP1", + "benefitStartTime": "2023-02-04T03:18:31.3072635Z", + "provisioningState": "Succeeded", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-BBBB-CCC-DDD", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "expiryDateTime": "2026-02-04T03:18:31.3072635Z" + }, + "sku": { + "name": "Compute_Savings_Plan" + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/savingsPlanOrders/20000000-0000-0000-0000-000000000001", + "name": "20000000-0000-0000-0000-000000000001", + "type": "microsoft.billing/billingAccounts/savingsPlanOrders", + "properties": { + "billingScopeId": "10000000-0000-0000-0000-000000000000", + "savingsPlans": [ + "/providers/Microsoft.BillingBenefits/savingsPlanOrders/20000000-0000-0000-0000-000000000001/savingsPlans/30000000-0000-0000-0000-000000000001" + ], + "billingPlan": "P1M", + "productCode": "20000000-0000-0000-0000-000000000005", + "term": "P3Y", + "displayName": "SP2", + "benefitStartTime": "2023-02-04T03:22:19.7304330Z", + "provisioningState": "Succeeded", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-BBBB-CCC-DDD", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "expiryDateTime": "2026-02-04T03:22:19.7304330Z" + }, + "sku": { + "name": "Compute_Savings_Plan" + }, + "tags": { + "key1": "value1", + "key2": "value2" + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanUpdateByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanUpdateByBillingAccount.json new file mode 100644 index 000000000000..9cb852ef892b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanUpdateByBillingAccount.json @@ -0,0 +1,96 @@ +{ + "parameters": { + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "savingsPlanOrderId": "20000000-0000-0000-0000-000000000000", + "savingsPlanId": "30000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01", + "body": { + "properties": { + "displayName": "sp_newName", + "appliedScopeType": "ManagementGroup", + "appliedScopeProperties": { + "tenantId": "80000000-0000-0000-0000-000000000000", + "managementGroupId": "/providers/Microsoft.Management/managementGroups/mg1" + }, + "renew": true, + "renewProperties": { + "purchaseProperties": { + "sku": { + "name": "Compute_Savings_Plan" + }, + "properties": { + "billingScopeId": "/subscriptions/50000000-0000-0000-0000-000000000000", + "term": "P3Y", + "appliedScopeType": "ManagementGroup", + "appliedScopeProperties": { + "tenantId": "80000000-0000-0000-0000-000000000000", + "managementGroupId": "/providers/Microsoft.Management/managementGroups/mg1" + }, + "displayName": "sp_newName_renewed", + "billingPlan": "P1M", + "commitment": { + "grain": "Hourly", + "currencyCode": "USD", + "amount": 0.001 + } + } + } + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/savingsPlanOrders/20000000-0000-0000-0000-000000000000/savingsPlans/30000000-0000-0000-0000-000000000000", + "name": "30000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/savingsPlanOrders/savingsPlans", + "sku": { + "name": "Compute_Savings_Plan" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "billingScopeId": "/subscriptions/50000000-0000-0000-0000-000000000000", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-BBBB-CCC-DDD", + "billingPlan": "P1M", + "productCode": "20000000-0000-0000-0000-000000000005", + "appliedScopeProperties": { + "tenantId": "80000000-0000-0000-0000-000000000000", + "managementGroupId": "/providers/Microsoft.Management/managementGroups/mg1", + "displayName": "mg1" + }, + "commitment": { + "grain": "Hourly", + "currencyCode": "USD", + "amount": 0.001 + }, + "renew": true, + "appliedScopeType": "ManagementGroup", + "displayName": "sp_newName", + "provisioningState": "Succeeded", + "term": "P3Y", + "displayProvisioningState": "Succeeded", + "userFriendlyAppliedScopeType": "ManagementGroup", + "expiryDateTime": "2026-02-04T03:18:31.3072635Z", + "purchaseDateTime": "2023-02-04T03:16:38.9065505Z", + "benefitStartTime": "2023-02-04T03:18:31.3072635Z", + "effectiveDateTime": "2023-02-04T04:30:49.1982989Z", + "utilization": { + "aggregates": [] + } + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/savingsPlanOrders/20000000-0000-0000-0000-000000000000/savingsPlans/30000000-0000-0000-0000-000000000000?api-version=2022-11-01", + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/savingsPlanOrders/20000000-0000-0000-0000-000000000000/savingsPlans/30000000-0000-0000-0000-000000000000?api-version=2022-11-01", + "Retry-After": 120 + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanValidateUpdateByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanValidateUpdateByBillingAccount.json new file mode 100644 index 000000000000..6722c9f82a1a --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlanValidateUpdateByBillingAccount.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "savingsPlanOrderId": "20000000-0000-0000-0000-000000000000", + "savingsPlanId": "30000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01", + "body": { + "benefits": [ + { + "appliedScopeType": "Single", + "appliedScopeProperties": { + "subscriptionId": "/subscriptions/50000000-0000-0000-0000-000000000000" + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "benefits": [ + { + "valid": true + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlansListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlansListByBillingAccount.json new file mode 100644 index 000000000000..9c2e583b6b4b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlansListByBillingAccount.json @@ -0,0 +1,275 @@ +{ + "parameters": { + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "api-version": "2024-04-01", + "$filter": "properties/billingProfileId eq '/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-BBBB-CCC-DDD'", + "$orderby": "properties/displayName asc", + "refreshSummary": "true", + "selectedState": "Succeeded", + "take": "3" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/savingsPlanOrders/20000000-0000-0000-0000-000000000000/savingsPlans/30000000-0000-0000-0000-000000000000", + "name": "30000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/savingsPlanOrders/savingsPlans", + "sku": { + "name": "Compute_Savings_Plan" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "billingScopeId": "/subscriptions/10000000-0000-0000-0000-000000000000", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-BBBB-CCC-DDD", + "billingPlan": "P1M", + "productCode": "20000000-0000-0000-0000-000000000005", + "commitment": { + "grain": "Hourly", + "currencyCode": "USD", + "amount": 10.0 + }, + "renew": false, + "appliedScopeType": "Shared", + "displayName": "SP1", + "provisioningState": "Succeeded", + "term": "P1Y", + "displayProvisioningState": "Succeeded", + "userFriendlyAppliedScopeType": "Shared", + "expiryDateTime": "2023-12-16T02:17:03.7396152Z", + "purchaseDateTime": "2022-12-16T02:14:58.2304134Z", + "benefitStartTime": "2022-12-16T02:17:03.7396152Z", + "effectiveDateTime": "2022-12-16T02:17:04.9896661Z", + "utilization": { + "trend": "SAME", + "aggregates": [ + { + "grain": 1.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + }, + { + "grain": 7.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + } + ] + } + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/savingsPlanOrders/20000000-0000-0000-0000-000000000001/savingsPlans/30000000-0000-0000-0000-000000000001", + "name": "30000000-0000-0000-0000-000000000001", + "type": "microsoft.billing/billingAccounts/savingsPlanOrders/savingsPlans", + "sku": { + "name": "Compute_Savings_Plan" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "billingScopeId": "/subscriptions/10000000-0000-0000-0000-000000000000", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-BBBB-CCC-DDD", + "billingPlan": "P1M", + "productCode": "20000000-0000-0000-0000-000000000005", + "appliedScopeProperties": { + "tenantId": "50000000-0000-0000-0000-000000000000", + "managementGroupId": "/providers/Microsoft.Management/managementGroups/TestRg", + "displayName": "TestRg" + }, + "commitment": { + "grain": "Hourly", + "currencyCode": "USD", + "amount": 10.0 + }, + "renew": false, + "appliedScopeType": "ManagementGroup", + "displayName": "SP2", + "provisioningState": "Succeeded", + "term": "P1Y", + "displayProvisioningState": "Succeeded", + "userFriendlyAppliedScopeType": "ManagementGroup", + "expiryDateTime": "2023-12-16T02:22:22.7254795Z", + "purchaseDateTime": "2022-12-16T02:20:23.4733076Z", + "benefitStartTime": "2022-12-16T02:22:22.7254795Z", + "effectiveDateTime": "2022-12-16T02:22:24.5536191Z", + "utilization": { + "trend": "SAME", + "aggregates": [ + { + "grain": 1.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + }, + { + "grain": 7.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 0.0, + "valueUnit": "percentage" + } + ] + } + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/savingsPlanOrders/20000000-0000-0000-0000-000000000002/savingsPlans/30000000-0000-0000-0000-000000000002", + "name": "30000000-0000-0000-0000-000000000002", + "type": "microsoft.billing/billingAccounts/savingsPlanOrders/savingsPlans", + "sku": { + "name": "Compute_Savings_Plan" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "billingScopeId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingSubscriptions/10000000-0000-0000-0000-000000000000", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-BBBB-CCC-DDD", + "billingPlan": "P1M", + "productCode": "20000000-0000-0000-0000-000000000005", + "appliedScopeProperties": { + "subscriptionId": "/subscriptions/10000000-0000-0000-0000-000000000000", + "displayName": "Azure subscription 1" + }, + "commitment": { + "grain": "Hourly", + "currencyCode": "USD", + "amount": 0.025 + }, + "renew": true, + "appliedScopeType": "Single", + "displayName": "SP3", + "provisioningState": "Succeeded", + "term": "P3Y", + "displayProvisioningState": "Succeeded", + "userFriendlyAppliedScopeType": "Single", + "expiryDateTime": "2025-10-14T21:18:55.2960613Z", + "purchaseDateTime": "2022-10-14T21:16:57.2347688Z", + "benefitStartTime": "2022-10-14T21:18:55.2960613Z", + "effectiveDateTime": "2022-11-07T23:54:43.8233243Z", + "utilization": { + "trend": "SAME", + "aggregates": [ + { + "grain": 1.0, + "grainUnit": "days", + "value": 66.0, + "valueUnit": "percentage" + }, + { + "grain": 7.0, + "grainUnit": "days", + "value": 66.0, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 65.52, + "valueUnit": "percentage" + } + ] + } + } + }, + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/savingsPlanOrders/20000000-0000-0000-0000-000000000003/savingsPlans/30000000-0000-0000-0000-000000000003", + "name": "30000000-0000-0000-0000-000000000003", + "type": "microsoft.billing/billingAccounts/savingsPlanOrders/savingsPlans", + "sku": { + "name": "Compute_Savings_Plan" + }, + "tags": { + "key1": "value1", + "key2": "value2" + }, + "properties": { + "billingScopeId": "/subscriptions/10000000-0000-0000-0000-000000000000", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-BBBB-CCC-DDD", + "billingPlan": "P1M", + "productCode": "20000000-0000-0000-0000-000000000005", + "appliedScopeProperties": { + "resourceGroupId": "/subscriptions/10000000-0000-0000-0000-000000000000/resourcegroups/testRG", + "displayName": "testRG" + }, + "commitment": { + "grain": "Hourly", + "currencyCode": "USD", + "amount": 0.001 + }, + "renew": false, + "appliedScopeType": "Single", + "displayName": "SP4", + "provisioningState": "Succeeded", + "term": "P3Y", + "displayProvisioningState": "Succeeded", + "userFriendlyAppliedScopeType": "ResourceGroup", + "expiryDateTime": "2025-11-08T00:00:06.3636747Z", + "purchaseDateTime": "2022-11-07T23:57:58.2428677Z", + "benefitStartTime": "2022-11-08T00:00:06.3636747Z", + "effectiveDateTime": "2022-11-30T21:18:12.1967323Z", + "utilization": { + "trend": "SAME", + "aggregates": [ + { + "grain": 1.0, + "grainUnit": "days", + "value": 100.0, + "valueUnit": "percentage" + }, + { + "grain": 7.0, + "grainUnit": "days", + "value": 100.0, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 100.0, + "valueUnit": "percentage" + } + ] + } + } + } + ], + "summary": { + "noBenefitCount": 0, + "warningCount": 0, + "succeededCount": 3, + "failedCount": 0, + "expiringCount": 0, + "expiredCount": 0, + "pendingCount": 0, + "cancelledCount": 0, + "processingCount": 0 + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlansListBySavingsPlanOrders.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlansListBySavingsPlanOrders.json new file mode 100644 index 000000000000..1652634e61b3 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/savingsPlansListBySavingsPlanOrders.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "savingsPlanOrderId": "20000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/savingsPlanOrders/20000000-0000-0000-0000-000000000000/savingsPlans/30000000-0000-0000-0000-000000000000", + "name": "30000000-0000-0000-0000-000000000000", + "type": "microsoft.billing/billingAccounts/savingsPlanOrders/savingsPlans", + "sku": { + "name": "Compute_Savings_Plan" + }, + "properties": { + "billingScopeId": "/subscriptions/10000000-0000-0000-0000-000000000000", + "billingAccountId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/AAAA-BBBB-CCC-DDD", + "billingPlan": "P1M", + "commitment": { + "grain": "Hourly", + "currencyCode": "USD", + "amount": 0.001 + }, + "renew": false, + "appliedScopeType": "Shared", + "displayName": "SP1", + "provisioningState": "Succeeded", + "term": "P3Y", + "displayProvisioningState": "Succeeded", + "userFriendlyAppliedScopeType": "Shared", + "expiryDateTime": "2026-01-20T02:36:22.3394755Z", + "purchaseDateTime": "2023-01-20T02:34:38.1261695Z", + "benefitStartTime": "2023-01-20T02:36:22.3394755Z", + "effectiveDateTime": "2023-01-20T02:36:25.0894669Z", + "utilization": { + "trend": "SAME", + "aggregates": [ + { + "grain": 1.0, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + }, + { + "grain": 7.0, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + }, + { + "grain": 30.0, + "grainUnit": "days", + "value": 0, + "valueUnit": "percentage" + } + ] + } + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionSummaryGetByInvoice.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionSummaryGetByInvoice.json new file mode 100644 index 000000000000..127cd89f036c --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionSummaryGetByInvoice.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "invoiceName": "G123456789" + }, + "responses": { + "200": { + "body": { + "azureCreditApplied": 100, + "billingCurrency": "USD", + "consumptionCommitmentDecremented": 1000, + "subTotal": 1000, + "tax": 500, + "total": 5400 + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionsDownloadByInvoice.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionsDownloadByInvoice.json new file mode 100644 index 000000000000..f10fbe0fe886 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionsDownloadByInvoice.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "invoiceName": "G123456789" + }, + "responses": { + "200": { + "body": { + "expiryTime": "2023-02-16T17:32:28Z", + "url": "https://myaccount.blob.core.windows.net/invoices/1383724_invoice.csv?sv=2019-02-02&sr=b&sp=r" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/operationResults/transactionsDownload_11111111-1111-1111-1111-111111111111?api-version=2024-04-01", + "Retry-After": "10" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionsListByBillingProfile.json new file mode 100644 index 000000000000..e206a7ddca28 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionsListByBillingProfile.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "periodStartDate": "2024-04-01", + "periodEndDate": "2023-05-30", + "type": "Billed", + "search": "storage", + "filter": "properties/date gt '2020-10-01'", + "orderby": "properties/date" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/BillingProfiles/xxxx-xxxx-xxx-xxx/transactions/41000000-0000-0000-0000-000000000000", + "name": "41000000-0000-0000-0000-000000000000", + "properties": { + "azureCreditApplied": { + "currency": "USD", + "value": 2000 + }, + "billingCurrency": "USD", + "billingProfileDisplayName": "Contoso operations billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "consumptionCommitmentDecremented": { + "currency": "USD", + "value": 100 + }, + "date": "2023-05-01T00:00:00Z", + "discount": 0.1, + "effectivePrice": { + "currency": "USD", + "value": 10 + }, + "exchangeRate": 1, + "invoice": "G123456789", + "invoiceId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/G123456789", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/22000000-0000-0000-0000-000000000000", + "marketPrice": { + "currency": "USD", + "value": 20 + }, + "partNumber": "0001", + "pricingCurrency": "USD", + "productDescription": "Standard D1, US West 3", + "productFamily": "Storage", + "productTypeId": "A12345", + "productType": "VM Instance", + "quantity": 1, + "servicePeriodStartDate": "2023-05-01T00:00:00Z", + "servicePeriodEndDate": "2023-09-30T00:00:00Z", + "subTotal": { + "currency": "USD", + "value": 4500 + }, + "tax": { + "currency": "USD", + "value": 500 + }, + "transactionAmount": { + "currency": "USD", + "value": 5000 + }, + "transactionType": "Purchase", + "units": 11.25, + "unitOfMeasure": "1 Minute", + "unitType": "1 Runtime Minute" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/transactions" + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/BillingProfiles/xxxx-xxxx-xxx-xxx/transactions/51000000-0000-0000-0000-000000000000", + "name": "51000000-0000-0000-0000-000000000000", + "properties": { + "azureCreditApplied": { + "currency": "USD", + "value": 20 + }, + "billingCurrency": "USD", + "billingProfileDisplayName": "Contoso operations billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "consumptionCommitmentDecremented": { + "currency": "USD", + "value": 50 + }, + "date": "2024-04-01T00:00:00Z", + "discount": 0.1, + "effectivePrice": { + "currency": "USD", + "value": 10 + }, + "exchangeRate": 1, + "invoice": "pending", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/22000000-0000-0000-0000-000000000000", + "marketPrice": { + "currency": "USD", + "value": 20 + }, + "partNumber": "0002", + "pricingCurrency": "USD", + "productDescription": "Standard Support", + "productFamily": "Storage", + "productTypeId": "A12345", + "productType": "VM Instance", + "quantity": 1, + "servicePeriodStartDate": "2023-05-01T00:00:00Z", + "servicePeriodEndDate": "2023-09-30T00:00:00Z", + "subTotal": { + "currency": "USD", + "value": 45 + }, + "tax": { + "currency": "USD", + "value": 5 + }, + "transactionAmount": { + "currency": "USD", + "value": 50 + }, + "transactionType": "Cancel", + "units": 1.25, + "unitOfMeasure": "1 Minute", + "unitType": "1 Runtime Minute" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/transactions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionsListByCustomer.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionsListByCustomer.json new file mode 100644 index 000000000000..57d8b1951da8 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionsListByCustomer.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "customerName": "22000000-0000-0000-0000-000000000000", + "periodStartDate": "2024-04-01", + "periodEndDate": "2023-05-30", + "type": "Billed", + "search": "storage", + "filter": "properties/date gt '2020-10-01'", + "orderby": "properties/date" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/BillingProfiles/xxxx-xxxx-xxx-xxx/transactions/41000000-0000-0000-0000-000000000000", + "name": "41000000-0000-0000-0000-000000000000", + "properties": { + "azureCreditApplied": { + "currency": "USD", + "value": 2000 + }, + "billingCurrency": "USD", + "billingProfileDisplayName": "Contoso operations billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "consumptionCommitmentDecremented": { + "currency": "USD", + "value": 100 + }, + "customerDisplayName": "Contoso operations customer", + "customerId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/22000000-0000-0000-0000-000000000000", + "date": "2023-05-01T00:00:00Z", + "discount": 0.1, + "effectivePrice": { + "currency": "USD", + "value": 10 + }, + "exchangeRate": 1, + "invoice": "G123456789", + "invoiceId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/G123456789", + "marketPrice": { + "currency": "USD", + "value": 20 + }, + "partNumber": "0001", + "pricingCurrency": "USD", + "productDescription": "Standard D1, US West 3", + "productFamily": "Storage", + "productTypeId": "A12345", + "productType": "VM Instance", + "quantity": 1, + "servicePeriodStartDate": "2023-05-01T00:00:00Z", + "servicePeriodEndDate": "2023-09-30T00:00:00Z", + "subTotal": { + "currency": "USD", + "value": 4500 + }, + "tax": { + "currency": "USD", + "value": 500 + }, + "transactionAmount": { + "currency": "USD", + "value": 5000 + }, + "transactionType": "Purchase", + "units": 11.25, + "unitOfMeasure": "1 Minute", + "unitType": "1 Runtime Minute" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/transactions" + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/BillingProfiles/xxxx-xxxx-xxx-xxx/transactions/51000000-0000-0000-0000-000000000000", + "name": "51000000-0000-0000-0000-000000000000", + "properties": { + "azureCreditApplied": { + "currency": "USD", + "value": 20 + }, + "billingCurrency": "USD", + "billingProfileDisplayName": "Contoso operations billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "consumptionCommitmentDecremented": { + "currency": "USD", + "value": 50 + }, + "customerDisplayName": "Contoso operations customer", + "customerId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/customers/22000000-0000-0000-0000-000000000000", + "date": "2024-04-01T00:00:00Z", + "discount": 0.1, + "effectivePrice": { + "currency": "USD", + "value": 10 + }, + "exchangeRate": 1, + "invoice": "pending", + "marketPrice": { + "currency": "USD", + "value": 20 + }, + "partNumber": "0002", + "pricingCurrency": "USD", + "productDescription": "Standard Support", + "productFamily": "Storage", + "productTypeId": "A12345", + "productType": "VM Instance", + "quantity": 1, + "servicePeriodStartDate": "2023-05-01T00:00:00Z", + "servicePeriodEndDate": "2023-09-30T00:00:00Z", + "subTotal": { + "currency": "USD", + "value": 45 + }, + "tax": { + "currency": "USD", + "value": 5 + }, + "transactionAmount": { + "currency": "USD", + "value": 50 + }, + "transactionType": "Cancel", + "units": 1.25, + "unitOfMeasure": "1 Minute", + "unitType": "1 Runtime Minute" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/transactions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionsListByInvoice.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionsListByInvoice.json new file mode 100644 index 000000000000..824555238153 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionsListByInvoice.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "invoiceName": "G123456789" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/BillingProfiles/xxxx-xxxx-xxx-xxx/transactions/41000000-0000-0000-0000-000000000000", + "name": "41000000-0000-0000-0000-000000000000", + "properties": { + "azureCreditApplied": { + "currency": "USD", + "value": 2000 + }, + "billingCurrency": "USD", + "billingProfileDisplayName": "Contoso operations billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "consumptionCommitmentDecremented": { + "currency": "USD", + "value": 100 + }, + "date": "2023-05-01T00:00:00Z", + "discount": 0.1, + "effectivePrice": { + "currency": "USD", + "value": 10 + }, + "exchangeRate": 1, + "invoice": "G123456789", + "invoiceId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/G123456789", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/22000000-0000-0000-0000-000000000000", + "marketPrice": { + "currency": "USD", + "value": 20 + }, + "partNumber": "0001", + "pricingCurrency": "USD", + "productDescription": "Standard D1, US West 3", + "productFamily": "Storage", + "productTypeId": "A12345", + "productType": "VM Instance", + "quantity": 1, + "servicePeriodStartDate": "2023-05-01T00:00:00Z", + "servicePeriodEndDate": "2023-09-30T00:00:00Z", + "subTotal": { + "currency": "USD", + "value": 4500 + }, + "tax": { + "currency": "USD", + "value": 500 + }, + "transactionAmount": { + "currency": "USD", + "value": 5000 + }, + "transactionType": "Purchase", + "units": 11.25, + "unitOfMeasure": "1 Minute", + "unitType": "1 Runtime Minute" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/transactions" + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/BillingProfiles/xxxx-xxxx-xxx-xxx/transactions/51000000-0000-0000-0000-000000000000", + "name": "51000000-0000-0000-0000-000000000000", + "properties": { + "azureCreditApplied": { + "currency": "USD", + "value": 20 + }, + "billingCurrency": "USD", + "billingProfileDisplayName": "Contoso operations billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "consumptionCommitmentDecremented": { + "currency": "USD", + "value": 50 + }, + "date": "2024-04-01T00:00:00Z", + "discount": 0.1, + "effectivePrice": { + "currency": "USD", + "value": 10 + }, + "exchangeRate": 1, + "invoice": "pending", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/22000000-0000-0000-0000-000000000000", + "marketPrice": { + "currency": "USD", + "value": 20 + }, + "partNumber": "0002", + "pricingCurrency": "USD", + "productDescription": "Standard Support", + "productFamily": "Storage", + "productTypeId": "A12345", + "productType": "VM Instance", + "quantity": 1, + "servicePeriodStartDate": "2023-05-01T00:00:00Z", + "servicePeriodEndDate": "2023-09-30T00:00:00Z", + "subTotal": { + "currency": "USD", + "value": 45 + }, + "tax": { + "currency": "USD", + "value": 5 + }, + "transactionAmount": { + "currency": "USD", + "value": 50 + }, + "transactionType": "Cancel", + "units": 1.25, + "unitOfMeasure": "1 Minute", + "unitType": "1 Runtime Minute" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/transactions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionsListByInvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionsListByInvoiceSection.json new file mode 100644 index 000000000000..875c344770c5 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transactionsListByInvoiceSection.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "invoiceSectionName": "22000000-0000-0000-0000-000000000000", + "periodStartDate": "2024-04-01", + "periodEndDate": "2023-05-30", + "type": "Billed", + "search": "storage", + "filter": "properties/date gt '2020-10-01'", + "orderby": "properties/date" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/BillingProfiles/xxxx-xxxx-xxx-xxx/transactions/41000000-0000-0000-0000-000000000000", + "name": "41000000-0000-0000-0000-000000000000", + "properties": { + "azureCreditApplied": { + "currency": "USD", + "value": 2000 + }, + "billingCurrency": "USD", + "billingProfileDisplayName": "Contoso operations billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "consumptionCommitmentDecremented": { + "currency": "USD", + "value": 100 + }, + "date": "2023-05-01T00:00:00Z", + "discount": 0.1, + "effectivePrice": { + "currency": "USD", + "value": 10 + }, + "exchangeRate": 1, + "invoice": "G123456789", + "invoiceId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/invoices/G123456789", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/22000000-0000-0000-0000-000000000000", + "marketPrice": { + "currency": "USD", + "value": 20 + }, + "partNumber": "0001", + "pricingCurrency": "USD", + "productDescription": "Standard D1, US West 3", + "productFamily": "Storage", + "productTypeId": "A12345", + "productType": "VM Instance", + "quantity": 1, + "servicePeriodStartDate": "2023-05-01T00:00:00Z", + "servicePeriodEndDate": "2023-09-30T00:00:00Z", + "subTotal": { + "currency": "USD", + "value": 4500 + }, + "tax": { + "currency": "USD", + "value": 500 + }, + "transactionAmount": { + "currency": "USD", + "value": 5000 + }, + "transactionType": "Purchase", + "units": 11.25, + "unitOfMeasure": "1 Minute", + "unitType": "1 Runtime Minute" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/transactions" + }, + { + "id": "/providers/Microsoft.Billing/BillingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/BillingProfiles/xxxx-xxxx-xxx-xxx/transactions/51000000-0000-0000-0000-000000000000", + "name": "51000000-0000-0000-0000-000000000000", + "properties": { + "azureCreditApplied": { + "currency": "USD", + "value": 20 + }, + "billingCurrency": "USD", + "billingProfileDisplayName": "Contoso operations billing", + "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx", + "consumptionCommitmentDecremented": { + "currency": "USD", + "value": 50 + }, + "date": "2024-04-01T00:00:00Z", + "discount": 0.1, + "effectivePrice": { + "currency": "USD", + "value": 10 + }, + "exchangeRate": 1, + "invoice": "pending", + "invoiceSectionDisplayName": "Contoso operations invoiceSection", + "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/22000000-0000-0000-0000-000000000000", + "marketPrice": { + "currency": "USD", + "value": 20 + }, + "partNumber": "0002", + "pricingCurrency": "USD", + "productDescription": "Standard Support", + "productFamily": "Storage", + "productTypeId": "A12345", + "productType": "VM Instance", + "quantity": 1, + "servicePeriodStartDate": "2023-05-01T00:00:00Z", + "servicePeriodEndDate": "2023-09-30T00:00:00Z", + "subTotal": { + "currency": "USD", + "value": 45 + }, + "tax": { + "currency": "USD", + "value": 5 + }, + "transactionAmount": { + "currency": "USD", + "value": 50 + }, + "transactionType": "Cancel", + "units": 1.25, + "unitOfMeasure": "1 Minute", + "unitType": "1 Runtime Minute" + }, + "type": "Microsoft.Billing/billingAccounts/billingProfiles/transactions" + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transfersCancel.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transfersCancel.json new file mode 100644 index 000000000000..a78c7887a783 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transfersCancel.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "transferName": "aabb123" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/BillingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy/transfers/aabb123", + "name": "aabb123", + "type": "Microsoft.Billing/transfers", + "properties": { + "expirationTime": "2018-11-05T17:32:28Z", + "transferStatus": "Pending", + "recipientEmailId": "user@contoso.com", + "initiatorEmailId": "xyz@contoso.com", + "canceledBy": "user@contoso.com" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transfersGet.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transfersGet.json new file mode 100644 index 000000000000..20cccff9e83f --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transfersGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "transferName": "aabb123" + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/BillingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy/transfers/aabb123", + "name": "aabb123", + "type": "Microsoft.Billing/transfers", + "properties": { + "expirationTime": "2018-11-05T17:32:28Z", + "transferStatus": "InProgress", + "recipientEmailId": "user@contoso.com", + "initiatorEmailId": "xyz@contoso.com", + "detailedTransferStatus": [ + { + "productType": "AzureSubscription", + "productId": "subscriptionId", + "productName": "Azure subscription 1", + "skuDescription": "MS-AZR-0017G", + "transferStatus": "InProgress" + }, + { + "productType": "AzureReservation", + "productId": "reservedInstanceId", + "productName": "Reservation name", + "skuDescription": "Standard_D2s_v3;VirtualMachines;P1Y", + "transferStatus": "InProgress" + } + ] + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transfersInitiate.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transfersInitiate.json new file mode 100644 index 000000000000..1930692f02f3 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transfersInitiate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy", + "transferName": "aabb123", + "parameters": { + "properties": { + "recipientEmailId": "user@contoso.com" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/providers/Microsoft.Billing/BillingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy/transfers/aabb123", + "name": "aabb123", + "type": "Microsoft.Billing/transfers", + "properties": { + "expirationTime": "2018-11-05T17:32:28Z", + "transferStatus": "Pending", + "recipientEmailId": "user@contoso.com", + "initiatorEmailId": "xyz@contoso.com" + } + } + }, + "201": { + "body": { + "id": "/providers/Microsoft.Billing/BillingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy/transfers/aabb123", + "name": "aabb123", + "type": "Microsoft.Billing/transfers", + "properties": { + "expirationTime": "2018-11-05T17:32:28Z", + "transferStatus": "Pending", + "recipientEmailId": "user@contoso.com", + "initiatorEmailId": "xyz@contoso.com" + } + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transfersList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transfersList.json new file mode 100644 index 000000000000..e51e11fb24bf --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/examples/transfersList.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-04-01", + "billingAccountName": "10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31", + "billingProfileName": "xxxx-xxxx-xxx-xxx", + "invoiceSectionName": "yyyy-yyyy-yyy-yyy" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/providers/Microsoft.Billing/BillingAccounts/10000000-0000-0000-0000-000000000000:00000000-0000-0000-0000-000000000000_2019-05-31/billingProfiles/xxxx-xxxx-xxx-xxx/invoiceSections/yyyy-yyyy-yyy-yyy/transfers/aabb123", + "name": "aabb123", + "type": "Microsoft.Billing/transfers", + "properties": { + "expirationTime": "2018-11-05T17:32:28Z", + "transferStatus": "InProgress", + "recipientEmailId": "user@contoso.com", + "initiatorEmailId": "xyz@contoso.com", + "detailedTransferStatus": [ + { + "productType": "AzureSubscription", + "productId": "subscriptionId", + "productName": "Azure subscription 1", + "skuDescription": "MS-AZR-0017G", + "transferStatus": "InProgress" + }, + { + "productType": "AzureReservation", + "productId": "reservedInstanceId", + "productName": "Reservation name", + "skuDescription": "Standard_D2s_v3;VirtualMachines;P1Y", + "transferStatus": "InProgress" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/invoice.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/invoice.json new file mode 100644 index 000000000000..7113849e475e --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/invoice.json @@ -0,0 +1,1364 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoices": { + "get": { + "tags": [ + "Invoice" + ], + "description": "Lists the invoices for a billing profile for a given start date and end date. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Invoices_ListByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "in": "query", + "name": "periodStartDate", + "description": "The start date of the billing period for which the invoice is generated. The date is in MM-DD-YYYY format.", + "type": "string", + "format": "date" + }, + { + "in": "query", + "name": "periodEndDate", + "description": "The end date of the billing period for which the invoice is generated. The date is in MM-DD-YYYY format.", + "type": "string", + "format": "date" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of invoices.", + "schema": { + "$ref": "#/definitions/InvoiceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "InvoicesListByBillingProfile": { + "$ref": "./examples/invoicesListByBillingProfile.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/downloadDocuments": { + "post": { + "tags": [ + "Invoice" + ], + "description": "Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Invoices_DownloadDocumentsByBillingAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "A list of download details for individual documents.", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/DocumentDownloadRequest" + }, + "x-ms-identifiers": [] + } + } + ], + "responses": { + "200": { + "description": "A secure URL that can be used to download a an entity until the URL expires.", + "schema": { + "$ref": "#/definitions/DocumentDownloadResult" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "InvoicesDownloadDocumentsByBillingAccount": { + "$ref": "./examples/invoicesDownloadDocumentsByBillingAccount.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/amend": { + "post": { + "tags": [ + "Invoice" + ], + "description": "Regenerate an invoice by billing account name and invoice name. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Invoices_Amend", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/invoiceName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "InvoicesAmend": { + "$ref": "./examples/invoicesAmend.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/download": { + "post": { + "tags": [ + "Invoice" + ], + "description": "Gets a URL to download an invoice document. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement, Microsoft Customer Agreement or Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Invoices_DownloadByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/invoiceName" + }, + { + "in": "query", + "name": "documentName", + "description": "The ID that uniquely identifies an invoice document. This ID may be an identifier for an invoice PDF, a credit note, or a tax receipt.", + "type": "string" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A secure URL that can be used to download a an entity until the URL expires.", + "schema": { + "$ref": "#/definitions/DocumentDownloadResult" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "InvoicesDownloadByBillingAccount": { + "$ref": "./examples/invoicesDownloadByBillingAccount.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/downloadSummary": { + "post": { + "tags": [ + "Invoice" + ], + "description": "Gets a URL to download the summary document for an invoice. The operation is supported for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Invoices_DownloadSummaryByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/invoiceName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A secure URL that can be used to download a an entity until the URL expires.", + "schema": { + "$ref": "#/definitions/DocumentDownloadResult" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "InvoicesDownloadSummaryByBillingAccount": { + "$ref": "./examples/invoicesDownloadSummaryByBillingAccount.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}": { + "get": { + "tags": [ + "Invoice" + ], + "description": "Gets an invoice by billing account name and ID. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Invoices_GetByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/invoiceName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The list of invoices.", + "schema": { + "$ref": "#/definitions/Invoice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "InvoicesGetByBillingAccount": { + "$ref": "./examples/invoicesGetByBillingAccount.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices": { + "get": { + "tags": [ + "Invoice" + ], + "description": "Lists the invoices for a billing account for a given start date and end date. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement, Microsoft Customer Agreement, or Microsoft Online Services Program.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Invoices_ListByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "in": "query", + "name": "periodStartDate", + "description": "The start date of the billing period for which the invoice is generated. The date is in MM-DD-YYYY format.", + "type": "string", + "format": "date" + }, + { + "in": "query", + "name": "periodEndDate", + "description": "The end date of the billing period for which the invoice is generated. The date is in MM-DD-YYYY format.", + "type": "string", + "format": "date" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of invoices.", + "schema": { + "$ref": "#/definitions/InvoiceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "InvoicesListByBillingAccount": { + "$ref": "./examples/invoicesListByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/downloadDocuments": { + "post": { + "tags": [ + "Invoice" + ], + "description": "Gets a URL to download multiple invoice documents (invoice pdf, tax receipts, credit notes) as a zip file.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Invoices_DownloadDocumentsByBillingSubscription", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/subscriptionId" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "A list of download details for individual documents.", + "required": true, + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/DocumentDownloadRequest" + }, + "x-ms-identifiers": [] + } + } + ], + "responses": { + "200": { + "description": "A secure URL that can be used to download a an entity until the URL expires.", + "schema": { + "$ref": "#/definitions/DocumentDownloadResult" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "InvoicesDownloadDocumentsByBillingSubscription": { + "$ref": "./examples/invoicesDownloadDocumentsByBillingSubscription.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}/download": { + "post": { + "tags": [ + "Invoice" + ], + "description": "Gets a URL to download an invoice by billing subscription.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Invoices_DownloadByBillingSubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/subscriptionId" + }, + { + "$ref": "./types.json#/parameters/invoiceName" + }, + { + "in": "query", + "name": "documentName", + "description": "The ID that uniquely identifies an invoice document. This ID may be an identifier for an invoice PDF, a credit note, or a tax receipt.", + "type": "string" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A secure URL that can be used to download a an entity until the URL expires.", + "schema": { + "$ref": "#/definitions/DocumentDownloadResult" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "InvoicesDownloadByBillingSubscription": { + "$ref": "./examples/invoicesDownloadByBillingSubscription.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices/{invoiceName}": { + "get": { + "tags": [ + "Invoice" + ], + "description": "Gets an invoice by subscription ID and invoice ID.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Invoices_GetByBillingSubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/subscriptionId" + }, + { + "$ref": "./types.json#/parameters/invoiceName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "An invoice.", + "schema": { + "$ref": "#/definitions/Invoice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "InvoicesGetByBillingSubscription": { + "$ref": "./examples/invoicesGetByBillingSubscription.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/default/billingSubscriptions/{subscriptionId}/invoices": { + "get": { + "tags": [ + "Invoice" + ], + "description": "Lists the invoices for a subscription.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Invoices_ListByBillingSubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/subscriptionId" + }, + { + "in": "query", + "name": "periodStartDate", + "description": "The start date of the billing period for which the invoice is generated. The date is in MM-DD-YYYY format.", + "type": "string", + "format": "date" + }, + { + "in": "query", + "name": "periodEndDate", + "description": "The end date of the billing period for which the invoice is generated. The date is in MM-DD-YYYY format.", + "type": "string", + "format": "date" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of invoices.", + "schema": { + "$ref": "#/definitions/InvoiceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "InvoicesListByBillingSubscription": { + "$ref": "./examples/invoicesListByBillingSubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/default/invoices/{invoiceName}": { + "get": { + "tags": [ + "Invoice" + ], + "description": "Gets an invoice by ID. The operation is supported for all billing account types.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Invoices_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/invoiceName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "An invoice.", + "schema": { + "$ref": "#/definitions/Invoice" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "InvoicesGet": { + "$ref": "./examples/invoicesGet.json" + } + } + } + } + }, + "definitions": { + "DocumentDownloadRequest": { + "description": "A list of download details for individual documents.", + "type": "object", + "properties": { + "documentName": { + "description": "The ID that uniquely identifies an invoice document. This ID may be an identifier for an invoice PDF, a credit note, or a tax receipt. If omitted, the most recent invoice PDF for the invoice will be returned.", + "type": "string" + }, + "invoiceName": { + "description": "The ID that uniquely identifies an invoice.", + "type": "string" + } + } + }, + "DocumentDownloadResult": { + "description": "A secure URL that can be used to download a an entity until the URL expires.", + "type": "object", + "properties": { + "expiryTime": { + "description": "The time in UTC when the download URL will expire.", + "type": "string", + "readOnly": true + }, + "url": { + "description": "The URL to the PDF or .zip file.", + "type": "string", + "readOnly": true + } + } + }, + "FailedPayment": { + "description": "A failed payment.", + "type": "object", + "properties": { + "date": { + "format": "date-time", + "description": "The date when the payment was attempted.", + "type": "string", + "readOnly": true + }, + "failedPaymentReason": { + "description": "The reason that the payment failed.", + "enum": [ + "Other", + "BankDeclined", + "CardExpired", + "IncorrectCardDetails" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "FailedPaymentReason", + "modelAsString": true + } + } + } + }, + "Invoice": { + "description": "An invoice.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/InvoiceProperties" + } + }, + "x-ms-azure-resource": true + }, + "InvoiceDocument": { + "description": "The properties of a document.", + "type": "object", + "properties": { + "documentNumbers": { + "description": "The document numbers for the invoice document.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "externalUrl": { + "description": "The URL to download the invoice document if the source is external to Microsoft.Billing.", + "type": "string", + "readOnly": true + }, + "kind": { + "description": "The type of the document.", + "enum": [ + "Other", + "Invoice", + "VoidNote", + "TaxReceipt", + "CreditNote", + "Summary", + "Transactions" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceDocumentType", + "modelAsString": true + } + }, + "name": { + "description": "The ID that uniquely identifies an invoice document. This ID may be an identifier for an invoice PDF, a credit note, or a tax receipt.", + "type": "string", + "readOnly": true + }, + "url": { + "description": "The URL to download the invoice document if the source is internal to Microsoft.Billing.", + "type": "string", + "readOnly": true + }, + "source": { + "description": "The source of the document. ENF for Brazil and DRS for rest of the world.", + "enum": [ + "Other", + "DRS", + "ENF" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DocumentSource", + "modelAsString": true + } + } + } + }, + "InvoiceListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Invoice" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "InvoiceProperties": { + "description": "An invoice.", + "type": "object", + "properties": { + "amountDue": { + "description": "The amount due as of now.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "azurePrepaymentApplied": { + "description": "The amount of Azure prepayment applied to the charges. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "billedAmount": { + "description": "The total charges for the invoice billing period.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "billedDocumentId": { + "description": "The Id of the active invoice which is originally billed after this invoice was voided. This field is applicable to the void invoices only.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile for which the invoice is generated.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The ID of the billing profile for which the invoice is generated.", + "type": "string", + "readOnly": true + }, + "creditAmount": { + "description": "The total refund for returns and cancellations during the invoice billing period. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "creditForDocumentId": { + "description": "The Id of the invoice which got voided and this credit note was issued as a result. This field is applicable to the credit notes only.", + "type": "string", + "readOnly": true + }, + "documents": { + "description": "List of documents available to download and view such as invoice, credit note, or tax receipt.", + "type": "array", + "items": { + "$ref": "#/definitions/InvoiceDocument" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "documentType": { + "description": "The type of the document.", + "enum": [ + "Other", + "Invoice", + "VoidNote", + "TaxReceipt", + "CreditNote", + "Summary", + "Transactions" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceDocumentType", + "modelAsString": true + } + }, + "dueDate": { + "format": "date-time", + "description": "The due date for the invoice.", + "type": "string", + "readOnly": true + }, + "failedPayments": { + "description": "List of failed payments.", + "type": "array", + "items": { + "$ref": "#/definitions/FailedPayment" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "freeAzureCreditApplied": { + "description": "The amount of free Azure credits applied to the charges. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "invoiceDate": { + "format": "date-time", + "description": "The date when the invoice was generated.", + "type": "string", + "readOnly": true + }, + "invoicePeriodEndDate": { + "format": "date-time", + "description": "The end date of the billing period for which the invoice is generated. The date is in MM-DD-YYYY format.", + "type": "string", + "readOnly": true + }, + "invoicePeriodStartDate": { + "format": "date-time", + "description": "The start date of the billing period for which the invoice is generated. The date is in MM-DD-YYYY format.", + "type": "string", + "readOnly": true + }, + "invoiceType": { + "description": "Invoice type.", + "enum": [ + "Other", + "AzureServices", + "AzureMarketplace", + "AzureSupport" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceType", + "modelAsString": true + } + }, + "isMonthlyInvoice": { + "description": "Specifies if the invoice is generated as part of monthly invoicing cycle or not. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "type": "boolean", + "readOnly": true + }, + "payments": { + "description": "List of payments.", + "type": "array", + "items": { + "$ref": "#/definitions/Payment" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "purchaseOrderNumber": { + "description": "An optional purchase order number for the invoice.", + "type": "string", + "readOnly": true + }, + "rebillDetails": { + "description": "Rebill details for an invoice.", + "allOf": [ + { + "$ref": "#/definitions/RebillDetails" + } + ] + }, + "status": { + "description": "The current status of the invoice.", + "enum": [ + "Other", + "Due", + "OverDue", + "Paid", + "Void", + "Locked" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "InvoiceStatus", + "modelAsString": true + } + }, + "subscriptionDisplayName": { + "description": "The name of the billing subscription for which the invoice is generated.", + "type": "string", + "readOnly": true + }, + "subscriptionId": { + "description": "The ID of the subscription for which the invoice is generated.", + "type": "string", + "readOnly": true + }, + "specialTaxationType": { + "description": "Identifies the type of tax calculation used for the invoice. The field is applicable only to invoices with special tax calculation logic.", + "enum": [ + "SubtotalLevel", + "InvoiceLevel" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "SpecialTaxationType", + "modelAsString": true + } + }, + "subTotal": { + "description": "The pre-tax amount due. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "taxAmount": { + "description": "The amount of tax charged for the billing period. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "totalAmount": { + "description": "The amount due when the invoice was generated. This field is applicable to billing accounts with agreement type Microsoft Customer Agreement.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "refundDetails": { + "description": "The details of a refund request.", + "allOf": [ + { + "$ref": "#/definitions/RefundDetailsSummary" + } + ] + } + } + }, + "Payment": { + "description": "An invoice payment.", + "type": "object", + "properties": { + "amount": { + "description": "The paid amount.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "date": { + "format": "date-time", + "description": "The date when the payment was made.", + "type": "string", + "readOnly": true + }, + "paymentMethodId": { + "description": "The ID that uniquely identifies the payment method used for the invoice.", + "type": "string", + "readOnly": true + }, + "paymentMethodFamily": { + "description": "The family of payment method.", + "enum": [ + "Other", + "None", + "CreditCard", + "Credits", + "CheckWire", + "EWallet", + "TaskOrder", + "DirectDebit" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "PaymentMethodFamily", + "modelAsString": true + } + }, + "paymentMethodType": { + "description": "The type of payment method.", + "type": "string", + "readOnly": true + }, + "paymentType": { + "description": "The type of payment.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + }, + "RebillDetails": { + "description": "The rebill details of an invoice.", + "type": "object", + "properties": { + "invoiceDocumentId": { + "description": "The ID of invoice.", + "type": "string", + "readOnly": true + }, + "creditNoteDocumentId": { + "description": "The ID of credit note.", + "type": "string", + "readOnly": true + }, + "rebillDetails": { + "$ref": "#/definitions/RebillDetails" + } + }, + "readOnly": true + }, + "RefundDetailsSummary": { + "description": "The details of refund request.", + "type": "object", + "properties": { + "requestedOn": { + "format": "date-time", + "description": "Date when the refund was requested.", + "type": "string", + "readOnly": true + }, + "approvedOn": { + "format": "date-time", + "description": "Date when the refund was approved.", + "type": "string", + "readOnly": true + }, + "completedOn": { + "format": "date-time", + "description": "Date when the refund was completed.", + "type": "string", + "readOnly": true + }, + "amountRequested": { + "description": "The amount of refund requested.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "amountRefunded": { + "description": "The amount refunded.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "rebillInvoiceId": { + "description": "The invoice ID of the rebill invoice for a refund.", + "type": "string", + "readOnly": true + }, + "transactionCount": { + "format": "int32", + "description": "The number of transactions refunded.", + "type": "integer", + "readOnly": true + }, + "refundStatus": { + "description": "The status of refund request.", + "enum": [ + "Other", + "Pending", + "Approved", + "Declined", + "Cancelled", + "Completed", + "Expired" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RefundStatus", + "modelAsString": true + } + }, + "refundOperationId": { + "description": "The ID of refund operation.", + "type": "string", + "readOnly": true + }, + "refundReason": { + "description": "The reason for refund.", + "enum": [ + "Other", + "AccidentalConversion", + "UnclearPricing", + "AccidentalPurchase", + "ForgotToCancel", + "UnclearDocumentation" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "RefundReasonCode", + "modelAsString": true + } + } + } + } + }, + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/invoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/invoiceSection.json new file mode 100644 index 000000000000..1703e936461c --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/invoiceSection.json @@ -0,0 +1,523 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/validateDeleteEligibility": { + "post": { + "tags": [ + "InvoiceSection" + ], + "description": "Validates if the invoice section can be deleted. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "InvoiceSections_ValidateDeleteEligibility", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Eligibility to delete an invoice section result.", + "schema": { + "$ref": "#/definitions/DeleteInvoiceSectionEligibilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "InvoiceSectionsValidateDeleteEligibilitySuccess": { + "$ref": "./examples/invoiceSectionsValidateDeleteEligibilitySuccess.json" + }, + "InvoiceSectionsValidateDeleteEligibilityFailure": { + "$ref": "./examples/invoiceSectionsValidateDeleteEligibilityFailure.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}": { + "delete": { + "tags": [ + "InvoiceSection" + ], + "description": "Deletes an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "InvoiceSections_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "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-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "InvoiceSectionsDelete": { + "$ref": "./examples/invoiceSectionsDelete.json" + } + } + }, + "get": { + "tags": [ + "InvoiceSection" + ], + "description": "Gets an invoice section by its ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "InvoiceSections_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "An invoice section.", + "schema": { + "$ref": "#/definitions/InvoiceSection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "InvoiceSectionsGet": { + "$ref": "./examples/invoiceSectionsGet.json" + } + } + }, + "put": { + "tags": [ + "InvoiceSection" + ], + "description": "Creates or updates an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "InvoiceSections_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "An invoice section.", + "required": true, + "schema": { + "$ref": "#/definitions/InvoiceSection" + } + } + ], + "responses": { + "200": { + "description": "An invoice section.", + "schema": { + "$ref": "#/definitions/InvoiceSection" + } + }, + "201": { + "description": "An invoice section.", + "schema": { + "$ref": "#/definitions/InvoiceSection" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "InvoiceSectionsCreateOrUpdate": { + "$ref": "./examples/invoiceSectionsCreateOrUpdate.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections": { + "get": { + "tags": [ + "InvoiceSection" + ], + "description": "Lists the invoice sections that a user has access to. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "InvoiceSections_ListByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "in": "query", + "name": "includeDeleted", + "description": "Can be used to get deleted invoice sections.", + "type": "boolean", + "default": false + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "A list of invoice sections.", + "schema": { + "$ref": "#/definitions/InvoiceSectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "InvoiceSectionsListByBillingProfile": { + "$ref": "./examples/invoiceSectionsListByBillingProfile.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "DeleteInvoiceSectionEligibilityDetail": { + "description": "The details of delete invoice section eligibility result.", + "type": "object", + "properties": { + "code": { + "description": "Code for the delete invoice section validation.", + "enum": [ + "Other", + "LastInvoiceSection", + "ActiveAzurePlans", + "ReservedInstances", + "ActiveBillingSubscriptions" + ], + "type": "string", + "x-ms-enum": { + "name": "DeleteInvoiceSectionEligibilityCode", + "modelAsString": true + } + }, + "message": { + "description": "Validation message.", + "type": "string" + } + } + }, + "DeleteInvoiceSectionEligibilityResult": { + "description": "Eligibility to delete an invoice section result.", + "type": "object", + "properties": { + "eligibilityStatus": { + "description": "Status describing if invoice section is eligible to be deleted.", + "enum": [ + "Allowed", + "NotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "DeleteInvoiceSectionEligibilityStatus", + "modelAsString": true + } + }, + "eligibilityDetails": { + "description": "A list of delete invoice section eligibility result details.", + "type": "array", + "items": { + "$ref": "#/definitions/DeleteInvoiceSectionEligibilityDetail" + }, + "x-ms-identifiers": [] + } + } + }, + "InvoiceSection": { + "description": "An invoice section.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/InvoiceSectionProperties" + } + }, + "x-ms-azure-resource": true + }, + "InvoiceSectionListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/InvoiceSection" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "InvoiceSectionProperties": { + "description": "An invoice section.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource during a long-running operation.", + "enum": [ + "Succeeded", + "Canceled", + "Failed", + "New", + "Pending", + "Provisioning" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "displayName": { + "description": "The name of the invoice section.", + "type": "string" + }, + "state": { + "description": "Identifies the status of an invoice section.", + "enum": [ + "Other", + "Active", + "Deleted", + "Disabled", + "UnderReview", + "Warned", + "Restricted" + ], + "type": "string", + "x-ms-enum": { + "name": "InvoiceSectionState", + "modelAsString": true + } + }, + "reasonCode": { + "description": "Reason for the specified invoice section status.", + "enum": [ + "Other", + "PastDue", + "UnusualActivity", + "SpendingLimitReached", + "SpendingLimitExpired" + ], + "type": "string", + "x-ms-enum": { + "name": "InvoiceSectionStateReasonCode", + "modelAsString": true + } + }, + "systemId": { + "description": "The system generated unique identifier for an invoice section.", + "type": "string", + "readOnly": true + }, + "targetCloud": { + "description": "Identifies the cloud environments that are associated with an invoice section. This is a system managed optional field and gets updated as the invoice section gets associated with accounts in various clouds.", + "enum": [ + "Other", + "Internal", + "USGov", + "USNat", + "USSec" + ], + "type": "string", + "x-ms-enum": { + "name": "TargetCloud", + "modelAsString": true + } + }, + "tags": { + "description": "Dictionary of metadata associated with the resource. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \\ ? /", + "type": "object", + "additionalProperties": { + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/operation.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/operation.json new file mode 100644 index 000000000000..6f876d442faa --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/operation.json @@ -0,0 +1,148 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/operations": { + "get": { + "tags": [ + "ArmOperations" + ], + "description": "List of operations supported by provider.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OperationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/operationsList.json" + } + } + } + } + }, + "definitions": { + "Operation": { + "description": "Details of a REST API operation, returned from the Resource Provider Operations API.", + "type": "object", + "properties": { + "name": { + "description": "The name of the operation, as per Resource-Based Access Control (RBAC). Examples: \"Microsoft.Compute/virtualMachines/write\", \"Microsoft.Compute/virtualMachines/capture/action\".", + "type": "string", + "readOnly": true + }, + "isDataAction": { + "description": "Whether the operation applies to data-plane. This is \"true\" for data-plane operations and \"false\" for ARM/control-plane operations.", + "type": "boolean", + "readOnly": true + }, + "display": { + "description": "Localized display information for this particular operation.", + "$ref": "#/definitions/OperationDisplay" + } + } + }, + "OperationDisplay": { + "description": "Localized display information for this particular operation.", + "type": "object", + "properties": { + "description": { + "description": "The short, localized friendly description of the operation; suitable for tool tips and detailed views.", + "type": "string", + "readOnly": true + }, + "operation": { + "description": "The concise, localized friendly name for the operation; suitable for dropdowns. E.g. \"Create or Update Virtual Machine\", \"Restart Virtual Machine\".", + "type": "string", + "readOnly": true + }, + "provider": { + "description": "The localized friendly form of the resource provider name, e.g. \"Microsoft Monitoring Insights\" or \"Microsoft Compute\".", + "type": "string", + "readOnly": true + }, + "resource": { + "description": "The localized friendly name of the resource type related to this operation. E.g. \"Virtual Machines\" or \"Job Schedule Collections\".", + "type": "string", + "readOnly": true + } + } + }, + "OperationListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "readOnly": true, + "x-ms-identifiers": [ + "name" + ] + } + } + } + }, + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/payment.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/payment.json new file mode 100644 index 000000000000..731c6b050c8f --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/payment.json @@ -0,0 +1,661 @@ +{ + "consumes": [ + "application/json" + ], + "definitions": { + "PaymentMethod": { + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "description": "A payment method.", + "properties": { + "properties": { + "$ref": "#/definitions/PaymentMethodProperties", + "description": "Payment method properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "PaymentMethodLink": { + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "description": "A payment method link.", + "properties": { + "properties": { + "$ref": "#/definitions/PaymentMethodLinkProperties", + "description": "Payment method link properties", + "x-ms-client-flatten": true + } + }, + "type": "object" + }, + "PaymentMethodLinkProperties": { + "description": "The properties of a payment method link.", + "properties": { + "accountHolderName": { + "description": "The account holder name for the payment method. This is only supported for payment methods with family CreditCard.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name of the payment method.", + "readOnly": true, + "type": "string" + }, + "expiration": { + "description": "The expiration month and year of the payment method. This is only supported for payment methods with family CreditCard.", + "readOnly": true, + "type": "string" + }, + "family": { + "description": "The family of payment method.", + "enum": [ + "Other", + "None", + "CreditCard", + "Credits", + "CheckWire", + "EWallet", + "TaskOrder", + "DirectDebit" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "paymentMethodFamily" + } + }, + "lastFourDigits": { + "description": "Last four digits of payment method.", + "readOnly": true, + "type": "string" + }, + "logos": { + "description": "The list of logos for the payment method.", + "items": { + "$ref": "#/definitions/PaymentMethodLogo" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [] + }, + "paymentMethod": { + "description": "Projection of a payment method. Will not be returned in this or future versions.", + "$ref": "#/definitions/PaymentMethodProperties" + }, + "paymentMethodId": { + "description": "Id of payment method. Example: /providers/Microsoft.Billing/paymentMethods/ABCDABCDABC0", + "type": "string" + }, + "paymentMethodType": { + "description": "The type of payment method.", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Status of the payment method.", + "enum": [ + "active", + "inactive" + ], + "readOnly": true, + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "paymentMethodStatus" + } + } + }, + "type": "object" + }, + "PaymentMethodLinksListResult": { + "description": "The list of payment method links.", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "The list of payment method links.", + "items": { + "$ref": "#/definitions/PaymentMethodLink" + }, + "readOnly": true, + "type": "array", + "x-ms-identifiers": [ + "id" + ] + } + }, + "type": "object" + }, + "PaymentMethodLogo": { + "description": "Logo of payment method.", + "properties": { + "mimeType": { + "description": "MIME type of the logo.", + "readOnly": true, + "type": "string" + }, + "url": { + "description": "Public URL of image of the logo.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "PaymentMethodProperties": { + "description": "The properties of a payment method.", + "properties": { + "id": { + "description": "Id of payment method.", + "type": "string", + "readOnly": true + }, + "accountHolderName": { + "description": "The account holder name for the payment method. This is only supported for payment methods with family CreditCard.", + "readOnly": true, + "type": "string" + }, + "displayName": { + "description": "The display name of the payment method.", + "readOnly": true, + "type": "string" + }, + "expiration": { + "description": "The expiration month and year of the payment method. This is only supported for payment methods with family CreditCard.", + "readOnly": true, + "type": "string" + }, + "family": { + "description": "The family of payment method.", + "enum": [ + "Other", + "None", + "CreditCard", + "Credits", + "CheckWire", + "EWallet", + "TaskOrder", + "DirectDebit" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "paymentMethodFamily" + } + }, + "lastFourDigits": { + "description": "Last four digits of payment method.", + "readOnly": true, + "type": "string" + }, + "logos": { + "description": "The list of logos for the payment method.", + "items": { + "$ref": "#/definitions/PaymentMethodLogo" + }, + "type": "array", + "x-ms-identifiers": [] + }, + "paymentMethodType": { + "description": "The type of payment method.", + "readOnly": true, + "type": "string" + }, + "status": { + "description": "Status of the payment method.", + "enum": [ + "active", + "inactive" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "paymentMethodStatus" + } + }, + "type": { + "description": "The type of payment method.", + "type": "string", + "readOnly": true + } + }, + "type": "object" + }, + "PaymentMethodsListResult": { + "description": "The list of payment methods.", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "The list of payment methods.", + "items": { + "$ref": "#/definitions/PaymentMethod" + }, + "readOnly": true, + "type": "array" + } + }, + "type": "object", + "x-ms-identifiers": [ + "id" + ] + } + }, + "host": "management.azure.com", + "info": { + "description": "The billing client allows you to view and manage your billing details programmatically.", + "title": "BillingManagementClient", + "version": "2024-04-01" + }, + "parameters": { + "billingAccountNameParameter": { + "name": "billingAccountName", + "in": "path", + "description": "The ID that uniquely identifies a billing account.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingProfileNameParameter": { + "name": "billingProfileName", + "in": "path", + "description": "The ID that uniquely identifies a billing profile.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "paymentMethodNameParameter": { + "description": "The ID that uniquely identifies a payment method.", + "in": "path", + "name": "paymentMethodName", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/paymentMethodLinks": { + "get": { + "description": "Lists payment methods attached to a billing profile. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "PaymentMethods_ListByBillingProfile", + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PaymentMethodLinksListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "PaymentMethods" + ], + "x-ms-examples": { + "PaymentMethodsListByBillingProfile": { + "$ref": "./examples/paymentMethodsListByBillingProfile.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/paymentMethodLinks/{paymentMethodName}": { + "get": { + "description": "Gets a payment method linked with a billing profile. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "PaymentMethods_GetByBillingProfile", + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/paymentMethodNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PaymentMethodLink" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "PaymentMethods" + ], + "x-ms-examples": { + "PaymentMethodsGetByBillingProfile": { + "$ref": "./examples/paymentMethodsGetByBillingProfile.json" + } + } + }, + "delete": { + "tags": [ + "PaymentMethods" + ], + "operationId": "PaymentMethods_DeleteAtBillingProfile", + "x-ms-long-running-operation": true, + "description": "Deletes a payment method link and removes the payment method from a billing profile. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "x-ms-examples": { + "PaymentMethodAtBillingProfileDelete": { + "$ref": "./examples/paymentMethodsDeleteAtBillingProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/billingProfileNameParameter" + }, + { + "$ref": "#/parameters/paymentMethodNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "204": { + "description": "The resource was not found." + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "Location URI to poll for result", + "type": "string" + }, + "Retry-After": { + "description": "Recommended time to wait before making another request to check the status of the operation. The time is specified in seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/paymentMethods": { + "get": { + "description": "Lists the payment methods available for a billing account. Along with the payment methods owned by the caller, these payment methods can be attached to a billing profile to make payments. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "PaymentMethods_ListByBillingAccount", + "parameters": [ + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PaymentMethodsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "PaymentMethods" + ], + "x-ms-examples": { + "PaymentMethodsListByBillingAccount": { + "$ref": "./examples/paymentMethodsListByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/paymentMethods/{paymentMethodName}": { + "get": { + "description": "Gets a payment method available for a billing account. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "PaymentMethods_GetByBillingAccount", + "parameters": [ + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/billingAccountNameParameter" + }, + { + "$ref": "#/parameters/paymentMethodNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PaymentMethod" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "PaymentMethods" + ], + "x-ms-examples": { + "PaymentMethodGetAtBillingProfile": { + "$ref": "./examples/paymentMethodsGetByBillingAccount.json" + } + } + } + }, + "/providers/Microsoft.Billing/paymentMethods": { + "get": { + "description": "Lists the payment methods owned by the caller.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "PaymentMethods_ListByUser", + "parameters": [ + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PaymentMethodsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "PaymentMethods" + ], + "x-ms-examples": { + "ListPaymentMethodOwnedByUser": { + "$ref": "./examples/paymentMethodsListByUser.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/paymentMethods/{paymentMethodName}": { + "delete": { + "description": "Deletes a payment method owned by the caller.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "PaymentMethods_DeleteByUser", + "parameters": [ + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/paymentMethodNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "204": { + "description": "The resource was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "PaymentMethods" + ], + "x-ms-examples": { + "DeletePaymentMethodOwnedByUser": { + "$ref": "./examples/paymentMethodsDeleteByUser.json" + } + } + }, + "get": { + "description": "Gets a payment method owned by the caller.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "PaymentMethods_GetByUser", + "parameters": [ + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/paymentMethodNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PaymentMethod" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "PaymentMethods" + ], + "x-ms-examples": { + "GetPaymentMethodOwnedByUser": { + "$ref": "./examples/paymentMethodsGetByUser.json" + } + } + } + } + }, + "produces": [ + "application/json" + ], + "schemes": [ + "https" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "type": "oauth2" + } + }, + "swagger": "2.0" +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/policy.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/policy.json new file mode 100644 index 000000000000..6bf1e9920486 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/policy.json @@ -0,0 +1,977 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/policies/{policyName}": { + "get": { + "tags": [ + "Policy" + ], + "description": "Lists the policies for a customer. This operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Policies_GetByCustomer", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "in": "path", + "name": "policyName", + "description": "Service-defined resource names such as 'default' which are reserved resource names.", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z\\d-_]{1,128}$", + "enum": [ + "default" + ], + "x-ms-enum": { + "name": "ServiceDefinedResourceName", + "modelAsString": true + } + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A policy at customer scope.", + "schema": { + "$ref": "#/definitions/CustomerPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PoliciesGetByCustomer": { + "$ref": "./examples/policiesGetByCustomer.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/policies/default": { + "put": { + "tags": [ + "Policy" + ], + "description": "Updates the policies for a customer. This operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Policies_CreateOrUpdateByCustomer", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "A policy at customer scope.", + "required": true, + "schema": { + "$ref": "#/definitions/CustomerPolicy" + } + } + ], + "responses": { + "200": { + "description": "A policy at customer scope.", + "schema": { + "$ref": "#/definitions/CustomerPolicy" + } + }, + "201": { + "description": "A policy at customer scope.", + "schema": { + "$ref": "#/definitions/CustomerPolicy" + }, + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "PoliciesPutByCustomer": { + "$ref": "./examples/policiesPutByCustomer.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/policies/default": { + "get": { + "tags": [ + "Policy" + ], + "description": "Lists the policies for a billing profile. This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Policies_GetByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A policy at billing profile scope.", + "schema": { + "$ref": "#/definitions/BillingProfilePolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PoliciesGetByBillingProfile": { + "$ref": "./examples/policiesGetByBillingProfile.json" + } + } + }, + "put": { + "tags": [ + "Policy" + ], + "description": "Updates the policies for a billing profile. This operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Policies_CreateOrUpdateByBillingProfile", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "A policy at billing profile scope.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingProfilePolicy" + } + } + ], + "responses": { + "200": { + "description": "A policy at billing profile scope.", + "schema": { + "$ref": "#/definitions/BillingProfilePolicy" + } + }, + "201": { + "description": "A policy at billing profile scope.", + "schema": { + "$ref": "#/definitions/BillingProfilePolicy" + }, + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "PoliciesPutByBillingProfile": { + "$ref": "./examples/policiesPutByBillingProfile.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/policies/default": { + "get": { + "tags": [ + "Policy" + ], + "description": "Lists the policies for a customer at billing account scope. This operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Policies_GetByCustomerAtBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A policy at customer scope.", + "schema": { + "$ref": "#/definitions/CustomerPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PoliciesGetByCustomerAtBillingAccount": { + "$ref": "./examples/policiesGetByCustomerAtBillingAccount.json" + } + } + }, + "put": { + "tags": [ + "Policy" + ], + "description": "Updates the policies for a customer at billing account scope. This operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Policies_CreateOrUpdateByCustomerAtBillingAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "A policy at customer scope.", + "required": true, + "schema": { + "$ref": "#/definitions/CustomerPolicy" + } + } + ], + "responses": { + "200": { + "description": "A policy at customer scope.", + "schema": { + "$ref": "#/definitions/CustomerPolicy" + } + }, + "201": { + "description": "A policy at customer scope.", + "schema": { + "$ref": "#/definitions/CustomerPolicy" + }, + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "PoliciesPutByCustomerAtBillingAccount": { + "$ref": "./examples/policiesPutByCustomerAtBillingAccount.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/policies/default": { + "get": { + "tags": [ + "Policy" + ], + "description": "Get the policies for a billing account of Enterprise Agreement type.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Policies_GetByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A policy at billing account scope.", + "schema": { + "$ref": "#/definitions/BillingAccountPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PoliciesGetByBillingAccount": { + "$ref": "./examples/policiesGetByBillingAccount.json" + } + } + }, + "put": { + "tags": [ + "Policy" + ], + "description": "Update the policies for a billing account of Enterprise Agreement type.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Policies_CreateOrUpdateByBillingAccount", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "A policy at billing account scope.", + "required": true, + "schema": { + "$ref": "#/definitions/BillingAccountPolicy" + } + } + ], + "responses": { + "200": { + "description": "A policy at billing account scope.", + "schema": { + "$ref": "#/definitions/BillingAccountPolicy" + } + }, + "201": { + "description": "A policy at billing account scope.", + "schema": { + "$ref": "#/definitions/BillingAccountPolicy" + }, + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "PoliciesPutByBillingAccount": { + "$ref": "./examples/policiesPutByBillingAccount.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/policies/default": { + "get": { + "tags": [ + "Policy" + ], + "description": "Lists the policies that are managed by the Billing Admin for the defined subscriptions. This is supported for Microsoft Online Services Program, Microsoft Customer Agreement and Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Policies_GetBySubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/subscriptionId" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A policy at subscription scope.", + "schema": { + "$ref": "#/definitions/SubscriptionPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PoliciesGetBySubscription": { + "$ref": "./examples/policiesGetBySubscription.json" + } + } + } + } + }, + "definitions": { + "BillingAccountPolicy": { + "description": "A policy at billing account scope.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BillingAccountPolicyProperties" + } + }, + "x-ms-azure-resource": true + }, + "BillingAccountPolicyProperties": { + "description": "A policy at billing account scope.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource during a long-running operation.", + "enum": [ + "Succeeded", + "Canceled", + "Failed", + "New", + "Pending", + "Provisioning" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "enterpriseAgreementPolicies": { + "description": "The policies for Enterprise Agreement enrollments.", + "allOf": [ + { + "$ref": "#/definitions/EnterpriseAgreementPolicies" + } + ] + }, + "marketplacePurchases": { + "description": "The policy that controls whether Azure marketplace purchases are allowed.", + "enum": [ + "Other", + "AllAllowed", + "Disabled", + "NotAllowed", + "OnlyFreeAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "MarketplacePurchasesPolicy", + "modelAsString": true + } + }, + "reservationPurchases": { + "description": "The policy that controls whether Azure reservation purchases are allowed.", + "enum": [ + "Other", + "Allowed", + "Disabled", + "NotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "ReservationPurchasesPolicy", + "modelAsString": true + } + }, + "savingsPlanPurchases": { + "description": "The policy that controls whether users with Azure savings plan purchase are allowed.", + "enum": [ + "Other", + "Allowed", + "Disabled", + "NotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "SavingsPlanPurchasesPolicy", + "modelAsString": true + } + }, + "policies": { + "description": "List of all policies defined at the billing scope.", + "type": "array", + "items": { + "$ref": "#/definitions/PolicySummary" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "BillingProfilePolicy": { + "description": "A policy at billing profile scope.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/BillingProfilePolicyProperties" + } + }, + "x-ms-azure-resource": true + }, + "BillingProfilePolicyProperties": { + "description": "A policy at billing profile scope.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource during a long-running operation.", + "enum": [ + "Succeeded", + "Canceled", + "Failed", + "New", + "Pending", + "Provisioning" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "enterpriseAgreementPolicies": { + "description": "The policies for Enterprise Agreement enrollments.", + "allOf": [ + { + "$ref": "#/definitions/EnterpriseAgreementPolicies" + } + ] + }, + "invoiceSectionLabelManagement": { + "description": "The policy that controls invoice section label management at invoice section scope. This is allowed by default.", + "enum": [ + "Other", + "Allowed", + "NotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "InvoiceSectionLabelManagementPolicy", + "modelAsString": true + } + }, + "marketplacePurchases": { + "description": "The policy that controls whether Azure marketplace purchases are allowed.", + "enum": [ + "Other", + "AllAllowed", + "Disabled", + "NotAllowed", + "OnlyFreeAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "MarketplacePurchasesPolicy", + "modelAsString": true + } + }, + "reservationPurchases": { + "description": "The policy that controls whether Azure reservation purchases are allowed.", + "enum": [ + "Other", + "Allowed", + "Disabled", + "NotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "ReservationPurchasesPolicy", + "modelAsString": true + } + }, + "savingsPlanPurchases": { + "description": "The policy that controls whether users with Azure savings plan purchase are allowed.", + "enum": [ + "Other", + "Allowed", + "Disabled", + "NotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "SavingsPlanPurchasesPolicy", + "modelAsString": true + } + }, + "viewCharges": { + "description": "The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices.", + "enum": [ + "Other", + "Allowed", + "NotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "ViewChargesPolicy", + "modelAsString": true + } + }, + "policies": { + "description": "List of all policies defined at the billing scope.", + "type": "array", + "items": { + "$ref": "#/definitions/PolicySummary" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "CustomerPolicy": { + "description": "A policy at customer scope.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/CustomerPolicyProperties" + } + }, + "x-ms-azure-resource": true + }, + "CustomerPolicyProperties": { + "description": "A policy at customer scope.", + "required": [ + "viewCharges" + ], + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource during a long-running operation.", + "enum": [ + "Succeeded", + "Canceled", + "Failed", + "New", + "Pending", + "Provisioning" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "viewCharges": { + "description": "The policy that controls whether the users in customer's organization can view charges at pay-as-you-go prices.", + "enum": [ + "Other", + "Allowed", + "NotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "ViewChargesPolicy", + "modelAsString": true + } + }, + "policies": { + "description": "List of all policies defined at the billing scope.", + "type": "array", + "items": { + "$ref": "#/definitions/PolicySummary" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "EnterpriseAgreementPolicies": { + "description": "The policies for Enterprise Agreement enrollments.", + "type": "object", + "properties": { + "authenticationType": { + "description": "The state showing the enrollment auth level.", + "enum": [ + "Other", + "MicrosoftAccountOnly", + "MixedAccount", + "OrganizationalAccountCrossTenant", + "OrganizationalAccountOnly" + ], + "type": "string", + "x-ms-enum": { + "name": "EnrollmentAuthLevelState", + "modelAsString": true + } + }, + "accountOwnerViewCharges": { + "description": "The policy that controls whether account owner can view charges.", + "enum": [ + "Other", + "Allowed", + "Disabled", + "NotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "EnrollmentAccountOwnerViewCharges", + "modelAsString": true + } + }, + "departmentAdminViewCharges": { + "description": "The policy that controls whether department admin can view charges.", + "enum": [ + "Other", + "Allowed", + "Disabled", + "NotAllowed" + ], + "type": "string", + "x-ms-enum": { + "name": "EnrollmentDepartmentAdminViewCharges", + "modelAsString": true + } + } + } + }, + "PolicySummary": { + "description": "The summary of the policy.", + "type": "object", + "properties": { + "name": { + "description": "The name of the policy.", + "type": "string" + }, + "value": { + "description": "The value of the policy.", + "type": "string" + }, + "policyType": { + "description": "The type of the policy.", + "enum": [ + "Other", + "UserControlled", + "SystemControlled" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyType", + "modelAsString": true + } + }, + "scope": { + "description": "The scope at which the policy is defined.", + "type": "string" + } + } + }, + "SubscriptionPolicy": { + "description": "A policy at subscription scope.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/SubscriptionPolicyProperties" + } + }, + "x-ms-azure-resource": true + }, + "SubscriptionPolicyProperties": { + "description": "A policy at subscription scope.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource during a long-running operation.", + "enum": [ + "Succeeded", + "Canceled", + "Failed", + "New", + "Pending", + "Provisioning" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "policies": { + "description": "List of all policies defined at the billing scope.", + "type": "array", + "items": { + "$ref": "#/definitions/PolicySummary" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + } + }, + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/product.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/product.json new file mode 100644 index 000000000000..f7e58250fb7d --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/product.json @@ -0,0 +1,826 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/products": { + "get": { + "tags": [ + "Product" + ], + "description": "Lists the products for an invoice section. These don't include products billed based on usage. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Products_ListByInvoiceSection", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of products. It contains a list of available product summaries in reverse chronological order by purchase date.", + "schema": { + "$ref": "#/definitions/ProductListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProductsListByInvoiceSection": { + "$ref": "./examples/productsListByInvoiceSection.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/products": { + "get": { + "tags": [ + "Product" + ], + "description": "Lists the products for a billing profile. These don't include products billed based on usage. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Products_ListByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of products. It contains a list of available product summaries in reverse chronological order by purchase date.", + "schema": { + "$ref": "#/definitions/ProductListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProductsListByBillingProfile": { + "$ref": "./examples/productsListByBillingProfile.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/customers/{customerName}/products": { + "get": { + "tags": [ + "Product" + ], + "description": "Lists the products for a customer. These don't include products billed based on usage.The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Products_ListByCustomer", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of products. It contains a list of available product summaries in reverse chronological order by purchase date.", + "schema": { + "$ref": "#/definitions/ProductListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProductsListByCustomer": { + "$ref": "./examples/productsListByCustomer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/move": { + "post": { + "tags": [ + "Product" + ], + "description": "Moves a product's charges to a new invoice section. The new invoice section must belong to the same billing profile as the existing invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Products_Move", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/productName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The properties of the product to initiate a transfer.", + "required": true, + "schema": { + "$ref": "#/definitions/MoveProductRequest" + } + } + ], + "responses": { + "200": { + "description": "A product.", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "ProductMove": { + "$ref": "./examples/productMove.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}/validateMoveEligibility": { + "post": { + "tags": [ + "Product" + ], + "description": "Validates if a product's charges can be moved to a new invoice section. This operation is supported only for products that are purchased with a recurring charge and for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Products_ValidateMoveEligibility", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/productName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The properties of the product to initiate a transfer.", + "required": true, + "schema": { + "$ref": "#/definitions/MoveProductRequest" + } + } + ], + "responses": { + "200": { + "description": "Result of the transfer eligibility validation.", + "schema": { + "$ref": "#/definitions/MoveProductEligibilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProductValidateMoveSuccess": { + "$ref": "./examples/productValidateMoveSuccess.json" + }, + "ProductValidateMoveFailure": { + "$ref": "./examples/productValidateMoveFailure.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products/{productName}": { + "get": { + "tags": [ + "Product" + ], + "description": "Gets a product by ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Products_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/productName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A product.", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProductsGet": { + "$ref": "./examples/productsGet.json" + } + } + }, + "patch": { + "tags": [ + "Product" + ], + "description": "Updates the properties of a Product. Currently, auto renew can be updated. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Products_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/productName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "A product.", + "required": true, + "schema": { + "$ref": "#/definitions/ProductPatch" + } + } + ], + "responses": { + "200": { + "description": "A product.", + "schema": { + "$ref": "#/definitions/Product" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProductsUpdate": { + "$ref": "./examples/productsUpdate.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/products": { + "get": { + "tags": [ + "Product" + ], + "description": "Lists the products for a billing account. These don't include products billed based on usage. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement or Microsoft Partner Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Products_ListByBillingAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of products. It contains a list of available product summaries in reverse chronological order by purchase date.", + "schema": { + "$ref": "#/definitions/ProductListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProductsListByBillingAccount": { + "$ref": "./examples/productsListByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ExternalReference": { + "description": "An external reference.", + "type": "object", + "properties": { + "id": { + "description": "The ID that uniquely identifies an external reference.", + "type": "string", + "readOnly": true + }, + "url": { + "description": "The URL of the external reference.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + }, + "MoveProductEligibilityResult": { + "description": "Result of the transfer eligibility validation.", + "type": "object", + "properties": { + "isMoveEligible": { + "description": "Specifies whether the subscription is eligible to be transferred.", + "type": "boolean" + }, + "errorDetails": { + "description": "Error details of the transfer eligibility validation.", + "allOf": [ + { + "$ref": "#/definitions/MoveProductErrorDetails" + } + ] + } + } + }, + "MoveProductErrorDetails": { + "description": "Error details of the transfer eligibility validation.", + "type": "object", + "properties": { + "code": { + "description": "Error code for the product transfer validation.", + "enum": [ + "Other", + "BillingAccountInactive", + "DestinationBillingProfileInactive", + "DestinationBillingProfileNotFound", + "DestinationBillingProfilePastDue", + "DestinationInvoiceSectionInactive", + "DestinationInvoiceSectionNotFound", + "InsufficientPermissionOnDestination", + "InsufficientPermissionOnSource", + "InvalidDestination", + "InvalidSource", + "MarketplaceNotEnabledOnDestination", + "ProductInactive", + "ProductNotFound", + "ProductTypeNotSupported", + "SourceBillingProfilePastDue", + "SourceInvoiceSectionInactive" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MoveValidationErrorCode", + "modelAsString": true + } + }, + "message": { + "description": "The error message.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Error details of the transfer eligibility validation.", + "type": "string", + "readOnly": true + } + } + }, + "MoveProductRequest": { + "description": "The properties of the product to initiate a transfer.", + "required": [ + "destinationInvoiceSectionId" + ], + "type": "object", + "properties": { + "destinationInvoiceSectionId": { + "description": "The destination invoice section id.", + "minLength": 1, + "type": "string" + } + } + }, + "Product": { + "description": "A product.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProductProperties" + } + }, + "x-ms-azure-resource": true + }, + "ProductListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Product" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "ProductPatch": { + "description": "A product.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/ProductProperties" + } + }, + "x-ms-azure-resource": true + }, + "ProductProperties": { + "description": "A product.", + "type": "object", + "properties": { + "autoRenew": { + "description": "Indicates whether auto renewal is turned on or off for a product.", + "enum": [ + "Off", + "On" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoRenew", + "modelAsString": true + } + }, + "availabilityId": { + "description": "The availability of the product.", + "type": "string", + "readOnly": true + }, + "billingFrequency": { + "description": "The frequency at which the product will be billed.", + "type": "string", + "readOnly": true + }, + "billingProfileId": { + "description": "The ID of the billing profile to which the product is billed.", + "type": "string", + "readOnly": true + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile to which the product is billed.", + "type": "string", + "readOnly": true + }, + "customerId": { + "description": "The ID of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement billing account.", + "type": "string", + "readOnly": true + }, + "customerDisplayName": { + "description": "The name of the customer for whom the product was purchased. The field is applicable only for Microsoft Partner Agreement billing account.", + "type": "string", + "readOnly": true + }, + "displayName": { + "description": "The display name of the product.", + "type": "string", + "readOnly": true + }, + "endDate": { + "description": "The date when the product will be renewed or canceled.", + "type": "string", + "readOnly": true + }, + "invoiceSectionId": { + "description": "The ID of the invoice section to which the product is billed.", + "type": "string", + "readOnly": true + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section to which the product is billed.", + "type": "string", + "readOnly": true + }, + "lastCharge": { + "description": "The last month charges.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "lastChargeDate": { + "description": "The date of the last charge.", + "type": "string", + "readOnly": true + }, + "productType": { + "description": "The description of the type of product.", + "type": "string", + "readOnly": true + }, + "productTypeId": { + "description": "The ID of the type of product.", + "type": "string", + "readOnly": true + }, + "skuId": { + "description": "The sku ID of the product.", + "type": "string", + "readOnly": true + }, + "skuDescription": { + "description": "The sku description of the product.", + "type": "string", + "readOnly": true + }, + "purchaseDate": { + "description": "The date when the product was purchased.", + "type": "string", + "readOnly": true + }, + "quantity": { + "format": "int64", + "description": "The quantity purchased for the product.", + "type": "integer", + "readOnly": true + }, + "status": { + "description": "The status of the product.", + "enum": [ + "Other", + "Active", + "Disabled", + "Deleted", + "PastDue", + "Expiring", + "Expired", + "AutoRenew", + "Canceled", + "Suspended" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProductStatus", + "modelAsString": true + } + }, + "tenantId": { + "description": "The id of the tenant in which the product is used.", + "type": "string", + "readOnly": true + }, + "reseller": { + "description": "Reseller for this product. The fields is not available for Microsoft Partner Agreement products.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Reseller" + } + ] + } + } + } + }, + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/reservation.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/reservation.json new file mode 100644 index 000000000000..24ad2e5bae60 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/reservation.json @@ -0,0 +1,1423 @@ +{ + "swagger": "2.0", + "info": { + "description": "Billing client provides access to billing resources for Azure subscriptions.", + "title": "BillingManagementClient", + "version": "2024-04-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/reservations": { + "get": { + "description": "Lists the reservations in the billing account and the roll up counts of reservations group by provisioning states.", + "operationId": "Reservations_ListByBillingAccount", + "parameters": [ + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + }, + { + "$ref": "#/parameters/RefreshSummaryParameter" + }, + { + "$ref": "#/parameters/SelectedStateParameter" + }, + { + "$ref": "#/parameters/TakeParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "tags": [ + "Reservations" + ], + "x-ms-examples": { + "reservationsListByBillingAccount": { + "$ref": "./examples/reservationsListByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/reservations": { + "get": { + "tags": [ + "Reservations" + ], + "x-ms-examples": { + "ReservationsListByBillingProfile": { + "$ref": "./examples/reservationsListByBillingProfile.json" + } + }, + "operationId": "Reservations_ListByBillingProfile", + "description": "Lists the reservations for a billing profile and the roll up counts of reservations group by provisioning state.", + "parameters": [ + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + }, + { + "$ref": "#/parameters/RefreshSummaryParameter" + }, + { + "$ref": "#/parameters/SelectedStateParameter" + }, + { + "$ref": "#/parameters/TakeParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ReservationsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/reservationOrders/{reservationOrderId}/reservations/{reservationId}": { + "get": { + "summary": "Get Reservation details in the billing account.", + "description": "Get specific Reservation details in the billing account.", + "operationId": "Reservations_GetByReservationOrder", + "x-ms-examples": { + "reservationGetByBillingAccount": { + "$ref": "./examples/reservationGetByBillingAccount.json" + }, + "reservationGetByBillingAccountSingleScope": { + "$ref": "./examples/reservationGetByBillingAccountSingleScope.json" + }, + "reservationGetByBillingAccountSingleResourceGroup": { + "$ref": "./examples/reservationGetByBillingAccountSingleResourceGroup.json" + }, + "reservationGetByBillingAccountManagementGroup": { + "$ref": "./examples/reservationGetByBillingAccountManagementGroup.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + } + ], + "tags": [ + "Reservation" + ], + "responses": { + "200": { + "description": "Get `Reservation` details.", + "schema": { + "$ref": "#/definitions/Reservation" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "description": "Update reservation by billing account.", + "operationId": "Reservations_UpdateByBillingAccount", + "tags": [ + "Reservation" + ], + "x-ms-examples": { + "ReservationUpdate": { + "$ref": "./examples/reservationUpdateByBillingAccount.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ReservationIdParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "#/parameters/PatchParameter" + } + ], + "responses": { + "200": { + "description": "The request is completed.", + "schema": { + "$ref": "#/definitions/Reservation" + } + }, + "202": { + "description": "The request is accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "URL for checking the ongoing status of the operation." + }, + "Location": { + "type": "string", + "description": "URL for determining when an operation has completed. Only use this value only when Azure-AsyncOperation isn't returned." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "Clients should wait for the Retry-After interval before polling again" + } + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/reservationOrders/{reservationOrderId}/reservations": { + "get": { + "summary": "Get Reservations in a given reservation Order in the billing account", + "description": "List Reservations within a single ReservationOrder in the billing account.", + "operationId": "Reservations_ListByReservationOrder", + "x-ms-examples": { + "reservationsGetFromOrderByBillingAccount": { + "$ref": "./examples/reservationsGetFromOrderByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "#/parameters/ReservationOrderIdParameter" + } + ], + "tags": [ + "Reservations" + ], + "responses": { + "200": { + "description": "List `Reservation`s within a single `ReservationOrder`.", + "schema": { + "$ref": "#/definitions/ReservationList" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/reservationOrders/{reservationOrderId}": { + "get": { + "summary": "Get a specific ReservationOrder in the billing account.", + "description": "Get the details of the ReservationOrder in the billing account.", + "operationId": "ReservationOrders_GetByBillingAccount", + "x-ms-examples": { + "reservationOrderGetByBillingAccount": { + "$ref": "./examples/reservationOrderGetByBillingAccount.json" + }, + "reservationOrderGetByBillingAccountWithExpandPlanInformation": { + "$ref": "./examples/reservationOrderGetByBillingAccountWithExpandPlanInformation.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "#/parameters/ReservationOrderIdParameter" + }, + { + "$ref": "#/parameters/ExpandParameter" + } + ], + "tags": [ + "ReservationOrder" + ], + "responses": { + "200": { + "description": "Get the details of the `ReservationOrder`.", + "schema": { + "$ref": "#/definitions/ReservationOrder" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/reservationOrders": { + "get": { + "summary": "Get all `ReservationOrders in the billing account.", + "description": "List all the `ReservationOrders in the billing account.", + "operationId": "ReservationOrders_ListByBillingAccount", + "x-ms-examples": { + "reservationOrderListByBillingAccount": { + "$ref": "./examples/reservationOrdersListByBillingAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "#/parameters/SkipTokenParameter" + } + ], + "tags": [ + "ReservationOrders" + ], + "responses": { + "200": { + "description": "List of ReservationOrders", + "schema": { + "$ref": "#/definitions/ReservationOrderList" + } + }, + "default": { + "description": "Unexpected error", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ReservationOrder": { + "type": "object", + "description": "Details of a reservation order being returned.", + "x-ms-azure-resource": true, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "etag": { + "type": "integer", + "format": "int32" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReservationOrderProperty", + "description": "The properties associated to this reservation order", + "type": "object" + }, + "tags": { + "description": "Tags for this reservation", + "$ref": "#/definitions/Tags" + } + } + }, + "Reservation": { + "type": "object", + "description": "The definition of the reservation.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "x-ms-azure-resource": true, + "properties": { + "location": { + "description": "The location of the reservation.", + "type": "string", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "etag": { + "type": "integer", + "format": "int32" + }, + "properties": { + "$ref": "#/definitions/ReservationProperty", + "description": "The properties associated to this reservation", + "type": "object", + "x-ms-client-flatten": true + }, + "tags": { + "description": "Tags for this reservation", + "$ref": "#/definitions/Tags" + }, + "sku": { + "$ref": "#/definitions/ReservationSkuProperty", + "description": "The sku information associated to this reservation", + "type": "object" + } + } + }, + "ReservationAppliedScope": { + "description": "Reservation applied scope", + "readOnly": true, + "type": "string" + }, + "ReservationOrderProperty": { + "type": "object", + "description": "Properties of a reservation order.", + "properties": { + "displayName": { + "type": "string", + "description": "Friendly name for user to easily identified the reservation order." + }, + "enrollmentId": { + "type": "string", + "description": "Enrollment id of the reservation order." + }, + "customerId": { + "type": "string", + "description": "Fully-qualified identifier of the customerId where the benefit is applied. Present only for Enterprise Agreement PartnerLed customers." + }, + "billingProfileId": { + "type": "string", + "description": "Billing profile Id associated to this reservation order." + }, + "billingAccountId": { + "type": "string", + "description": "Billing account Id associated to this reservation order." + }, + "requestDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the DateTime when the reservation order was initially requested for purchase." + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the DateTime when the reservation order was created." + }, + "expiryDate": { + "type": "string", + "format": "date", + "description": "This is the date when the reservation order will expire." + }, + "expiryDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the date-time when the reservation order will expire." + }, + "benefitStartTime": { + "type": "string", + "format": "date-time", + "description": "This is the DateTime when the reservation benefit started." + }, + "originalQuantity": { + "type": "integer", + "format": "int32", + "description": "Total original quantity of the skus purchased in the reservation order." + }, + "term": { + "description": "The term of the reservation, e.g. P1Y", + "readOnly": true, + "type": "string" + }, + "provisioningState": { + "description": "The provisioning state of the reservation, e.g. Succeeded", + "readOnly": true, + "type": "string" + }, + "billingPlan": { + "$ref": "#/definitions/ReservationBillingPlan" + }, + "planInformation": { + "$ref": "#/definitions/ReservationOrderBillingPlanInformation" + }, + "reservations": { + "type": "array", + "items": { + "$ref": "#/definitions/Reservation" + } + }, + "reviewDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the date-time when the Azure Hybrid Benefit needs to be reviewed." + }, + "extendedStatusInfo": { + "$ref": "#/definitions/ReservationExtendedStatusInfo" + }, + "productCode": { + "$ref": "#/definitions/ProductCode" + } + } + }, + "ReservationProperty": { + "type": "object", + "description": "The property of reservation object.", + "properties": { + "reservedResourceType": { + "description": "The reserved source type of the reservation, e.g. virtual machine.", + "readOnly": true, + "type": "string" + }, + "instanceFlexibility": { + "description": "Allows reservation discount to be applied across skus within the same auto fit group. Not all skus support instance size flexibility.", + "$ref": "#/definitions/InstanceFlexibility" + }, + "displayName": { + "description": "The display name of the reservation", + "readOnly": true, + "type": "string" + }, + "appliedScopes": { + "description": "The array of applied scopes of a reservation. Will be null if the reservation is in Shared scope", + "items": { + "$ref": "#/definitions/ReservationAppliedScope" + }, + "type": "array" + }, + "appliedScopeType": { + "description": "The applied scope type of the reservation.", + "readOnly": true, + "type": "string" + }, + "archived": { + "description": "Indicates if the reservation is archived", + "type": "boolean" + }, + "capabilities": { + "description": "Capabilities of the reservation", + "type": "string" + }, + "quantity": { + "description": "The number of the reservation.", + "readOnly": true, + "type": "number" + }, + "provisioningState": { + "description": "The provisioning state of the reservation, e.g. Succeeded", + "readOnly": true, + "type": "string" + }, + "effectiveDateTime": { + "description": "The effective date time of the reservation", + "readOnly": true, + "type": "string", + "format": "date-time" + }, + "benefitStartTime": { + "type": "string", + "format": "date-time", + "description": "This is the DateTime when the reservation benefit started." + }, + "lastUpdatedDateTime": { + "type": "string", + "format": "date-time", + "description": "DateTime of the last time the reservation was updated.", + "readOnly": true + }, + "expiryDate": { + "description": "The expiry date of the reservation", + "readOnly": true, + "type": "string" + }, + "expiryDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the date-time when the reservation will expire." + }, + "reviewDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the date-time when the Azure Hybrid Benefit needs to be reviewed." + }, + "skuDescription": { + "description": "The sku description of the reservation", + "readOnly": true, + "type": "string" + }, + "extendedStatusInfo": { + "description": "The message giving detailed information about the status code.", + "$ref": "#/definitions/ReservationExtendedStatusInfo" + }, + "billingPlan": { + "description": "The billing plan options available for this sku.", + "$ref": "#/definitions/ReservationBillingPlan" + }, + "displayProvisioningState": { + "description": "The provisioning state of the reservation for display, e.g. Succeeded", + "readOnly": true, + "type": "string" + }, + "provisioningSubState": { + "description": "The provisioning state of the reservation, e.g. Succeeded", + "readOnly": true, + "type": "string" + }, + "purchaseDate": { + "type": "string", + "format": "date", + "description": "This is the date when the reservation was purchased." + }, + "purchaseDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the date-time when the reservation was purchased." + }, + "splitProperties": { + "$ref": "#/definitions/ReservationSplitProperties" + }, + "mergeProperties": { + "$ref": "#/definitions/ReservationMergeProperties" + }, + "swapProperties": { + "$ref": "#/definitions/ReservationSwapProperties" + }, + "appliedScopeProperties": { + "$ref": "#/definitions/ReservationAppliedScopeProperties" + }, + "billingScopeId": { + "description": "Subscription that will be charged for purchasing reservation or savings plan", + "readOnly": true, + "type": "string" + }, + "renew": { + "description": "The renew state of the reservation", + "readOnly": true, + "type": "boolean" + }, + "renewSource": { + "description": "The renew source of the reservation", + "readOnly": true, + "type": "string" + }, + "renewDestination": { + "type": "string", + "description": "Reservation Id of the reservation which is purchased because of renew. Format of the resource Id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}." + }, + "renewProperties": { + "$ref": "#/definitions/RenewPropertiesResponse" + }, + "term": { + "description": "The term of the reservation, e.g. P1Y", + "readOnly": true, + "type": "string" + }, + "userFriendlyAppliedScopeType": { + "description": "The applied scope type of the reservation for display, e.g. Shared", + "readOnly": true, + "type": "string" + }, + "userFriendlyRenewState": { + "description": "The renew state of the reservation for display, e.g. On", + "readOnly": true, + "type": "string" + }, + "utilization": { + "readOnly": true, + "type": "object", + "description": "Reservation utilization", + "x-ms-client-flatten": true, + "properties": { + "trend": { + "description": "last 7 day utilization trend for a reservation", + "readOnly": true, + "type": "string" + }, + "aggregates": { + "description": "The array of aggregates of a reservation's utilization", + "type": "array", + "items": { + "$ref": "#/definitions/ReservationUtilizationAggregates" + }, + "x-ms-identifiers": [] + } + } + }, + "productCode": { + "$ref": "#/definitions/ProductCode" + } + } + }, + "ReservationSkuProperty": { + "type": "object", + "description": "The property of reservation sku object.", + "properties": { + "name": { + "description": "The name of the reservation sku.", + "readOnly": true, + "type": "string" + } + } + }, + "ReservationsListResult": { + "type": "object", + "description": "The list of reservations and summary of roll out count of reservations in each state.", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "readOnly": true, + "type": "string" + }, + "summary": { + "$ref": "#/definitions/ReservationSummary", + "description": "The roll out count summary of the reservations", + "type": "object" + }, + "value": { + "description": "The list of reservations.", + "items": { + "$ref": "#/definitions/Reservation" + }, + "readOnly": true, + "type": "array" + } + } + }, + "ReservationOrderList": { + "type": "object", + "description": "List of ReservationOrders", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationOrder" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page of reservationOrders." + } + } + }, + "ReservationList": { + "type": "object", + "description": "List of `Reservations", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Reservation" + } + }, + "nextLink": { + "type": "string", + "description": "Url to get the next page of reservations." + } + } + }, + "ReservationSummary": { + "description": "The roll up count summary of reservations in each state", + "properties": { + "cancelledCount": { + "description": "The number of reservation in Cancelled state", + "readOnly": true, + "type": "number" + }, + "expiredCount": { + "description": "The number of reservation in Expired state", + "readOnly": true, + "type": "number" + }, + "expiringCount": { + "description": "The number of reservation in Expiring state", + "readOnly": true, + "type": "number" + }, + "failedCount": { + "description": "The number of reservation in Failed state", + "readOnly": true, + "type": "number" + }, + "pendingCount": { + "description": "The number of reservation in Pending state", + "readOnly": true, + "type": "number" + }, + "succeededCount": { + "description": "The number of reservation in Succeeded state", + "readOnly": true, + "type": "number" + }, + "noBenefitCount": { + "description": "The number of reservation in 'No Benefit' state", + "readOnly": true, + "type": "number" + }, + "warningCount": { + "description": "The number of reservation in Warning state", + "readOnly": true, + "type": "number" + }, + "processingCount": { + "description": "The number of reservation in Processing state", + "readOnly": true, + "type": "number" + } + }, + "type": "object" + }, + "ReservationUtilizationAggregates": { + "description": "The aggregate values of reservation utilization", + "properties": { + "grain": { + "description": "The grain of the aggregate", + "readOnly": true, + "type": "number" + }, + "grainUnit": { + "description": "The grain unit of the aggregate", + "readOnly": true, + "type": "string" + }, + "value": { + "description": "The aggregate value", + "readOnly": true, + "type": "number" + }, + "valueUnit": { + "description": "The aggregate value unit", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "RenewPropertiesResponse": { + "type": "object", + "description": "The renew properties for a reservation.", + "properties": { + "purchaseProperties": { + "$ref": "#/definitions/ReservationPurchaseRequest" + }, + "pricingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount that Microsoft uses for record. Used during refund for calculating refund limit. Tax is not included. This is locked price 30 days before expiry." + }, + "billingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Currency and amount that customer will be charged in customer's local currency for renewal purchase. Tax is not included." + } + } + }, + "ReservationPurchaseRequest": { + "type": "object", + "description": "The request for reservation purchase", + "properties": { + "sku": { + "$ref": "#/definitions/SkuName" + }, + "location": { + "type": "string", + "description": "The Azure region where the reserved resource lives.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReservationPurchaseRequestProperties" + } + } + }, + "Patch": { + "type": "object", + "description": "The request for reservation patch", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PatchProperties" + }, + "sku": { + "$ref": "#/definitions/ReservationSkuProperty", + "description": "The sku information associated to this reservation", + "type": "object" + }, + "tags": { + "description": "Tags for this reservation", + "$ref": "#/definitions/Tags" + } + } + }, + "PatchProperties": { + "type": "object", + "description": "Properties for reservation patch", + "properties": { + "appliedScopeType": { + "$ref": "#/definitions/AppliedScopeType" + }, + "appliedScopeProperties": { + "$ref": "#/definitions/ReservationAppliedScopeProperties" + }, + "instanceFlexibility": { + "$ref": "#/definitions/InstanceFlexibility" + }, + "displayName": { + "type": "string", + "description": "Display name of the reservation" + }, + "renew": { + "$ref": "#/definitions/Renew" + }, + "renewProperties": { + "type": "object", + "x-ms-client-flatten": true, + "properties": { + "purchaseProperties": { + "$ref": "#/definitions/ReservationPurchaseRequest" + } + } + }, + "reviewDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the date-time when the Azure hybrid benefit needs to be reviewed." + } + } + }, + "Price": { + "type": "object", + "description": "The price.", + "properties": { + "currencyCode": { + "type": "string", + "description": "The ISO 4217 3-letter currency code for the currency used by this purchase record." + }, + "amount": { + "type": "number", + "format": "double" + } + } + }, + "SkuName": { + "type": "object", + "description": "The name of sku", + "properties": { + "name": { + "type": "string" + } + } + }, + "ReservationPurchaseRequestProperties": { + "type": "object", + "description": "Properties of reservation purchase request", + "properties": { + "reservedResourceType": { + "description": "The reserved source type of the reservation, e.g. virtual machine.", + "readOnly": true, + "type": "string" + }, + "billingScopeId": { + "type": "string", + "readOnly": true, + "description": "Subscription that will be charged for purchasing reservation or savings plan" + }, + "term": { + "description": "The term of the reservation, e.g. P1Y", + "readOnly": true, + "type": "string" + }, + "billingPlan": { + "$ref": "#/definitions/ReservationBillingPlan" + }, + "quantity": { + "type": "integer", + "format": "int32", + "description": "Quantity of the skus that are part of the reservation. Must be greater than zero." + }, + "displayName": { + "type": "string", + "description": "Friendly name of the reservation" + }, + "appliedScopeType": { + "$ref": "#/definitions/AppliedScopeType" + }, + "appliedScopes": { + "$ref": "#/definitions/AppliedScopes" + }, + "appliedScopeProperties": { + "$ref": "#/definitions/ReservationAppliedScopeProperties" + }, + "renew": { + "$ref": "#/definitions/Renew" + }, + "reservedResourceProperties": { + "type": "object", + "description": "Properties specific to each reserved resource type. Not required if not applicable.", + "x-ms-client-flatten": true, + "properties": { + "instanceFlexibility": { + "$ref": "#/definitions/InstanceFlexibility" + } + } + }, + "instanceFlexibility": { + "description": "Allows reservation discount to be applied across skus within the same auto fit group. Not all skus support instance size flexibility.", + "$ref": "#/definitions/InstanceFlexibility" + }, + "reviewDateTime": { + "type": "string", + "format": "date-time", + "description": "This is the date-time when the Azure hybrid benefit needs to be reviewed." + } + } + }, + "ReservationBillingPlan": { + "type": "string", + "description": "Represent the billing plans.", + "enum": [ + "Upfront", + "Monthly" + ], + "x-ms-enum": { + "name": "ReservationBillingPlan", + "modelAsString": true + } + }, + "AppliedScopeType": { + "type": "string", + "description": "Type of the Applied Scope.", + "enum": [ + "Single", + "Shared", + "ManagementGroup" + ], + "x-ms-enum": { + "name": "AppliedScopeType", + "modelAsString": true + } + }, + "AppliedScopes": { + "type": "array", + "description": "List of the subscriptions that the benefit will be applied. Do not specify if AppliedScopeType is Shared.", + "items": { + "type": "string", + "minItems": 1, + "maxItems": 1 + }, + "x-ms-identifiers": [] + }, + "ReservationAppliedScopeProperties": { + "type": "object", + "description": "Properties specific to applied scope type. Not required if not applicable. Required and need to provide tenantId and managementGroupId if AppliedScopeType is ManagementGroup", + "properties": { + "tenantId": { + "type": "string", + "description": "Tenant ID where the reservation should apply benefit." + }, + "managementGroupId": { + "type": "string", + "description": "Fully-qualified identifier of the management group where the benefit must be applied." + }, + "subscriptionId": { + "type": "string", + "description": "Fully-qualified identifier of the subscription." + }, + "resourceGroupId": { + "type": "string", + "description": "Fully-qualified identifier of the resource group." + }, + "displayName": { + "type": "string", + "description": "Display name" + } + } + }, + "Renew": { + "type": "boolean", + "default": false, + "description": "Setting this to true will automatically purchase a new reservation on the expiration date time." + }, + "Tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource Tags" + }, + "ProductCode": { + "type": "string", + "description": "Represents UPN" + }, + "InstanceFlexibility": { + "type": "string", + "description": "Turning this on will apply the reservation discount to other VMs in the same VM size group. Only specify for VirtualMachines reserved resource type.", + "enum": [ + "On", + "Off" + ], + "x-ms-enum": { + "name": "InstanceFlexibility", + "modelAsString": true + } + }, + "ReservationExtendedStatusInfo": { + "type": "object", + "description": "Extended status information for the reservation.", + "properties": { + "statusCode": { + "$ref": "#/definitions/ReservationStatusCode" + }, + "message": { + "type": "string", + "description": "The message giving detailed information about the status code." + }, + "properties": { + "description": "Properties for extended status information", + "$ref": "#/definitions/ExtendedStatusDefinitionProperties" + } + } + }, + "ReservationStatusCode": { + "type": "string", + "description": "The status of the reservation.", + "enum": [ + "None", + "Pending", + "Processing", + "Active", + "PurchaseError", + "PaymentInstrumentError", + "Split", + "Merged", + "Expired", + "Succeeded", + "CapacityError", + "CapacityRestricted", + "Exchanged", + "UnknownError", + "RiskCheckFailed", + "CreditLineCheckFailed", + "Warning", + "NoBenefitDueToSubscriptionTransfer", + "NoBenefitDueToSubscriptionDeletion", + "NoBenefit" + ], + "x-ms-enum": { + "name": "ReservationStatusCode", + "modelAsString": true + } + }, + "ExtendedStatusDefinitionProperties": { + "type": "object", + "description": "Extended status definition properties", + "properties": { + "subscriptionId": { + "type": "string", + "description": "Subscription Id" + } + } + }, + "ReservationSplitProperties": { + "type": "object", + "description": "Properties of reservation split", + "properties": { + "splitDestinations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of destination resource id that are created due to split. Format of the resource id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + }, + "splitSource": { + "type": "string", + "description": "Resource id of the reservation from which this is split. Format of the resource id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + } + } + }, + "ReservationMergeProperties": { + "type": "object", + "description": "Properties of reservation merge", + "properties": { + "mergeDestination": { + "type": "string", + "description": "Reservation resource id Created due to the merge. Format of the resource id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + }, + "mergeSources": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Resource ids of the source reservation's merged to form this reservation. Format of the resource id is /providers/Microsoft.Capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + } + } + }, + "ReservationSwapProperties": { + "type": "object", + "description": "Properties of reservation swap", + "properties": { + "swapSource": { + "type": "string", + "description": "Resource id of the source reservation that gets swapped. Format of the resource id is /providers/microsoft.capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + }, + "swapDestination": { + "type": "string", + "description": "Reservation resource id that the original resource gets swapped to. Format of the resource id is /providers/microsoft.capacity/reservationOrders/{reservationOrderId}/reservations/{reservationId}" + } + } + }, + "ReservationOrderBillingPlanInformation": { + "type": "object", + "description": "Information describing the type of billing plan for this reservation order.", + "properties": { + "pricingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount of money to be paid for the Order. Tax is not included." + }, + "startDate": { + "type": "string", + "format": "date", + "description": "Date when the billing plan has started." + }, + "nextPaymentDueDate": { + "type": "string", + "format": "date", + "description": "For recurring billing plans, indicates the date when next payment will be processed. Null when total is paid off." + }, + "transactions": { + "type": "array", + "items": { + "$ref": "#/definitions/ReservationPaymentDetail" + }, + "x-ms-identifiers": [] + } + } + }, + "ReservationPaymentDetail": { + "type": "object", + "description": "Information about payment related to a reservation order.", + "properties": { + "dueDate": { + "type": "string", + "format": "date", + "description": "Date when the payment needs to be done." + }, + "paymentDate": { + "type": "string", + "format": "date", + "description": "Date when the transaction is completed. Is null when it is scheduled." + }, + "pricingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount in pricing currency. Tax not included." + }, + "billingCurrencyTotal": { + "$ref": "#/definitions/Price", + "description": "Amount charged in Billing currency. Tax not included. Is null for future payments" + }, + "billingAccount": { + "type": "string", + "description": "Shows the Account that is charged for this payment." + }, + "status": { + "$ref": "#/definitions/PaymentStatus" + }, + "extendedStatusInfo": { + "$ref": "#/definitions/ReservationExtendedStatusInfo" + } + } + }, + "PaymentStatus": { + "type": "string", + "description": "Describes whether the payment is completed, failed, cancelled or scheduled in the future.", + "enum": [ + "Succeeded", + "Failed", + "Scheduled", + "Cancelled", + "Pending", + "Completed" + ], + "x-ms-enum": { + "name": "PaymentStatus", + "modelAsString": true + } + } + }, + "parameters": { + "ExpandParameter": { + "name": "expand", + "description": "May be used to expand the detail information of some properties.", + "in": "query", + "x-ms-parameter-location": "method", + "required": false, + "type": "string" + }, + "SkipTokenParameter": { + "name": "skiptoken", + "description": "The number of reservations to skip from the list before returning results", + "in": "query", + "x-ms-parameter-location": "method", + "required": false, + "type": "number" + }, + "TakeParameter": { + "name": "take", + "description": "The number of reservations to return in API response.", + "in": "query", + "x-ms-parameter-location": "method", + "required": false, + "type": "number" + }, + "SelectedStateParameter": { + "name": "selectedState", + "description": "The selected provisioning state", + "in": "query", + "x-ms-parameter-location": "method", + "required": false, + "type": "string" + }, + "RefreshSummaryParameter": { + "name": "refreshSummary", + "description": "To indicate whether to refresh the roll up counts of the reservations group by provisioning states", + "in": "query", + "x-ms-parameter-location": "method", + "required": false, + "type": "string" + }, + "ReservationIdParameter": { + "name": "reservationId", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Id of the reservation item" + }, + "ReservationOrderIdParameter": { + "name": "reservationOrderId", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "Order Id of the reservation" + }, + "PatchParameter": { + "name": "body", + "in": "body", + "x-ms-parameter-location": "method", + "required": true, + "description": "Request body for patching a reservation", + "schema": { + "$ref": "#/definitions/Patch" + } + } + }, + "securityDefinitions": { + "azure_auth": { + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "type": "oauth2" + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/transaction.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/transaction.json new file mode 100644 index 000000000000..3b0d5852805b --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/transaction.json @@ -0,0 +1,862 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/transactions": { + "get": { + "tags": [ + "Transaction" + ], + "description": "Lists the billed or unbilled transactions by customer id for given start date and end date. Transactions include purchases, refunds and Azure usage charges. Unbilled transactions are listed under pending invoice Id and do not include tax. Tax is added to the amount once an invoice is generated.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Transactions_ListByCustomer", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "in": "query", + "name": "periodStartDate", + "description": "The start date to fetch the transactions. The date should be specified in MM-DD-YYYY format.", + "required": true, + "type": "string", + "format": "date" + }, + { + "in": "query", + "name": "periodEndDate", + "description": "The end date to fetch the transactions. The date should be specified in MM-DD-YYYY format.", + "required": true, + "type": "string", + "format": "date" + }, + { + "in": "query", + "name": "type", + "description": "The type of transaction.", + "required": true, + "type": "string", + "enum": [ + "Other", + "Billed", + "Unbilled" + ], + "x-ms-enum": { + "name": "TransactionType", + "modelAsString": true + } + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of transactions.", + "schema": { + "$ref": "#/definitions/TransactionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "TransactionsListByCustomer": { + "$ref": "./examples/transactionsListByCustomer.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/transactions": { + "get": { + "tags": [ + "Transaction" + ], + "description": "Lists the billed or unbilled transactions by invoice section name for given start date and end date. Transactions include purchases, refunds and Azure usage charges. Unbilled transactions are listed under pending invoice Id and do not include tax. Tax is added to the amount once an invoice is generated.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Transactions_ListByInvoiceSection", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "in": "query", + "name": "periodStartDate", + "description": "The start date to fetch the transactions. The date should be specified in MM-DD-YYYY format.", + "required": true, + "type": "string", + "format": "date" + }, + { + "in": "query", + "name": "periodEndDate", + "description": "The end date to fetch the transactions. The date should be specified in MM-DD-YYYY format.", + "required": true, + "type": "string", + "format": "date" + }, + { + "in": "query", + "name": "type", + "description": "The type of transaction.", + "required": true, + "type": "string", + "enum": [ + "Other", + "Billed", + "Unbilled" + ], + "x-ms-enum": { + "name": "TransactionType", + "modelAsString": true + } + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of transactions.", + "schema": { + "$ref": "#/definitions/TransactionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "TransactionsListByInvoiceSection": { + "$ref": "./examples/transactionsListByInvoiceSection.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/transactions": { + "get": { + "tags": [ + "Transaction" + ], + "description": "Lists the billed or unbilled transactions by billing profile name for given start and end date. Transactions include purchases, refunds and Azure usage charges. Unbilled transactions are listed under pending invoice Id and do not include tax. Tax is added to the amount once an invoice is generated.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Transactions_ListByBillingProfile", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "in": "query", + "name": "periodStartDate", + "description": "The start date to fetch the transactions. The date should be specified in MM-DD-YYYY format.", + "required": true, + "type": "string", + "format": "date" + }, + { + "in": "query", + "name": "periodEndDate", + "description": "The end date to fetch the transactions. The date should be specified in MM-DD-YYYY format.", + "required": true, + "type": "string", + "format": "date" + }, + { + "in": "query", + "name": "type", + "description": "The type of transaction.", + "required": true, + "type": "string", + "enum": [ + "Other", + "Billed", + "Unbilled" + ], + "x-ms-enum": { + "name": "TransactionType", + "modelAsString": true + } + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of transactions.", + "schema": { + "$ref": "#/definitions/TransactionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "TransactionsListByBillingProfile": { + "$ref": "./examples/transactionsListByBillingProfile.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/transactions": { + "get": { + "tags": [ + "Transaction" + ], + "description": "Lists the transactions for an invoice. Transactions include purchases, refunds and Azure usage charges.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Transactions_ListByInvoice", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/invoiceName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "$ref": "./types.json#/parameters/filter" + }, + { + "$ref": "./types.json#/parameters/orderBy" + }, + { + "$ref": "./types.json#/parameters/top" + }, + { + "$ref": "./types.json#/parameters/skip" + }, + { + "$ref": "./types.json#/parameters/count" + }, + { + "$ref": "./types.json#/parameters/search" + } + ], + "responses": { + "200": { + "description": "The list of transactions.", + "schema": { + "$ref": "#/definitions/TransactionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "TransactionsListByInvoice": { + "$ref": "./examples/transactionsListByInvoice.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/transactionsDownload": { + "post": { + "tags": [ + "Transaction" + ], + "description": "Gets a URL to download the transactions document for an invoice. The operation is supported for billing accounts with agreement type Enterprise Agreement.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Transactions_TransactionsDownloadByInvoice", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/invoiceName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "A secure URL that can be used to download a an entity until the URL expires.", + "schema": { + "$ref": "#/definitions/DocumentDownloadResult" + } + }, + "202": { + "description": "An operation accepted result that returns a 'Location' header that the client can poll to view the result of the operation.", + "headers": { + "Location": { + "type": "string" + }, + "Retry-After": { + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "TransactionsDownloadByInvoice": { + "$ref": "./examples/transactionsDownloadByInvoice.json" + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}/transactionSummary": { + "get": { + "tags": [ + "Transaction" + ], + "description": "Gets the transaction summary for an invoice. Transactions include purchases, refunds and Azure usage charges.", + "externalDocs": { + "url": "https://docs.microsoft.com/en-us/rest/api/billing/" + }, + "operationId": "Transactions_GetTransactionSummaryByInvoice", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/invoiceName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + }, + { + "in": "query", + "name": "filter", + "description": "The filter query option allows clients to filter the line items that are aggregated to create the line item summary.", + "type": "string" + }, + { + "in": "query", + "name": "search", + "description": "The search query option allows clients to filter the line items that are aggregated to create the line item summary.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "A transaction summary.", + "schema": { + "$ref": "#/definitions/TransactionSummary" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "TransactionSummaryGetByInvoice": { + "$ref": "./examples/transactionSummaryGetByInvoice.json" + } + } + } + } + }, + "definitions": { + "DocumentDownloadResult": { + "description": "A secure URL that can be used to download a an entity until the URL expires.", + "type": "object", + "properties": { + "expiryTime": { + "description": "The time in UTC when the download URL will expire.", + "type": "string", + "readOnly": true + }, + "url": { + "description": "The URL to the PDF or .zip file.", + "type": "string", + "readOnly": true + } + } + }, + "RefundTransactionDetails": { + "description": "The refund details of a transaction.", + "type": "object", + "properties": { + "amountRequested": { + "description": "The amount of refund requested.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "amountRefunded": { + "description": "The amount refunded.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "refundOperationId": { + "description": "The ID of refund operation.", + "type": "string" + } + } + }, + "Transaction": { + "description": "A transaction.", + "type": "object", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/TransactionProperties" + } + }, + "x-ms-azure-resource": true + }, + "TransactionListResult": { + "description": "A container for a list of resources", + "type": "object", + "properties": { + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The list of resources.", + "type": "array", + "items": { + "$ref": "#/definitions/Transaction" + }, + "readOnly": true, + "x-ms-identifiers": [ + "id" + ] + } + } + }, + "TransactionProperties": { + "description": "A transaction.", + "type": "object", + "properties": { + "azureCreditApplied": { + "description": "The amount of any Azure credits automatically applied to this transaction.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "azurePlan": { + "description": "Details of the Azure plan.", + "type": "string" + }, + "billingCurrency": { + "description": "The ISO 4217 code for the currency in which this transaction is billed.", + "type": "string" + }, + "billingProfileDisplayName": { + "description": "The name of the billing profile." + }, + "billingProfileId": { + "description": "The fully qualified ID that uniquely identifies a billing profile.", + "type": "string" + }, + "consumptionCommitmentDecremented": { + "description": "The amount of Microsoft Azure Consumption Commitment(MACC) decrement through the transaction.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "customerDisplayName": { + "description": "The name of the customer.", + "type": "string" + }, + "customerId": { + "description": "The fully qualified ID that uniquely identifies a customer.", + "type": "string" + }, + "creditType": { + "description": "The credit type of the transaction. Applies only to credited transactions.", + "enum": [ + "Other", + "AzureFreeCredit", + "AzureCreditOffer", + "ServiceInterruption", + "Refund" + ], + "type": "string", + "x-ms-enum": { + "name": "CreditType", + "modelAsString": true + } + }, + "date": { + "format": "date-time", + "description": "The date of transaction.", + "type": "string" + }, + "discount": { + "description": "The percentage discount, if any, applied to this transaction.", + "type": "number" + }, + "effectivePrice": { + "description": "The price of the product after applying any discounts.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "exchangeRate": { + "description": "The exchange rate used to convert charged amount to billing currency, if applicable.", + "type": "number" + }, + "invoice": { + "description": "Invoice name on which the transaction was billed or 'Pending' if the transaction is not billed.", + "type": "string" + }, + "invoiceId": { + "description": "The fully qualified ID of the invoice on which the transaction was billed. This field is only applicable for transactions which are billed.", + "type": "string" + }, + "invoiceSectionDisplayName": { + "description": "The name of the invoice section.", + "type": "string" + }, + "invoiceSectionId": { + "description": "The fully qualified ID that uniquely identifies an invoice section.", + "type": "string" + }, + "isThirdParty": { + "description": "Whether or not the transaction is third party.", + "type": "boolean" + }, + "kind": { + "description": "Type of the transaction, billed or unbilled.", + "enum": [ + "Other", + "All", + "Reservation" + ], + "type": "string", + "x-ms-enum": { + "name": "TransactionKind", + "modelAsString": true + } + }, + "marketPrice": { + "description": "The retail price of the product.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "partNumber": { + "description": "The part number of the product for which the transaction took place. The field is only applicable for Enterprise Agreement invoices.", + "type": "string" + }, + "pricingCurrency": { + "description": "The ISO 4217 code for the currency in which the product is priced.", + "type": "string" + }, + "productDescription": { + "description": "The description of the product for which the transaction took place.", + "type": "string" + }, + "productFamily": { + "description": "The family of the product for which the transaction took place.", + "type": "string" + }, + "productTypeId": { + "description": "The ID of the product type for which the transaction took place.", + "type": "string" + }, + "productType": { + "description": "The type of the product for which the transaction took place.", + "type": "string" + }, + "quantity": { + "format": "int32", + "description": "The quantity purchased in the transaction.", + "type": "integer" + }, + "reasonCode": { + "description": "There reason code for the transaction.", + "type": "string" + }, + "servicePeriodStartDate": { + "format": "date-time", + "description": "The date of the purchase of the product, or the start date of the month in which usage started.", + "type": "string" + }, + "servicePeriodEndDate": { + "format": "date-time", + "description": "The end date of the product term, or the end date of the month in which usage ended.", + "type": "string" + }, + "subTotal": { + "description": "The pre-tax charged amount for the transaction.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "tax": { + "description": "The tax amount applied to the transaction.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "transactionAmount": { + "description": "The charge associated with the transaction.", + "allOf": [ + { + "$ref": "./types.json#/definitions/Amount" + } + ] + }, + "transactionType": { + "description": "The type of transaction.", + "type": "string" + }, + "units": { + "description": "The number of units used for a given product.", + "type": "number" + }, + "unitOfMeasure": { + "description": "The unit of measure used to bill for the product. For example, compute services are billed per hour.", + "type": "string" + }, + "unitType": { + "description": "The description for the unit of measure for a given product.", + "type": "string" + }, + "specialTaxationType": { + "description": "Identifies the type of tax calculation used for the invoice. The field is applicable only to invoices with special tax calculation logic.", + "enum": [ + "SubtotalLevel", + "InvoiceLevel" + ], + "type": "string", + "x-ms-enum": { + "name": "SpecialTaxationType", + "modelAsString": true + } + }, + "refundTransactionDetails": { + "description": "The refund details of a transaction.", + "allOf": [ + { + "$ref": "#/definitions/RefundTransactionDetails" + } + ] + } + } + }, + "TransactionSummary": { + "description": "A transaction summary.", + "type": "object", + "properties": { + "azureCreditApplied": { + "description": "The total amount of any Azure credits applied.", + "type": "number", + "readOnly": true + }, + "billingCurrency": { + "description": "The ISO 4217 code for the currency in which the transactions are billed.", + "type": "string", + "readOnly": true + }, + "consumptionCommitmentDecremented": { + "description": "The total Microsoft Azure Consumption Commitment (MACC) decrement through the invoice.", + "type": "number", + "readOnly": true + }, + "subTotal": { + "description": "The total pre-tax charged amount.", + "type": "number", + "readOnly": true + }, + "tax": { + "description": "The total tax amount applied.", + "type": "number", + "readOnly": true + }, + "total": { + "description": "The total charges.", + "type": "number", + "readOnly": true + } + } + } + }, + "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." + } + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ] +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/transfers.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/transfers.json new file mode 100644 index 000000000000..8163afc7ea57 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/transfers.json @@ -0,0 +1,1225 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-04-01", + "title": "BillingManagementClient", + "description": "Billing client provides access to billing resources for Azure subscriptions." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/transfers/{transferName}": { + "get": { + "tags": [ + "Transfers" + ], + "description": "Gets a transfer request by ID. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "operationId": "Transfers_Get", + "x-ms-examples": { + "TransferGet": { + "$ref": "./examples/transfersGet.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "#/parameters/transferNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Details of transfer.", + "schema": { + "$ref": "#/definitions/TransferDetails" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Transfers" + ], + "description": "Sends a request to a user in another billing account to transfer billing ownership of their subscriptions. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "operationId": "Transfers_Initiate", + "x-ms-examples": { + "InitiateTransfer": { + "$ref": "./examples/transfersInitiate.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "#/parameters/transferNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/InitiateTransferRequest" + }, + "description": "Request parameters that are provided to the initiate transfer operation." + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Initiated transfer details.", + "schema": { + "$ref": "#/definitions/TransferDetails" + } + }, + "201": { + "description": "Initiated transfer details.", + "schema": { + "$ref": "#/definitions/TransferDetails" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/transfers/{transferName}/cancel": { + "post": { + "tags": [ + "Transfers" + ], + "description": "Cancels a transfer request. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "operationId": "Transfers_Cancel", + "x-ms-examples": { + "TransferCancel": { + "$ref": "./examples/transfersCancel.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "#/parameters/transferNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Details of canceled transfer.", + "schema": { + "$ref": "#/definitions/TransferDetails" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/transfers": { + "get": { + "tags": [ + "Transfers" + ], + "description": "Lists the transfer requests for an invoice section. The operation is supported only for billing accounts with agreement type Microsoft Customer Agreement.", + "operationId": "Transfers_List", + "x-ms-examples": { + "TransfersList": { + "$ref": "./examples/transfersList.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/invoiceSectionName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of transfers initiated from this invoice section.", + "schema": { + "$ref": "#/definitions/TransferDetailsListResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/transfers/{transferName}": { + "get": { + "tags": [ + "Transfers" + ], + "description": "Gets a transfer request by ID. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "operationId": "PartnerTransfers_Get", + "x-ms-examples": { + "PartnerTransferGet": { + "$ref": "./examples/partnerTransfersGet.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "#/parameters/transferNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Details of transfer.", + "schema": { + "$ref": "#/definitions/PartnerTransferDetails" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Transfers" + ], + "description": "Sends a request to a user in a customer's billing account to transfer billing ownership of their subscriptions. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "operationId": "PartnerTransfers_Initiate", + "x-ms-examples": { + "InitiatePartnerTransfer": { + "$ref": "./examples/partnerTransfersInitiate.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "#/parameters/transferNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PartnerInitiateTransferRequest" + }, + "description": "Request parameters that are provided to the initiate transfer operation." + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Initiated transfer details.", + "schema": { + "$ref": "#/definitions/PartnerTransferDetails" + } + }, + "201": { + "description": "Initiated transfer details.", + "schema": { + "$ref": "#/definitions/PartnerTransferDetails" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/transfers/{transferName}/cancel": { + "post": { + "tags": [ + "Transfers" + ], + "description": "Cancels a transfer request. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "operationId": "PartnerTransfers_Cancel", + "x-ms-examples": { + "PartnerTransferCancel": { + "$ref": "./examples/partnerTransfersCancel.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "#/parameters/transferNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Details of canceled transfer.", + "schema": { + "$ref": "#/definitions/PartnerTransferDetails" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/customers/{customerName}/transfers": { + "get": { + "tags": [ + "Transfers" + ], + "description": "Lists the transfer requests sent to a customer. The operation is supported only for billing accounts with agreement type Microsoft Partner Agreement.", + "operationId": "PartnerTransfers_List", + "x-ms-examples": { + "PartnerTransfersList": { + "$ref": "./examples/partnerTransfersList.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/billingAccountName" + }, + { + "$ref": "./types.json#/parameters/billingProfileName" + }, + { + "$ref": "./types.json#/parameters/customerName" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of transfers initiated from this invoice section.", + "schema": { + "$ref": "#/definitions/PartnerTransferDetailsListResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Billing/transfers/{transferName}/accept": { + "post": { + "tags": [ + "RecipientTransfers" + ], + "summary": "Accepts a transfer request.", + "operationId": "RecipientTransfers_Accept", + "x-ms-examples": { + "AcceptTransfer": { + "$ref": "./examples/recipientTransfersAccept.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/transferNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AcceptTransferRequest" + }, + "description": "Request parameters that are provided to the accept transfer operation." + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Details of the accepted transfer.", + "schema": { + "$ref": "#/definitions/RecipientTransferDetails" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/transfers/{transferName}/validate": { + "post": { + "tags": [ + "RecipientTransfers" + ], + "summary": "Validates if a subscription or a reservation can be transferred. Use this operation to validate your subscriptions or reservation before using the accept transfer operation.", + "operationId": "RecipientTransfers_Validate", + "x-ms-examples": { + "ValidateTransfer": { + "$ref": "./examples/recipientTransfersValidate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/transferNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AcceptTransferRequest" + }, + "description": "Request parameters that are provided to the validate transfer operation." + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Results of the transfer validation.", + "schema": { + "$ref": "#/definitions/ValidateTransferListResponse" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/transfers/{transferName}/decline": { + "post": { + "tags": [ + "RecipientTransfers" + ], + "summary": "Declines a transfer request.", + "operationId": "RecipientTransfers_Decline", + "x-ms-examples": { + "DeclineTransfer": { + "$ref": "./examples/recipientTransfersDecline.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/transferNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Details of the declined transfer.", + "schema": { + "$ref": "#/definitions/RecipientTransferDetails" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/transfers/{transferName}": { + "get": { + "tags": [ + "RecipientTransfers" + ], + "summary": "Gets a transfer request by ID. The caller must be the recipient of the transfer request.", + "operationId": "RecipientTransfers_Get", + "x-ms-examples": { + "RecipientTransferGet": { + "$ref": "./examples/recipientTransfersGet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/transferNameParameter" + }, + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Details of the transfers with given Id.", + "schema": { + "$ref": "#/definitions/RecipientTransferDetails" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/providers/Microsoft.Billing/transfers": { + "get": { + "tags": [ + "RecipientTransfers" + ], + "summary": "Lists the transfer requests received by the caller.", + "operationId": "RecipientTransfers_List", + "x-ms-examples": { + "RecipientTransfersList": { + "$ref": "./examples/recipientTransfersList.json" + } + }, + "parameters": [ + { + "$ref": "./types.json#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "List of transfers received by caller.", + "schema": { + "$ref": "#/definitions/RecipientTransferDetailsListResult" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-odata": "#/definitions/TransferItemQueryParameter", + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "InitiateTransferRequest": { + "type": "object", + "description": "Request parameters to initiate transfer.", + "properties": { + "properties": { + "description": "Request parameters to initiate transfer.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/InitiateTransferProperties" + } + } + }, + "InitiateTransferProperties": { + "type": "object", + "description": "Request parameters to initiate transfer.", + "properties": { + "recipientEmailId": { + "type": "string", + "description": "The email ID of the recipient to whom the transfer request is sent." + } + } + }, + "PartnerInitiateTransferRequest": { + "type": "object", + "description": "Request parameters to initiate partner transfer.", + "properties": { + "properties": { + "description": "Request parameters to initiate partner transfer.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/PartnerInitiateTransferProperties" + } + } + }, + "PartnerInitiateTransferProperties": { + "type": "object", + "description": "Request parameters to initiate transfer.", + "properties": { + "recipientEmailId": { + "type": "string", + "description": "The email ID of the recipient to whom the transfer request is sent." + }, + "resellerId": { + "type": "string", + "description": "Optional MPN ID of the reseller for transfer requests that are sent from a Microsoft Partner Agreement billing account." + } + } + }, + "AcceptTransferRequest": { + "type": "object", + "description": "Request parameters to accept transfer.", + "properties": { + "properties": { + "description": "Request parameters to accept transfer.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AcceptTransferProperties" + } + } + }, + "AcceptTransferProperties": { + "type": "object", + "description": "Request parameters to accept transfer.", + "properties": { + "productDetails": { + "description": "Request parameters to accept transfer.", + "type": "array", + "items": { + "$ref": "#/definitions/ProductDetails" + }, + "x-ms-identifiers": [] + } + } + }, + "ProductDetails": { + "type": "object", + "description": "Details of the product that is transferred.", + "properties": { + "productType": { + "description": "Type of the product that is transferred.", + "$ref": "#/definitions/ProductType" + }, + "productId": { + "type": "string", + "description": "The ID of the product that is transferred." + } + } + }, + "ProductType": { + "type": "string", + "description": "The type of product that is transferred.", + "enum": [ + "AzureSubscription", + "AzureReservation", + "Department", + "SavingsPlan", + "SAAS" + ], + "x-ms-enum": { + "name": "productType", + "modelAsString": true + } + }, + "TransferDetails": { + "type": "object", + "description": "Details of the transfer.", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "description": "Details of the transfer.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/TransferProperties" + } + } + }, + "PartnerTransferDetails": { + "type": "object", + "description": "Details of the transfer.", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "description": "Details of the transfer.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/PartnerTransferProperties" + } + } + }, + "RecipientTransferDetails": { + "type": "object", + "description": "Details of the transfer.", + "allOf": [ + { + "$ref": "./types.json#/definitions/ProxyResourceWithTags" + } + ], + "properties": { + "properties": { + "description": "Details of the transfer.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/RecipientTransferProperties" + } + } + }, + "DetailedTransferStatus": { + "type": "object", + "description": "Detailed transfer status.", + "properties": { + "productType": { + "type": "string", + "$ref": "#/definitions/ProductType", + "readOnly": true, + "description": "Type of product that is transferred." + }, + "productId": { + "type": "string", + "readOnly": true, + "description": "The ID of the product that is transferred." + }, + "productName": { + "type": "string", + "readOnly": true, + "description": "The name of the product that is transferred." + }, + "skuDescription": { + "type": "string", + "readOnly": true, + "description": "The SKU of the product that is transferred." + }, + "transferStatus": { + "type": "string", + "$ref": "#/definitions/ProductTransferStatus", + "readOnly": true, + "description": "Transfer status." + }, + "errorDetails": { + "description": "Error details for transfer execution.", + "$ref": "#/definitions/TransferError" + } + } + }, + "TransferError": { + "type": "object", + "description": "Error details for transfer execution.", + "properties": { + "code": { + "type": "string", + "readOnly": true, + "description": "Error code." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "Error message." + } + } + }, + "EligibleProductType": { + "type": "string", + "description": "Type of the products that can be transferred.", + "enum": [ + "DevTestAzureSubscription", + "StandardAzureSubscription", + "AzureReservation" + ], + "x-ms-enum": { + "name": "eligibleProductType", + "modelAsString": true + } + }, + "TransferProperties": { + "description": "Transfer details", + "type": "object", + "properties": { + "expirationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time at which the transfer request expires." + }, + "transferStatus": { + "type": "string", + "$ref": "#/definitions/TransferStatus", + "description": "Overall transfer status.", + "readOnly": true + }, + "recipientEmailId": { + "type": "string", + "readOnly": true, + "description": "The email ID of the user to whom the transfer request was sent." + }, + "initiatorEmailId": { + "type": "string", + "readOnly": true, + "description": "The email ID of the user who sent the transfer request." + }, + "canceledBy": { + "type": "string", + "readOnly": true, + "description": "The email ID of the user who canceled the transfer request." + }, + "detailedTransferStatus": { + "type": "array", + "readOnly": true, + "description": "Detailed transfer status.", + "items": { + "$ref": "#/definitions/DetailedTransferStatus" + }, + "x-ms-identifiers": [] + } + } + }, + "PartnerTransferProperties": { + "description": "Transfer Details.", + "type": "object", + "properties": { + "expirationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time at which the transfer request expires." + }, + "transferStatus": { + "type": "string", + "$ref": "#/definitions/TransferStatus", + "description": "Overall transfer status.", + "readOnly": true + }, + "recipientEmailId": { + "type": "string", + "readOnly": true, + "description": "The email ID of the user to whom the transfer request was sent." + }, + "initiatorCustomerType": { + "type": "string", + "$ref": "#/definitions/InitiatorCustomerType", + "description": "The type of customer who sent the transfer request.", + "readOnly": true + }, + "initiatorEmailId": { + "type": "string", + "readOnly": true, + "description": "The email ID of the user who sent the transfer request." + }, + "resellerId": { + "type": "string", + "description": "Optional MPN ID of the reseller for transfer requests that are sent from a Microsoft Partner Agreement billing account.", + "readOnly": true + }, + "resellerName": { + "type": "string", + "description": "Optional name of the reseller for transfer requests that are sent from Microsoft Partner Agreement billing account.", + "readOnly": true + }, + "canceledBy": { + "type": "string", + "readOnly": true, + "description": "The email ID of the user who canceled the transfer request." + }, + "detailedTransferStatus": { + "type": "array", + "readOnly": true, + "description": "Detailed transfer status.", + "items": { + "$ref": "#/definitions/DetailedTransferStatus" + }, + "x-ms-identifiers": [] + } + } + }, + "RecipientTransferProperties": { + "description": "Transfer Details.", + "type": "object", + "properties": { + "expirationTime": { + "type": "string", + "format": "date-time", + "readOnly": true, + "description": "The time at which the transfer request expires." + }, + "allowedProductType": { + "type": "array", + "readOnly": true, + "description": "Type of subscriptions that can be transferred.", + "items": { + "$ref": "#/definitions/EligibleProductType" + } + }, + "transferStatus": { + "type": "string", + "$ref": "#/definitions/TransferStatus", + "description": "Overall transfer status.", + "readOnly": true + }, + "recipientEmailId": { + "type": "string", + "readOnly": true, + "description": "The email ID of the user to whom the transfer request was sent." + }, + "initiatorEmailId": { + "type": "string", + "readOnly": true, + "description": "The email ID of the user who sent the transfer request." + }, + "resellerId": { + "type": "string", + "description": "Optional MPN ID of the reseller for transfer requests that are sent from a Microsoft Partner Agreement billing account.", + "readOnly": true + }, + "resellerName": { + "type": "string", + "description": "Optional name of the reseller for transfer requests that are sent from Microsoft Partner Agreement billing account.", + "readOnly": true + }, + "initiatorCustomerType": { + "type": "string", + "description": "The type of customer who sent the transfer request.", + "$ref": "#/definitions/InitiatorCustomerType", + "readOnly": true + }, + "canceledBy": { + "type": "string", + "readOnly": true, + "description": "The email ID of the user who canceled the transfer request." + }, + "detailedTransferStatus": { + "type": "array", + "readOnly": true, + "description": "Detailed transfer status.", + "items": { + "$ref": "#/definitions/DetailedTransferStatus" + }, + "x-ms-identifiers": [] + }, + "customerTenantId": { + "type": "string", + "description": "The customer tenant id.", + "readOnly": true + }, + "supportedAccounts": { + "type": "array", + "readOnly": true, + "description": "List of supported account types.", + "items": { + "$ref": "#/definitions/SupportedAccountType" + } + } + } + }, + "InitiatorCustomerType": { + "type": "string", + "description": "The type of customer of the transfer initiator.", + "enum": [ + "Partner", + "EA" + ], + "x-ms-enum": { + "name": "initiatorCustomerType", + "modelAsString": true + } + }, + "TransferStatus": { + "type": "string", + "description": "The status of a transfer.", + "enum": [ + "Expired", + "Pending", + "InProgress", + "Completed", + "CompletedWithErrors", + "Failed", + "Canceled", + "Declined" + ], + "x-ms-enum": { + "name": "transferStatus", + "modelAsString": true + } + }, + "ProductTransferStatus": { + "type": "string", + "description": "The status of a transfer.", + "enum": [ + "NotStarted", + "InProgress", + "Completed", + "Failed" + ], + "x-ms-enum": { + "name": "productTransferStatus", + "modelAsString": true + } + }, + "PartnerTransferDetailsListResult": { + "type": "object", + "description": "The list of transfers initiated by partner.", + "properties": { + "value": { + "description": "The list of transfers initiated by partner.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/PartnerTransferDetails" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "RecipientTransferDetailsListResult": { + "type": "object", + "description": "The list of transfers received by caller.", + "properties": { + "value": { + "description": "The list of transfers received by caller.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RecipientTransferDetails" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "TransferDetailsListResult": { + "type": "object", + "description": "The list of transfers initiated by caller.", + "properties": { + "value": { + "description": "The list of transfers initiated by caller.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/TransferDetails" + } + }, + "nextLink": { + "description": "The link (url) to the next page of results.", + "type": "string", + "readOnly": true + } + } + }, + "ValidateTransferResponse": { + "type": "object", + "description": "Transfer validation response.", + "properties": { + "properties": { + "description": "The properties of transfer validation response.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ValidateTransferResponseProperties" + } + } + }, + "ValidateTransferListResponse": { + "type": "object", + "description": "Result of transfer validation.", + "properties": { + "value": { + "description": "The list of transfer validation results.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ValidateTransferResponse" + }, + "x-ms-identifiers": [] + } + } + }, + "ValidateTransferResponseProperties": { + "type": "object", + "description": "The properties of transfer validation response.", + "properties": { + "status": { + "description": "The status of validation", + "type": "string", + "readOnly": true + }, + "productId": { + "description": "The product id for which this result applies.", + "type": "string", + "readOnly": true + }, + "results": { + "description": "The array of validation results.", + "type": "array", + "items": { + "$ref": "#/definitions/ValidationResultProperties" + }, + "x-ms-identifiers": [] + } + } + }, + "ValidationResultProperties": { + "type": "object", + "description": "The properties of the validation result.", + "properties": { + "level": { + "description": "Result Level.", + "type": "string", + "readOnly": true + }, + "code": { + "description": "Result Code.", + "type": "string", + "readOnly": true + }, + "message": { + "description": "The validation message.", + "type": "string", + "readOnly": true + } + } + }, + "SupportedAccountType": { + "type": "string", + "description": "The supported account types.", + "enum": [ + "None", + "Partner", + "Individual", + "Enterprise" + ], + "x-ms-enum": { + "name": "supportedAccountType", + "modelAsString": true + } + }, + "TransferItemQueryParameter": { + "description": "Query parameter to enumerate transfer requests.", + "type": "object", + "properties": { + "state": { + "description": "State of the transfer request query filter.", + "type": "string" + } + } + } + }, + "parameters": { + "transferNameParameter": { + "name": "transferName", + "x-ms-parameter-location": "method", + "in": "path", + "required": true, + "type": "string", + "description": "The ID that uniquely identifies a transfer request.", + "pattern": "^[a-z0-9]*$" + } + }, + "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" + } + } + } +} diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/types.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/types.json new file mode 100644 index 000000000000..1d1e52f8e390 --- /dev/null +++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2024-04-01/types.json @@ -0,0 +1,363 @@ +{ + "swagger": "2.0", + "info": { + "title": "BillingManagementClient", + "description": "Documentation for Microsoft.Billing.", + "contact": { + "name": "Microsoft.Billing", + "url": "https://learn.microsoft.com/en-us/rest/api/billing/", + "email": "pacebpexphot@microsoft.com" + }, + "version": "2024-04-01" + }, + "paths": {}, + "definitions": { + "ProxyResourceWithTags": { + "description": "Common fields that are returned in the response for all Azure Resource Manager resources.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "tags": { + "description": "Dictionary of metadata associated with the resource. It may not be populated for all resource types. Maximum key/value length supported of 256 characters. Keys/value should not empty value nor null. Keys can not contain < > % & \\ ? /", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-azure-resource": true + }, + "Amount": { + "description": "The amount.", + "type": "object", + "properties": { + "currency": { + "description": "The currency for the amount value.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "The amount value. For example, if the currency is USD, then a value of 600 would be $600.00.", + "type": "number", + "readOnly": true + } + }, + "readOnly": true + }, + "AddressDetails": { + "description": "Address details.", + "required": [ + "addressLine1", + "country" + ], + "type": "object", + "properties": { + "addressLine1": { + "description": "Address line 1.", + "minLength": 1, + "type": "string" + }, + "addressLine2": { + "description": "Address line 2.", + "type": "string" + }, + "addressLine3": { + "description": "Address line 3.", + "type": "string" + }, + "city": { + "description": "Address city.", + "type": "string" + }, + "companyName": { + "description": "Company name. Optional for MCA Individual (Pay-as-you-go).", + "type": "string" + }, + "country": { + "description": "Country code uses ISO 3166-1 Alpha-2 format.", + "minLength": 1, + "type": "string" + }, + "district": { + "description": "Address district.", + "type": "string" + }, + "email": { + "description": "Email address.", + "type": "string" + }, + "firstName": { + "description": "First name. Optional for MCA Enterprise.", + "type": "string" + }, + "lastName": { + "description": "Last name. Optional for MCA Enterprise.", + "type": "string" + }, + "middleName": { + "description": "Middle name.", + "type": "string" + }, + "phoneNumber": { + "description": "Phone number.", + "type": "string" + }, + "postalCode": { + "description": "Postal code.", + "type": "string" + }, + "region": { + "description": "Address region.", + "type": "string" + }, + "isValidAddress": { + "description": "Indicates if the address is incomplete.", + "type": "boolean" + } + } + }, + "AzurePlan": { + "description": "Details of the Azure plan.", + "type": "object", + "properties": { + "productId": { + "description": "The ID that uniquely identifies a product.", + "type": "string" + }, + "skuId": { + "description": "The ID that uniquely identifies a sku.", + "type": "string" + }, + "skuDescription": { + "description": "The sku description.", + "type": "string" + } + } + }, + "IndirectRelationshipInfo": { + "description": "Identifies the billing profile that is linked to another billing profile in indirect purchase motion.", + "type": "object", + "properties": { + "billingAccountName": { + "description": "The billing account name of the partner or the customer for an indirect motion.", + "type": "string" + }, + "billingProfileName": { + "description": "The billing profile name of the partner or the customer for an indirect motion.", + "type": "string" + }, + "displayName": { + "description": "The display name of the partner or customer for an indirect motion.", + "type": "string" + } + } + }, + "PatchResource": { + "description": "Common fields that are in the patch method request body of all Azure Resource Manager patch resources.", + "type": "object" + }, + "Reseller": { + "description": "Details of the reseller.", + "type": "object", + "properties": { + "resellerId": { + "description": "The MPN ID of the reseller.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "The name of the reseller.", + "type": "string", + "readOnly": true + } + }, + "readOnly": true + } + }, + "parameters": { + "billingAccountName": { + "in": "path", + "name": "billingAccountName", + "description": "The ID that uniquely identifies a billing account.", + "required": true, + "type": "string", + "pattern": "^([0-9]+|([Pp][Cc][Nn]\\.[A-Za-z0-9]+)|[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}(:[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}_[0-9]{4}(-[0-9]{2}){2})?)$", + "x-ms-parameter-location": "method" + }, + "apiVersionParameter": { + "in": "query", + "name": "api-version", + "description": "The version of the API to be used with the client request. The current version is 2024-04-01.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "associatedTenantName": { + "in": "path", + "name": "associatedTenantName", + "description": "The ID that uniquely identifies a tenant.", + "required": true, + "type": "string", + "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$", + "x-ms-parameter-location": "method" + }, + "filter": { + "in": "query", + "name": "filter", + "description": "The filter query option allows clients to filter a collection of resources that are addressed by a request URL.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "orderBy": { + "in": "query", + "name": "orderBy", + "description": "The orderby query option allows clients to request resources in a particular order.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "top": { + "in": "query", + "name": "top", + "description": "The top query option requests the number of items in the queried collection to be included in the result. The maximum supported value for top is 50.", + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method" + }, + "skip": { + "in": "query", + "name": "skip", + "description": "The skip query option requests the number of items in the queried collection that are to be skipped and not included in the result.", + "type": "integer", + "format": "int64", + "x-ms-parameter-location": "method" + }, + "count": { + "in": "query", + "name": "count", + "description": "The count query option allows clients to request a count of the matching resources included with the resources in the response.", + "type": "boolean", + "x-ms-parameter-location": "method" + }, + "search": { + "in": "query", + "name": "search", + "description": "The search query option allows clients to request items within a collection matching a free-text search expression. search is only supported for string fields.", + "type": "string", + "x-ms-parameter-location": "method" + }, + "billingProfileName": { + "in": "path", + "name": "billingProfileName", + "description": "The ID that uniquely identifies a billing profile.", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z\\d-_]{1,128}$", + "x-ms-parameter-location": "method" + }, + "customerName": { + "in": "path", + "name": "customerName", + "description": "The ID that uniquely identifies a customer.", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z\\d-_]{1,128}$", + "x-ms-parameter-location": "method" + }, + "invoiceSectionName": { + "in": "path", + "name": "invoiceSectionName", + "description": "The ID that uniquely identifies an invoice section.", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z\\d-_]{1,128}$", + "x-ms-parameter-location": "method" + }, + "departmentName": { + "in": "path", + "name": "departmentName", + "description": "The name of the department.", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z\\d-_]{1,128}$", + "x-ms-parameter-location": "method" + }, + "enrollmentAccountName": { + "in": "path", + "name": "enrollmentAccountName", + "description": "The name of the enrollment account.", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z\\d-_]{1,128}$", + "x-ms-parameter-location": "method" + }, + "subscriptionId": { + "in": "path", + "name": "subscriptionId", + "description": "The ID that uniquely identifies a billing subscription.", + "required": true, + "type": "string", + "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$", + "x-ms-parameter-location": "client" + }, + "billingRequestName": { + "in": "path", + "name": "billingRequestName", + "description": "The ID that uniquely identifies a billing request.", + "required": true, + "type": "string", + "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$", + "x-ms-parameter-location": "method" + }, + "billingRoleAssignmentName": { + "in": "path", + "name": "billingRoleAssignmentName", + "description": "The ID that uniquely identifies a role assignment.", + "required": true, + "type": "string", + "pattern": "^[a-fA-F0-9]{8}[-]?([a-fA-F0-9]{4}[-]?){3}[a-fA-F0-9]{12}(_[a-fA-F0-9]{8}[-]?([a-fA-F0-9]{4}[-]?){3}[a-fA-F0-9]{12})?$", + "x-ms-parameter-location": "method" + }, + "roleDefinitionName": { + "in": "path", + "name": "roleDefinitionName", + "description": "The ID that uniquely identifies a role definition.", + "required": true, + "type": "string", + "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$", + "x-ms-parameter-location": "method" + }, + "invoiceName": { + "in": "path", + "name": "invoiceName", + "description": "The ID that uniquely identifies an invoice.", + "required": true, + "type": "string", + "pattern": "^(H[0-9]-[A-Z0-9]+)$|^(?:([GHT]|HT){1}[A-Z0-9]{9})$|^(?:[D]{1}[A-Z0-9]{9})$|^(?:E{1}[B-Z0-9]{1}[A-Z0-9]{8})$|^(?:EA[A-Z0-9]{8})$", + "x-ms-parameter-location": "method" + }, + "productName": { + "in": "path", + "name": "productName", + "description": "The ID that uniquely identifies a product.", + "required": true, + "type": "string", + "pattern": "^[0-9A-Fa-f]{8}-([0-9A-Fa-f]{4}-){3}[0-9A-Fa-f]{12}$", + "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." + } + } +} diff --git a/specification/billing/resource-manager/readme.md b/specification/billing/resource-manager/readme.md index 53a8d6fb2beb..711240e36286 100644 --- a/specification/billing/resource-manager/readme.md +++ b/specification/billing/resource-manager/readme.md @@ -4,10 +4,10 @@ This is the AutoRest configuration file for Billing. - - --- + ## Getting Started + To build the SDK for Billing, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run: > `autorest` @@ -15,30 +15,251 @@ To build the SDK for Billing, simply [Install AutoRest](https://aka.ms/autorest/ To see additional help and options, run: > `autorest --help` + --- ## Configuration - - ### Basic Information + These are the global settings for the Billing API. -``` yaml +```yaml openapi-type: arm -tag: package-2020-05 +tag: package-2024-04 +``` + +### Tag: package-2024-04 + +These settings apply only when `--tag=package-2024-04` is specified on the command line. + +These settings apply only when `--tag=package-2024-04` is specified on the command line. + +```yaml $(tag) == 'package-2024-04' +title: BillingManagementClient +description: Billing Client +input-file: +- Microsoft.Billing/stable/2024-04-01/agreement.json +- Microsoft.Billing/stable/2024-04-01/associatedTenant.json +- Microsoft.Billing/stable/2024-04-01/availableBalance.json +- Microsoft.Billing/stable/2024-04-01/billingAccount.json +- Microsoft.Billing/stable/2024-04-01/billingPermission.json +- Microsoft.Billing/stable/2024-04-01/billingProfile.json +- Microsoft.Billing/stable/2024-04-01/billingProperty.json +- Microsoft.Billing/stable/2024-04-01/billingRequest.json +- Microsoft.Billing/stable/2024-04-01/billingRoleAssignment.json +- Microsoft.Billing/stable/2024-04-01/billingRoleDefinition.json +- Microsoft.Billing/stable/2024-04-01/billingSavingsPlan.json +- Microsoft.Billing/stable/2024-04-01/billingSubscription.json +- Microsoft.Billing/stable/2024-04-01/customer.json +- Microsoft.Billing/stable/2024-04-01/department.json +- Microsoft.Billing/stable/2024-04-01/enrollmentAccount.json +- Microsoft.Billing/stable/2024-04-01/invoice.json +- Microsoft.Billing/stable/2024-04-01/invoiceSection.json +- Microsoft.Billing/stable/2024-04-01/operation.json +- Microsoft.Billing/stable/2024-04-01/payment.json +- Microsoft.Billing/stable/2024-04-01/policy.json +- Microsoft.Billing/stable/2024-04-01/product.json +- Microsoft.Billing/stable/2024-04-01/reservation.json +- Microsoft.Billing/stable/2024-04-01/transaction.json +- Microsoft.Billing/stable/2024-04-01/transfers.json +- Microsoft.Billing/stable/2024-04-01/types.json +suppressions: +- code: AllProxyResourcesShouldHaveDelete + from: billingRequest.json + reason: Service design forces behavior +- code: AllProxyResourcesShouldHaveDelete + from: billingSubscription.json + reason: Service design forces behavior +- code: AllProxyResourcesShouldHaveDelete + from: policy.json + reason: Service design forces behavior +- code: AllProxyResourcesShouldHaveDelete + from: transfers.json + reason: Service design forces behavior +- code: AllTrackedResourcesMustHaveDelete + from: reservation.json + reason: Breaking change +- code: AvoidAdditionalProperties + from: billingRequest.json + reason: Service design forces behavior +- code: AvoidAdditionalProperties + from: billingSavingsPlan.json + reason: False positive. Used for "tags" +- code: AvoidAdditionalProperties + from: billingSubscription.json + reason: Breaking change +- code: AvoidAdditionalProperties + from: reservation.json + reason: False positive. Used for "tags" +- code: AvoidAnonymousTypes + from: policy.json + reason: Service design forces behavior +- code: EnumInsteadOfBoolean + from: associatedTenant.json + reason: Breaking Change +- code: EnumInsteadOfBoolean + from: billingAccount.json + reason: Breaking Change +- code: EnumInsteadOfBoolean + from: billingProfile.json + reason: Breaking Change +- code: EnumInsteadOfBoolean + from: billingProperty.json + reason: Breaking Change +- code: EnumInsteadOfBoolean + from: billingRoleAssignment.json + reason: Breaking Change +- code: EnumInsteadOfBoolean + from: billingSavingsPlan.json + reason: Breaking Change +- code: EnumInsteadOfBoolean + from: billingSubscription.json + reason: Breaking Change +- code: EnumInsteadOfBoolean + from: enrollmentAccount.json + reason: Breaking Change +- code: EnumInsteadOfBoolean + from: invoice.json + reason: Breaking Change +- code: EnumInsteadOfBoolean + from: invoiceSection.json + reason: Breaking Change +- code: EnumInsteadOfBoolean + from: operation.json + reason: Breaking Change +- code: EnumInsteadOfBoolean + from: product.json + reason: Breaking Change +- code: EnumInsteadOfBoolean + from: reservation.json + reason: Breaking Change +- code: EnumInsteadOfBoolean + from: transaction.json + reason: Breaking Change +- code: EnumInsteadOfBoolean + from: types.json + reason: Breaking Change +- code: EvenSegmentedPathForPutOperation + from: policy.json + reason: False positive +- code: GetCollectionOnlyHasValueAndNextLink + from: billingSavingsPlan.json + reason: Blocked on resolving this issue by wide adoption of partner services +- code: GetCollectionOnlyHasValueAndNextLink + from: billingSubscription.json + reason: Breaking change +- code: GetCollectionOnlyHasValueAndNextLink + from: reservation.json + reason: Breaking change +- code: GetCollectionOnlyHasValueAndNextLink + from: transaction.json + reason: Breaking change +- code: ListInOperationName + from: billingRoleAssignment.json + reason: Breaking Change +- code: ListInOperationName + from: transfers.json + reason: Breaking Change +- code: LroErrorContent + reason: Service design that generates API definition. Type defined in local types.json +- code: OperationIdNounConflictingModelNames + from: billingProperty.json + reason: Breaking Change +- code: OperationIdNounConflictingModelNames + from: billingRoleDefinition.json + reason: Breaking Change +- code: OperationIdNounVerb + from: billingSavingsPlan.json + reason: False positive. SavingsPlan is a child resource of SavingsPlanOrder +- code: OperationIdNounVerb + from: reservation.json + reason: False positive. Reservations can be a child resource of ReservationOrder. +- code: OperationIdNounVerb + from: transaction.json + reason: False positive. TransactionSummary is an aggregation of transactions. +- code: OperationsApiSchemaUsesCommonTypes + from: operation.json + reason: Service design that generates API definition. Type defined in local types.json +- code: ParametersInPointGet + reason: Service design forces this behavior +- code: ParametersInPost + from: billingAccount.json + reason: Breaking change +- code: ParametersInPost + from: billingRoleAssignment.json + reason: Service design forces this behavior +- code: ParametersInPost + from: invoice.json + reason: Breaking Change +- code: ParameterNotDefinedInGlobalParameters + reason: Referenced in common types.json file +- code: ParameterNotUsingCommonTypes + reason: Service design forces this behavior +- code: PathForTrackedResourceTypes + from: reservation.json + reason: Breaking change +- code: PostOperationIdContainsUrlVerb + from: billingAccount.json + reason: Breaking Change +- code: PostOperationIdContainsUrlVerb + from: billingRoleAssignment.json + reason: Breaking Change +- code: PutInOperationName + from: transfers.json + reason: Breaking Change +- code: PutRequestResponseSchemeArm + from: transfers.json + reason: Design ensures only recipients choose products, not initiators, for security and access reasons. +- code: PutResponseCodes + from: billingProfile.json + reason: Breaking change +- code: PutResponseCodes + from: billingSubscription.json + reason: Breaking change +- code: PutResponseCodes + from: invoiceSection.json + reason: Breaking change +- code: ResourceNameRestriction + from: billingSubscription.json + reason: Breaking change +- code: ResourceNameRestriction + from: payment.json + reason: Breaking change +- code: TenantLevelAPIsNotAllowed + reason: Specific validation rules do not apply to this service. Microsoft.Billing is a tenant level RP +- code: TopLevelResourcesListBySubscription + reason: Specific validation rules do not apply to this service. Microsoft.Billing is a tenant level RP +- code: TrackedResourcesMustHavePut + from: reservation.json + reason: Breaking change +- code: XmsPageableForListCalls + from: availableBalance.json + reason: Breaking change +- code: XmsPageableForListCalls + from: billingProperty.json + reason: Breaking change +- code: XmsPageableForListCalls + from: policy.json + reason: Breaking change +- code: XmsPageableForListCalls + from: transaction.json + reason: Breaking change +- code: XmsResourceInPutResponse + from: transfers.json + reason: Service design forces this behavior ``` ### Tag: package-2021-10 These settings apply only when `--tag=package-2021-10` is specified on the command line. -``` yaml $(tag) == 'package-2021-10' +```yaml $(tag) == 'package-2021-10' title: BillingManagementClient description: Billing Client input-file: -- Microsoft.Billing/stable/2021-10-01/billingSubscription.json -- Microsoft.Billing/stable/2021-10-01/payment.json + - Microsoft.Billing/stable/2021-10-01/billingSubscription.json + - Microsoft.Billing/stable/2021-10-01/payment.json directive: - suppress: R4009 from: Microsoft.Billing/stable/2021-10-01/billingSubscription.json @@ -52,90 +273,90 @@ directive: These settings apply only when `--tag=package-2020-05` is specified on the command line. -``` yaml $(tag) == 'package-2020-05' +```yaml $(tag) == 'package-2020-05' input-file: -- Microsoft.Billing/stable/2020-05-01/billing.json -- Microsoft.Billing/preview/2018-03-01-preview/billingV2.json -- Microsoft.Billing/stable/2020-05-01/billingOperations.json + - Microsoft.Billing/stable/2020-05-01/billing.json + - Microsoft.Billing/preview/2018-03-01-preview/billingV2.json + - Microsoft.Billing/stable/2020-05-01/billingOperations.json ``` ### Tag: package-2020-09-preview These settings apply only when `--tag=package-2020-09-preview` is specified on the command line. -``` yaml $(tag) == 'package-2020-09-preview' +```yaml $(tag) == 'package-2020-09-preview' input-file: -- Microsoft.Billing/stable/2020-05-01/billing.json -- Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json -- Microsoft.Billing/preview/2020-09-01-preview/billingOperations.json + - Microsoft.Billing/stable/2020-05-01/billing.json + - Microsoft.Billing/preview/2020-09-01-preview/billingPromotions.json + - Microsoft.Billing/preview/2020-09-01-preview/billingOperations.json ``` ### Tag: package-2020-11-preview 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.Billing/stable/2020-05-01/billing.json -- Microsoft.Billing/preview/2020-11-01-preview/billingPromotions.json -- Microsoft.Billing/preview/2020-11-01-preview/billingOperations.json + - Microsoft.Billing/stable/2020-05-01/billing.json + - Microsoft.Billing/preview/2020-11-01-preview/billingPromotions.json + - Microsoft.Billing/preview/2020-11-01-preview/billingOperations.json ``` ### Tag: package-2019-10-preview These settings apply only when `--tag=package-2019-10-preview` is specified on the command line. -``` yaml $(tag) == 'package-2019-10-preview' +```yaml $(tag) == 'package-2019-10-preview' input-file: -- Microsoft.Billing/preview/2019-10-01-preview/billing.json + - Microsoft.Billing/preview/2019-10-01-preview/billing.json ``` ### Tag: package-2018-11-preview These settings apply only when `--tag=package-2018-11-preview` is specified on the command line. -``` yaml $(tag) == 'package-2018-11-preview' +```yaml $(tag) == 'package-2018-11-preview' input-file: -- Microsoft.Billing/preview/2018-11-01-preview/billing.json + - Microsoft.Billing/preview/2018-11-01-preview/billing.json ``` ### Tag: package-2018-03-preview These settings apply only when `--tag=package-2018-03-preview` is specified on the command line. -``` yaml $(tag) == 'package-2018-03-preview' +```yaml $(tag) == 'package-2018-03-preview' input-file: -- Microsoft.Billing/preview/2018-03-01-preview/billing.json + - Microsoft.Billing/preview/2018-03-01-preview/billing.json ``` ### Tag: package-2017-04-preview These settings apply only when `--tag=package-2017-04-preview` is specified on the command line. -``` yaml $(tag) == 'package-2017-04-preview' +```yaml $(tag) == 'package-2017-04-preview' input-file: -- Microsoft.Billing/preview/2017-04-24-preview/billing.json + - Microsoft.Billing/preview/2017-04-24-preview/billing.json ``` ### Tag: package-2017-02-preview These settings apply only when `--tag=package-2017-02-preview` is specified on the command line. -``` yaml $(tag) == 'package-2017-02-preview' +```yaml $(tag) == 'package-2017-02-preview' input-file: -- Microsoft.Billing/preview/2017-02-27-preview/billing.json + - Microsoft.Billing/preview/2017-02-27-preview/billing.json ``` --- -# Code Generation +# 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) +```yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-net-track2 - repo: azure-sdk-for-python @@ -151,13 +372,12 @@ swagger-to-sdk: - repo: azure-powershell ``` - ## C# These settings apply only when `--csharp` is specified on the command line. Please also specify `--csharp-sdks-folder=`. -``` yaml $(csharp) +```yaml $(csharp) csharp: azure-arm: true license-header: MICROSOFT_MIT_NO_VERSION @@ -179,7 +399,7 @@ See configuration in [readme.go.md](./readme.go.md) These settings apply only when `--java` is specified on the command line. Please also specify `--azure-libraries-for-java-folder=`. -``` yaml $(java) +```yaml $(java) azure-arm: true fluent: true namespace: com.microsoft.azure.management.billing @@ -190,7 +410,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-billing ### Java multi-api -``` yaml $(java) && $(multiapi) +```yaml $(java) && $(multiapi) batch: - tag: package-2021-10 - tag: package-2020-05 @@ -206,7 +426,7 @@ batch: These settings apply only when `--tag=package-2021-10 --java` is specified on the command line. Please also specify `--azure-libraries-for-java=`. -``` yaml $(tag) == 'package-2021-10' && $(java) && $(multiapi) +```yaml $(tag) == 'package-2021-10' && $(java) && $(multiapi) java: namespace: com.microsoft.azure.management.billing.v2021_10_01 output-folder: $(azure-libraries-for-java-folder)/sdk/billing/mgmt-v2021_10_01 @@ -219,7 +439,7 @@ generate-interface: true These settings apply only when `--tag=package-2020-05 --java` is specified on the command line. Please also specify `--azure-libraries-for-java=`. -``` yaml $(tag) == 'package-2020-05' && $(java) && $(multiapi) +```yaml $(tag) == 'package-2020-05' && $(java) && $(multiapi) java: namespace: com.microsoft.azure.management.billing.v2020_05_01 output-folder: $(azure-libraries-for-java-folder)/sdk/billing/mgmt-v2020_05_01 @@ -232,7 +452,7 @@ generate-interface: true These settings apply only when `--tag=package-2019-10-preview --java` is specified on the command line. Please also specify `--azure-libraries-for-java=`. -``` yaml $(tag) == 'package-2019-10-preview' && $(java) && $(multiapi) +```yaml $(tag) == 'package-2019-10-preview' && $(java) && $(multiapi) java: namespace: com.microsoft.azure.management.billing.v2019_10_01_preview output-folder: $(azure-libraries-for-java-folder)/sdk/billing/mgmt-v2019_10_01_preview @@ -245,7 +465,7 @@ generate-interface: true These settings apply only when `--tag=package-2018-11-preview --java` is specified on the command line. Please also specify `--azure-libraries-for-java=`. -``` yaml $(tag) == 'package-2018-11-preview' && $(java) && $(multiapi) +```yaml $(tag) == 'package-2018-11-preview' && $(java) && $(multiapi) java: namespace: com.microsoft.azure.management.billing.v2018_11_01_preview output-folder: $(azure-libraries-for-java-folder)/sdk/billing/mgmt-v2018_11_01_preview @@ -258,7 +478,7 @@ generate-interface: true These settings apply only when `--tag=package-2018-03-preview --java` is specified on the command line. Please also specify `--azure-libraries-for-java=`. -``` yaml $(tag) == 'package-2018-03-preview' && $(java) && $(multiapi) +```yaml $(tag) == 'package-2018-03-preview' && $(java) && $(multiapi) java: namespace: com.microsoft.azure.management.billing.v2018_03_01_preview output-folder: $(azure-libraries-for-java-folder)/sdk/billing/mgmt-v2018_03_01_preview @@ -271,7 +491,7 @@ generate-interface: true These settings apply only when `--tag=package-2017-04-preview --java` is specified on the command line. Please also specify `--azure-libraries-for-java=`. -``` yaml $(tag) == 'package-2017-04-preview' && $(java) && $(multiapi) +```yaml $(tag) == 'package-2017-04-preview' && $(java) && $(multiapi) java: namespace: com.microsoft.azure.management.billing.v2017_04_24_preview output-folder: $(azure-libraries-for-java-folder)/sdk/billing/mgmt-v2017_04_24_preview @@ -284,14 +504,10 @@ generate-interface: true These settings apply only when `--tag=package-2017-02-preview --java` is specified on the command line. Please also specify `--azure-libraries-for-java=`. -``` yaml $(tag) == 'package-2017-02-preview' && $(java) && $(multiapi) +```yaml $(tag) == 'package-2017-02-preview' && $(java) && $(multiapi) java: namespace: com.microsoft.azure.management.billing.v2017_02_27_preview output-folder: $(azure-libraries-for-java-folder)/sdk/billing/mgmt-v2017_02_27_preview regenerate-manager: true generate-interface: true ``` - - - - diff --git a/specification/billing/resource-manager/sdk-suppressions.yaml b/specification/billing/resource-manager/sdk-suppressions.yaml new file mode 100644 index 000000000000..33533051487f --- /dev/null +++ b/specification/billing/resource-manager/sdk-suppressions.yaml @@ -0,0 +1,703 @@ +suppressions: + azure-sdk-for-go: + - package: sdk/resourcemanager/billing/armbilling + breaking-changes: + - Function `*AccountsClient.BeginUpdate` parameter(s) have been changed from `(context.Context, string, AccountUpdateRequest, *AccountsClientBeginUpdateOptions)` to `(context.Context, string, AccountPatch, *AccountsClientBeginUpdateOptions)` + - Function `*CustomersClient.Get` parameter(s) have been changed from `(context.Context, string, string, *CustomersClientGetOptions)` to `(context.Context, string, string, string, *CustomersClientGetOptions)` + - Function `*EnrollmentAccountsClient.Get` parameter(s) have been changed from `(context.Context, string, *EnrollmentAccountsClientGetOptions)` to `(context.Context, string, string, *EnrollmentAccountsClientGetOptions)` + - Function `*InvoicesClient.Get` parameter(s) have been changed from `(context.Context, string, string, *InvoicesClientGetOptions)` to `(context.Context, string, *InvoicesClientGetOptions)` + - Function `*InvoicesClient.NewListByBillingAccountPager` parameter(s) have been changed from `(string, string, string, *InvoicesClientListByBillingAccountOptions)` to `(string, *InvoicesClientListByBillingAccountOptions)` + - Function `*InvoicesClient.NewListByBillingProfilePager` parameter(s) have been changed from `(string, string, string, string, *InvoicesClientListByBillingProfileOptions)` to `(string, string, *InvoicesClientListByBillingProfileOptions)` + - Function `*InvoicesClient.NewListByBillingSubscriptionPager` parameter(s) have been changed from `(string, string, *InvoicesClientListByBillingSubscriptionOptions)` to `(*InvoicesClientListByBillingSubscriptionOptions)` + - Function `*PermissionsClient.NewListByCustomerPager` parameter(s) have been changed from `(string, string, *PermissionsClientListByCustomerOptions)` to `(string, string, string, *PermissionsClientListByCustomerOptions)` + - Function `*PoliciesClient.GetByCustomer` parameter(s) have been changed from `(context.Context, string, string, *PoliciesClientGetByCustomerOptions)` to `(context.Context, string, string, string, ServiceDefinedResourceName, *PoliciesClientGetByCustomerOptions)` + - Function `*ProductsClient.Update` parameter(s) have been changed from `(context.Context, string, string, Product, *ProductsClientUpdateOptions)` to `(context.Context, string, string, ProductPatch, *ProductsClientUpdateOptions)` + - Function `*SubscriptionsClient.BeginMove` parameter(s) have been changed from `(context.Context, string, TransferBillingSubscriptionRequestProperties, *SubscriptionsClientBeginMoveOptions)` to `(context.Context, string, string, MoveBillingSubscriptionRequest, *SubscriptionsClientBeginMoveOptions)` + - Function `*SubscriptionsClient.Get` parameter(s) have been changed from `(context.Context, string, *SubscriptionsClientGetOptions)` to `(context.Context, string, string, *SubscriptionsClientGetOptions)` + - Function `*SubscriptionsClient.NewListByCustomerPager` parameter(s) have been changed from `(string, string, *SubscriptionsClientListByCustomerOptions)` to `(string, string, string, *SubscriptionsClientListByCustomerOptions)` + - Type of `AccountProperties.EnrollmentDetails` has been changed from `*Enrollment` to `*AccountPropertiesEnrollmentDetails` + - Type of `AccountProperties.SoldTo` has been changed from `*AddressDetails` to `*AccountPropertiesSoldTo` + - Type of `AgreementProperties.BillingProfileInfo` has been changed from `*ProfileInfo` to `[]*ProfileInfo` + - Type of `AgreementProperties.Participants` has been changed from `[]*Participants` to `[]*Participant` + - Type of `AvailableBalanceProperties.Amount` has been changed from `*Amount` to `*AvailableBalancePropertiesAmount` + - Type of `CustomerPolicyProperties.ViewCharges` has been changed from `*ViewCharges` to `*ViewChargesPolicy` + - Type of `EnrollmentAccountListResult.Value` has been changed from `[]*EnrollmentAccountSummary` to `[]*EnrollmentAccount` + - Type of `ErrorResponse.Error` has been changed from `*ErrorDetails` to `*ErrorDetail` + - Type of `InvoiceProperties.AmountDue` has been changed from `*Amount` to `*InvoicePropertiesAmountDue` + - Type of `InvoiceProperties.AzurePrepaymentApplied` has been changed from `*Amount` to `*InvoicePropertiesAzurePrepaymentApplied` + - Type of `InvoiceProperties.BilledAmount` has been changed from `*Amount` to `*InvoicePropertiesBilledAmount` + - Type of `InvoiceProperties.CreditAmount` has been changed from `*Amount` to `*InvoicePropertiesCreditAmount` + - Type of `InvoiceProperties.Documents` has been changed from `[]*Document` to `[]*InvoiceDocument` + - Type of `InvoiceProperties.FreeAzureCreditApplied` has been changed from `*Amount` to `*InvoicePropertiesFreeAzureCreditApplied` + - Type of `InvoiceProperties.Payments` has been changed from `[]*PaymentProperties` to `[]*Payment` + - Type of `InvoiceProperties.RebillDetails` has been changed from `map[string]*RebillDetails` to `*InvoicePropertiesRebillDetails` + - Type of `InvoiceProperties.SubTotal` has been changed from `*Amount` to `*InvoicePropertiesSubTotal` + - Type of `InvoiceProperties.TaxAmount` has been changed from `*Amount` to `*InvoicePropertiesTaxAmount` + - Type of `InvoiceProperties.TotalAmount` has been changed from `*Amount` to `*InvoicePropertiesTotalAmount` + - Type of `InvoiceSectionWithCreateSubPermission.BillingProfileSpendingLimit` has been changed from `*SpendingLimitForBillingProfile` to `*SpendingLimit` + - Type of `InvoiceSectionWithCreateSubPermission.BillingProfileStatusReasonCode` has been changed from `*StatusReasonCodeForBillingProfile` to `*BillingProfileStatusReasonCode` + - Type of `ProductProperties.BillingFrequency` has been changed from `*BillingFrequency` to `*string` + - Type of `ProductProperties.EndDate` has been changed from `*time.Time` to `*string` + - Type of `ProductProperties.LastCharge` has been changed from `*Amount` to `*ProductPropertiesLastCharge` + - Type of `ProductProperties.LastChargeDate` has been changed from `*time.Time` to `*string` + - Type of `ProductProperties.PurchaseDate` has been changed from `*time.Time` to `*string` + - Type of `ProductProperties.Quantity` has been changed from `*float32` to `*int64` + - Type of `ProductProperties.Reseller` has been changed from `*Reseller` to `*ProductPropertiesReseller` + - Type of `ProductProperties.Status` has been changed from `*ProductStatusType` to `*ProductStatus` + - Type of `ProfileProperties.BillTo` has been changed from `*AddressDetails` to `*ProfilePropertiesBillTo` + - Type of `ProfileProperties.IndirectRelationshipInfo` has been changed from `*IndirectRelationshipInfo` to `*ProfilePropertiesIndirectRelationshipInfo` + - Type of `ProfileProperties.StatusReasonCode` has been changed from `*StatusReasonCode` to `*BillingProfileStatusReasonCode` + - Type of `PropertyProperties.BillingProfileSpendingLimit` has been changed from `*BillingProfileSpendingLimit` to `*SpendingLimit` + - Type of `RebillDetails.RebillDetails` has been changed from `map[string]*RebillDetails` to `*RebillDetails` + - Type of `ReservationProperty.EffectiveDateTime` has been changed from `*string` to `*time.Time` + - Type of `RoleAssignmentProperties.CreatedOn` has been changed from `*string` to `*time.Time` + - Type of `RoleDefinitionProperties.Permissions` has been changed from `[]*PermissionsProperties` to `[]*Permission` + - Type of `TransactionProperties.AzureCreditApplied` has been changed from `*Amount` to `*TransactionPropertiesAzureCreditApplied` + - Type of `TransactionProperties.EffectivePrice` has been changed from `*Amount` to `*TransactionPropertiesEffectivePrice` + - Type of `TransactionProperties.Kind` has been changed from `*TransactionTypeKind` to `*TransactionKind` + - Type of `TransactionProperties.MarketPrice` has been changed from `*Amount` to `*TransactionPropertiesMarketPrice` + - Type of `TransactionProperties.SubTotal` has been changed from `*Amount` to `*TransactionPropertiesSubTotal` + - Type of `TransactionProperties.Tax` has been changed from `*Amount` to `*TransactionPropertiesTax` + - Type of `TransactionProperties.TransactionAmount` has been changed from `*Amount` to `*TransactionPropertiesTransactionAmount` + - Type of `TransactionProperties.TransactionType` has been changed from `*ReservationType` to `*string` + - "`InvoiceTypeAzureService` from enum `InvoiceType` has been removed" + - "`SubscriptionTransferValidationErrorCodeNotAvailableForDestinationMarket` from enum `SubscriptionTransferValidationErrorCode` has been removed" + - Enum `BillingFrequency` has been removed + - Enum `BillingProfileSpendingLimit` has been removed + - Enum `BillingSubscriptionStatusType` has been removed + - Enum `DocumentType` has been removed + - Enum `ProductStatusType` has been removed + - Enum `ProductTransferValidationErrorCode` has been removed + - Enum `ReservationType` has been removed + - Enum `SpendingLimitForBillingProfile` has been removed + - Enum `StatusReasonCode` has been removed + - Enum `StatusReasonCodeForBillingProfile` has been removed + - Enum `TransactionTypeKind` has been removed + - Enum `ViewCharges` has been removed + - Function `*AvailableBalancesClient.Get` has been removed + - Function `*ClientFactory.NewInstructionsClient` has been removed + - Function `*ClientFactory.NewPeriodsClient` has been removed + - Function `*ClientFactory.NewRoleDefinitionsClient` has been removed + - Function `*EnrollmentAccountsClient.NewListPager` has been removed + - Function `NewInstructionsClient` has been removed + - Function `*InstructionsClient.Get` has been removed + - Function `*InstructionsClient.NewListByBillingProfilePager` has been removed + - Function `*InstructionsClient.Put` has been removed + - Function `*InvoicesClient.BeginDownloadBillingSubscriptionInvoice` has been removed + - Function `*InvoicesClient.BeginDownloadInvoice` has been removed + - Function `*InvoicesClient.BeginDownloadMultipleBillingProfileInvoices` has been removed + - Function `*InvoicesClient.BeginDownloadMultipleBillingSubscriptionInvoices` has been removed + - Function `*InvoicesClient.GetByID` has been removed + - Function `*InvoicesClient.GetBySubscriptionAndInvoiceID` has been removed + - Function `NewPeriodsClient` has been removed + - Function `*PeriodsClient.Get` has been removed + - Function `*PeriodsClient.NewListPager` has been removed + - Function `*PermissionsClient.NewListByInvoiceSectionsPager` has been removed + - Function `*PoliciesClient.Update` has been removed + - Function `*PoliciesClient.UpdateCustomer` has been removed + - Function `PossibleStatusReasonCodeValues` has been removed + - Function `*ProductsClient.ValidateMove` has been removed + - Function `NewRoleDefinitionsClient` has been removed + - Function `*RoleDefinitionsClient.GetByBillingAccount` has been removed + - Function `*RoleDefinitionsClient.GetByBillingProfile` has been removed + - Function `*RoleDefinitionsClient.GetByInvoiceSection` has been removed + - Function `*RoleDefinitionsClient.NewListByBillingAccountPager` has been removed + - Function `*RoleDefinitionsClient.NewListByBillingProfilePager` has been removed + - Function `*RoleDefinitionsClient.NewListByInvoiceSectionPager` has been removed + - Function `*SubscriptionsClient.ValidateMove` has been removed + - Operation `*ProductsClient.Move` has been changed to LRO, use `*ProductsClient.BeginMove` instead. + - Operation `*SubscriptionsClient.Update` has been changed to LRO, use `*SubscriptionsClient.BeginUpdate` instead. + - Struct `AccountUpdateRequest` has been removed + - Struct `Document` has been removed + - Struct `DownloadURL` has been removed + - Struct `Enrollment` has been removed + - Struct `EnrollmentAccountContext` has been removed + - Struct `EnrollmentAccountSummary` has been removed + - Struct `EnrollmentAccountSummaryProperties` has been removed + - Struct `EnrollmentPolicies` has been removed + - Struct `ErrorDetails` has been removed + - Struct `ErrorSubDetailsItem` has been removed + - Struct `Instruction` has been removed + - Struct `InstructionListResult` has been removed + - Struct `InstructionProperties` has been removed + - Struct `InvoiceSectionCreationRequest` has been removed + - Struct `InvoiceSectionListWithCreateSubPermissionResult` has been removed + - Struct `InvoiceSectionsOnExpand` has been removed + - Struct `OperationsErrorDetails` has been removed + - Struct `OperationsErrorResponse` has been removed + - Struct `Participants` has been removed + - Struct `PaymentProperties` has been removed + - Struct `Period` has been removed + - Struct `PeriodProperties` has been removed + - Struct `PeriodsListResult` has been removed + - Struct `PermissionsListResult` has been removed + - Struct `PermissionsProperties` has been removed + - Struct `Policy` has been removed + - Struct `PolicyProperties` has been removed + - Struct `ProductsListResult` has been removed + - Struct `ProfileCreationRequest` has been removed + - Struct `ProfilesOnExpand` has been removed + - Struct `SubscriptionsListResult` has been removed + - Struct `TransferBillingSubscriptionRequestProperties` has been removed + - Struct `TransferProductRequestProperties` has been removed + - Struct `ValidateAddressResponse` has been removed + - Struct `ValidateProductTransferEligibilityError` has been removed + - Struct `ValidateProductTransferEligibilityResult` has been removed + - Struct `ValidateSubscriptionTransferEligibilityError` has been removed + - Struct `ValidateSubscriptionTransferEligibilityResult` has been removed + - Field `BillingProfiles`, `Departments`, `EnrollmentAccounts` of struct `AccountProperties` has been removed + - Field `Expand` of struct `AccountsClientGetOptions` has been removed + - Field `InvoiceSectionListWithCreateSubPermissionResult` of struct `AccountsClientListInvoiceSectionsByCreateSubscriptionPermissionResponse` has been removed + - Field `ValidateAddressResponse` of struct `AddressClientValidateResponse` has been removed + - Field `Expand` of struct `AgreementsClientGetOptions` has been removed + - Field `TotalCount` of struct `CustomerListResult` has been removed + - Field `Expand` of struct `CustomersClientGetOptions` has been removed + - Field `DepartmentName`, `EnrollmentAccounts` of struct `DepartmentProperties` has been removed + - Field `AccountName`, `AccountOwnerEmail`, `Department` of struct `EnrollmentAccountProperties` has been removed + - Field `EnrollmentAccountSummary` of struct `EnrollmentAccountsClientGetResponse` has been removed + - Field `TotalCount` of struct `InvoiceListResult` has been removed + - Field `TotalCount` of struct `InvoiceSectionListResult` has been removed + - Field `Labels` of struct `InvoiceSectionProperties` has been removed + - Field `PermissionsListResult` of struct `PermissionsClientListByBillingAccountResponse` has been removed + - Field `PermissionsListResult` of struct `PermissionsClientListByBillingProfileResponse` has been removed + - Field `PermissionsListResult` of struct `PermissionsClientListByCustomerResponse` has been removed + - Field `Policy` of struct `PoliciesClientGetByBillingProfileResponse` has been removed + - Field `ProductsListResult` of struct `ProductsClientListByBillingAccountResponse` has been removed + - Field `ProductsListResult` of struct `ProductsClientListByBillingProfileResponse` has been removed + - Field `ProductsListResult` of struct `ProductsClientListByCustomerResponse` has been removed + - Field `ProductsListResult` of struct `ProductsClientListByInvoiceSectionResponse` has been removed + - Field `TotalCount` of struct `ProfileListResult` has been removed + - Field `InvoiceSections` of struct `ProfileProperties` has been removed + - Field `Expand` of struct `ProfilesClientGetOptions` has been removed + - Field `Expand` of struct `ProfilesClientListByBillingAccountOptions` has been removed + - Field `Orderby` of struct `ReservationsClientListByBillingAccountOptions` has been removed + - Field `Orderby` of struct `ReservationsClientListByBillingProfileOptions` has been removed + - Field `RoleAssignment` of struct `RoleAssignmentsClientDeleteByBillingAccountResponse` has been removed + - Field `RoleAssignment` of struct `RoleAssignmentsClientDeleteByBillingProfileResponse` has been removed + - Field `RoleAssignment` of struct `RoleAssignmentsClientDeleteByInvoiceSectionResponse` has been removed + - Field `CostCenter`, `SubscriptionBillingStatus` of struct `SubscriptionProperties` has been removed + - Field `SubscriptionsListResult` of struct `SubscriptionsClientListByBillingAccountResponse` has been removed + - Field `SubscriptionsListResult` of struct `SubscriptionsClientListByBillingProfileResponse` has been removed + - Field `SubscriptionsListResult` of struct `SubscriptionsClientListByCustomerResponse` has been removed + - Field `SubscriptionsListResult` of struct `SubscriptionsClientListByInvoiceSectionResponse` has been removed + - Field `TotalCount` of struct `TransactionListResult` has been removed + - Field `OrderID`, `OrderName`, `SubscriptionID`, `SubscriptionName` of struct `TransactionProperties` has been removed + + ### Features Added + + - Type of `TransactionProperties.BillingProfileDisplayName` has been changed from `*string` to `any` + - New value `AcceptanceModeImplicit`, `AcceptanceModeOffline`, `AcceptanceModeOther`, `AcceptanceModePhysicalSign` added to enum type `AcceptanceMode` + - New value `AccountStatusNew`, `AccountStatusOther`, `AccountStatusPending`, `AccountStatusUnderReview` added to enum type `AccountStatus` + - New value `AccountTypeBusiness`, `AccountTypeClassicPartner`, `AccountTypeInternal`, `AccountTypeOther`, `AccountTypeReseller`, `AccountTypeTenant` added to enum type `AccountType` + - New value `AddressValidationStatusOther` added to enum type `AddressValidationStatus` + - New value `AgreementTypeOther` added to enum type `AgreementType` + - New value `BillingProfileStatusDeleted`, `BillingProfileStatusOther`, `BillingProfileStatusUnderReview` added to enum type `BillingProfileStatus` + - New value `BillingProfileStatusReasonCodeOther`, `BillingProfileStatusReasonCodeUnusualActivity` added to enum type `BillingProfileStatusReasonCode` + - New value `BillingRelationshipTypeCSPCustomer`, `BillingRelationshipTypeOther` added to enum type `BillingRelationshipType` + - New value `CategoryIndirectForGovernmentAgreement`, `CategoryMicrosoftPartnerAgreement`, `CategoryUKCloudComputeFramework` added to enum type `Category` + - New value `DocumentSourceOther` added to enum type `DocumentSource` + - New value `InvoiceDocumentTypeOther`, `InvoiceDocumentTypeSummary`, `InvoiceDocumentTypeTaxReceipt`, `InvoiceDocumentTypeTransactions`, `InvoiceDocumentTypeVoidNote` added to enum type `InvoiceDocumentType` + - New value `InvoiceSectionStateDeleted`, `InvoiceSectionStateDisabled`, `InvoiceSectionStateOther`, `InvoiceSectionStateUnderReview`, `InvoiceSectionStateWarned` added to enum type `InvoiceSectionState` + - New value `InvoiceStatusLocked`, `InvoiceStatusOther` added to enum type `InvoiceStatus` + - New value `InvoiceTypeAzureServices`, `InvoiceTypeOther` added to enum type `InvoiceType` + - New value `MarketplacePurchasesPolicyDisabled`, `MarketplacePurchasesPolicyOther` added to enum type `MarketplacePurchasesPolicy` + - New value `PaymentMethodFamilyDirectDebit`, `PaymentMethodFamilyEWallet`, `PaymentMethodFamilyOther`, `PaymentMethodFamilyTaskOrder` added to enum type `PaymentMethodFamily` + - New value `ReservationPurchasesPolicyDisabled`, `ReservationPurchasesPolicyOther` added to enum type `ReservationPurchasesPolicy` + - New value `SubscriptionTransferValidationErrorCodeAccountIsLocked`, `SubscriptionTransferValidationErrorCodeAssetHasCap`, `SubscriptionTransferValidationErrorCodeAssetNotActive`, `SubscriptionTransferValidationErrorCodeBillingProfilePastDue`, `SubscriptionTransferValidationErrorCodeInvoiceSectionIsRestricted`, `SubscriptionTransferValidationErrorCodeNoActiveAzurePlan`, `SubscriptionTransferValidationErrorCodeNone`, `SubscriptionTransferValidationErrorCodeOther`, `SubscriptionTransferValidationErrorCodeSubscriptionHasReservations` added to enum type `SubscriptionTransferValidationErrorCode` + - New value `TargetCloudInternal`, `TargetCloudOther` added to enum type `TargetCloud` + - New value `ViewChargesPolicyOther` added to enum type `ViewChargesPolicy` + - New enum type `AccessDecision` with values `AccessDecisionAllowed`, `AccessDecisionNotAllowed`, `AccessDecisionOther` + - New enum type `AccountSubType` with values `AccountSubTypeEnterprise`, `AccountSubTypeIndividual`, `AccountSubTypeNone`, `AccountSubTypeOther`, `AccountSubTypeProfessional` + - New enum type `AppliedScopeType` with values `AppliedScopeTypeManagementGroup`, `AppliedScopeTypeShared`, `AppliedScopeTypeSingle` + - New enum type `BillingAccountStatusReasonCode` with values `BillingAccountStatusReasonCodeExpired`, `BillingAccountStatusReasonCodeManuallyTerminated`, `BillingAccountStatusReasonCodeOther`, `BillingAccountStatusReasonCodeTerminateProcessing`, `BillingAccountStatusReasonCodeTransferred`, `BillingAccountStatusReasonCodeUnusualActivity` + - New enum type `BillingManagementTenantState` with values `BillingManagementTenantStateActive`, `BillingManagementTenantStateNotAllowed`, `BillingManagementTenantStateOther`, `BillingManagementTenantStateRevoked` + - New enum type `BillingPlan` with values `BillingPlanP1M` + - New enum type `BillingRequestStatus` with values `BillingRequestStatusApproved`, `BillingRequestStatusCancelled`, `BillingRequestStatusCompleted`, `BillingRequestStatusDeclined`, `BillingRequestStatusExpired`, `BillingRequestStatusOther`, `BillingRequestStatusPending` + - New enum type `BillingRequestType` with values `BillingRequestTypeInvoiceAccess`, `BillingRequestTypeOther`, `BillingRequestTypeProvisioningAccess`, `BillingRequestTypeRoleAssignment`, `BillingRequestTypeUpdateBillingPolicy` + - New enum type `BillingSubscriptionOperationStatus` with values `BillingSubscriptionOperationStatusLockedForUpdate`, `BillingSubscriptionOperationStatusNone`, `BillingSubscriptionOperationStatusOther` + - New enum type `BillingSubscriptionStatus` with values `BillingSubscriptionStatusActive`, `BillingSubscriptionStatusAutoRenew`, `BillingSubscriptionStatusCancelled`, `BillingSubscriptionStatusDeleted`, `BillingSubscriptionStatusDisabled`, `BillingSubscriptionStatusExpired`, `BillingSubscriptionStatusExpiring`, `BillingSubscriptionStatusFailed`, `BillingSubscriptionStatusOther`, `BillingSubscriptionStatusSuspended`, `BillingSubscriptionStatusUnknown`, `BillingSubscriptionStatusWarned` + - New enum type `Cancellation` with values `CancellationAllowed`, `CancellationNotAllowed` + - New enum type `CancellationReason` with values `CancellationReasonCompromise`, `CancellationReasonDispute`, `CancellationReasonOther` + - New enum type `CommitmentGrain` with values `CommitmentGrainHourly` + - New enum type `CreatedByType` with values `CreatedByTypeApplication`, `CreatedByTypeKey`, `CreatedByTypeManagedIdentity`, `CreatedByTypeUser` + - New enum type `CreditType` with values `CreditTypeAzureCreditOffer`, `CreditTypeAzureFreeCredit`, `CreditTypeOther`, `CreditTypeRefund`, `CreditTypeServiceInterruption` + - New enum type `CustomerStatus` with values `CustomerStatusActive`, `CustomerStatusDeleted`, `CustomerStatusDisabled`, `CustomerStatusOther`, `CustomerStatusPending`, `CustomerStatusUnderReview`, `CustomerStatusWarned` + - New enum type `DeleteBillingProfileEligibilityCode` with values `DeleteBillingProfileEligibilityCodeActiveBillingSubscriptions`, `DeleteBillingProfileEligibilityCodeActiveCreditCard`, `DeleteBillingProfileEligibilityCodeActiveCredits`, `DeleteBillingProfileEligibilityCodeLastBillingProfile`, `DeleteBillingProfileEligibilityCodeNone`, `DeleteBillingProfileEligibilityCodeNotSupported`, `DeleteBillingProfileEligibilityCodeOutstandingCharges`, `DeleteBillingProfileEligibilityCodePendingCharges`, `DeleteBillingProfileEligibilityCodeReservedInstances` + - New enum type `DeleteBillingProfileEligibilityStatus` with values `DeleteBillingProfileEligibilityStatusAllowed`, `DeleteBillingProfileEligibilityStatusNotAllowed` + - New enum type `DeleteInvoiceSectionEligibilityCode` with values `DeleteInvoiceSectionEligibilityCodeActiveAzurePlans`, `DeleteInvoiceSectionEligibilityCodeActiveBillingSubscriptions`, `DeleteInvoiceSectionEligibilityCodeLastInvoiceSection`, `DeleteInvoiceSectionEligibilityCodeOther`, `DeleteInvoiceSectionEligibilityCodeReservedInstances` + - New enum type `DeleteInvoiceSectionEligibilityStatus` with values `DeleteInvoiceSectionEligibilityStatusAllowed`, `DeleteInvoiceSectionEligibilityStatusNotAllowed` + - New enum type `EligibleProductType` with values `EligibleProductTypeAzureReservation`, `EligibleProductTypeDevTestAzureSubscription`, `EligibleProductTypeStandardAzureSubscription` + - New enum type `EnrollmentAccountOwnerViewCharges` with values `EnrollmentAccountOwnerViewChargesAllowed`, `EnrollmentAccountOwnerViewChargesDisabled`, `EnrollmentAccountOwnerViewChargesNotAllowed`, `EnrollmentAccountOwnerViewChargesOther` + - New enum type `EnrollmentAuthLevelState` with values `EnrollmentAuthLevelStateMicrosoftAccountOnly`, `EnrollmentAuthLevelStateMixedAccount`, `EnrollmentAuthLevelStateOrganizationalAccountCrossTenant`, `EnrollmentAuthLevelStateOrganizationalAccountOnly`, `EnrollmentAuthLevelStateOther` + - New enum type `EnrollmentDepartmentAdminViewCharges` with values `EnrollmentDepartmentAdminViewChargesAllowed`, `EnrollmentDepartmentAdminViewChargesDisabled`, `EnrollmentDepartmentAdminViewChargesNotAllowed`, `EnrollmentDepartmentAdminViewChargesOther` + - New enum type `ExtendedTermOption` with values `ExtendedTermOptionOptedIn`, `ExtendedTermOptionOptedOut`, `ExtendedTermOptionOther` + - New enum type `FailedPaymentReason` with values `FailedPaymentReasonBankDeclined`, `FailedPaymentReasonCardExpired`, `FailedPaymentReasonIncorrectCardDetails`, `FailedPaymentReasonOther` + - New enum type `InitiatorCustomerType` with values `InitiatorCustomerTypeEA`, `InitiatorCustomerTypePartner` + - New enum type `InstanceFlexibility` with values `InstanceFlexibilityOff`, `InstanceFlexibilityOn` + - New enum type `InvoiceSectionLabelManagementPolicy` with values `InvoiceSectionLabelManagementPolicyAllowed`, `InvoiceSectionLabelManagementPolicyNotAllowed`, `InvoiceSectionLabelManagementPolicyOther` + - New enum type `InvoiceSectionStateReasonCode` with values `InvoiceSectionStateReasonCodeOther`, `InvoiceSectionStateReasonCodePastDue`, `InvoiceSectionStateReasonCodeSpendingLimitExpired`, `InvoiceSectionStateReasonCodeSpendingLimitReached`, `InvoiceSectionStateReasonCodeUnusualActivity` + - New enum type `MarkupStatus` with values `MarkupStatusDisabled`, `MarkupStatusLocked`, `MarkupStatusOther`, `MarkupStatusPreview`, `MarkupStatusPublished` + - New enum type `MoveValidationErrorCode` with values `MoveValidationErrorCodeBillingAccountInactive`, `MoveValidationErrorCodeDestinationBillingProfileInactive`, `MoveValidationErrorCodeDestinationBillingProfileNotFound`, `MoveValidationErrorCodeDestinationBillingProfilePastDue`, `MoveValidationErrorCodeDestinationInvoiceSectionInactive`, `MoveValidationErrorCodeDestinationInvoiceSectionNotFound`, `MoveValidationErrorCodeInsufficientPermissionOnDestination`, `MoveValidationErrorCodeInsufficientPermissionOnSource`, `MoveValidationErrorCodeInvalidDestination`, `MoveValidationErrorCodeInvalidSource`, `MoveValidationErrorCodeMarketplaceNotEnabledOnDestination`, `MoveValidationErrorCodeOther`, `MoveValidationErrorCodeProductInactive`, `MoveValidationErrorCodeProductNotFound`, `MoveValidationErrorCodeProductTypeNotSupported`, `MoveValidationErrorCodeSourceBillingProfilePastDue`, `MoveValidationErrorCodeSourceInvoiceSectionInactive` + - New enum type `PaymentMethodStatus` with values `PaymentMethodStatusActive`, `PaymentMethodStatusInactive` + - New enum type `PaymentStatus` with values `PaymentStatusCancelled`, `PaymentStatusCompleted`, `PaymentStatusFailed`, `PaymentStatusPending`, `PaymentStatusScheduled`, `PaymentStatusSucceeded` + - New enum type `PaymentTermsEligibilityCode` with values `PaymentTermsEligibilityCodeBillingAccountNotFound`, `PaymentTermsEligibilityCodeInactiveBillingAccount`, `PaymentTermsEligibilityCodeIneligibleBillingAccountStatus`, `PaymentTermsEligibilityCodeInvalidBillingAccountType`, `PaymentTermsEligibilityCodeInvalidDateFormat`, `PaymentTermsEligibilityCodeInvalidDateRange`, `PaymentTermsEligibilityCodeInvalidTerms`, `PaymentTermsEligibilityCodeNullOrEmptyPaymentTerms`, `PaymentTermsEligibilityCodeOther`, `PaymentTermsEligibilityCodeOverlappingPaymentTerms` + - New enum type `PaymentTermsEligibilityStatus` with values `PaymentTermsEligibilityStatusInvalid`, `PaymentTermsEligibilityStatusOther`, `PaymentTermsEligibilityStatusValid` + - New enum type `PolicyType` with values `PolicyTypeOther`, `PolicyTypeSystemControlled`, `PolicyTypeUserControlled` + - New enum type `PrincipalType` with values `PrincipalTypeDirectoryRole`, `PrincipalTypeEveryone`, `PrincipalTypeGroup`, `PrincipalTypeNone`, `PrincipalTypeServicePrincipal`, `PrincipalTypeUnknown`, `PrincipalTypeUser` + - New enum type `ProductStatus` with values `ProductStatusActive`, `ProductStatusAutoRenew`, `ProductStatusCanceled`, `ProductStatusDeleted`, `ProductStatusDisabled`, `ProductStatusExpired`, `ProductStatusExpiring`, `ProductStatusOther`, `ProductStatusPastDue`, `ProductStatusSuspended` + - New enum type `ProductTransferStatus` with values `ProductTransferStatusCompleted`, `ProductTransferStatusFailed`, `ProductTransferStatusInProgress`, `ProductTransferStatusNotStarted` + - New enum type `ProductType` with values `ProductTypeAzureReservation`, `ProductTypeAzureSubscription`, `ProductTypeDepartment`, `ProductTypeSAAS`, `ProductTypeSavingsPlan` + - New enum type `ProvisioningState` with values `ProvisioningStateCanceled`, `ProvisioningStateConfirmedBilling`, `ProvisioningStateCreated`, `ProvisioningStateCreating`, `ProvisioningStateExpired`, `ProvisioningStateFailed`, `ProvisioningStateNew`, `ProvisioningStatePending`, `ProvisioningStatePendingBilling`, `ProvisioningStateProvisioning`, `ProvisioningStateSucceeded` + - New enum type `ProvisioningTenantState` with values `ProvisioningTenantStateActive`, `ProvisioningTenantStateBillingRequestDeclined`, `ProvisioningTenantStateBillingRequestExpired`, `ProvisioningTenantStateNotRequested`, `ProvisioningTenantStateOther`, `ProvisioningTenantStatePending`, `ProvisioningTenantStateRevoked` + - New enum type `RefundReasonCode` with values `RefundReasonCodeAccidentalConversion`, `RefundReasonCodeAccidentalPurchase`, `RefundReasonCodeForgotToCancel`, `RefundReasonCodeOther`, `RefundReasonCodeUnclearDocumentation`, `RefundReasonCodeUnclearPricing` + - New enum type `RefundStatus` with values `RefundStatusApproved`, `RefundStatusCancelled`, `RefundStatusCompleted`, `RefundStatusDeclined`, `RefundStatusExpired`, `RefundStatusOther`, `RefundStatusPending` + - New enum type `ReservationBillingPlan` with values `ReservationBillingPlanMonthly`, `ReservationBillingPlanUpfront` + - New enum type `ReservationStatusCode` with values `ReservationStatusCodeActive`, `ReservationStatusCodeCapacityError`, `ReservationStatusCodeCapacityRestricted`, `ReservationStatusCodeCreditLineCheckFailed`, `ReservationStatusCodeExchanged`, `ReservationStatusCodeExpired`, `ReservationStatusCodeMerged`, `ReservationStatusCodeNoBenefit`, `ReservationStatusCodeNoBenefitDueToSubscriptionDeletion`, `ReservationStatusCodeNoBenefitDueToSubscriptionTransfer`, `ReservationStatusCodeNone`, `ReservationStatusCodePaymentInstrumentError`, `ReservationStatusCodePending`, `ReservationStatusCodeProcessing`, `ReservationStatusCodePurchaseError`, `ReservationStatusCodeRiskCheckFailed`, `ReservationStatusCodeSplit`, `ReservationStatusCodeSucceeded`, `ReservationStatusCodeUnknownError`, `ReservationStatusCodeWarning` + - New enum type `SavingsPlanPurchasesPolicy` with values `SavingsPlanPurchasesPolicyAllowed`, `SavingsPlanPurchasesPolicyDisabled`, `SavingsPlanPurchasesPolicyNotAllowed`, `SavingsPlanPurchasesPolicyOther` + - New enum type `SavingsPlanTerm` with values `SavingsPlanTermP1Y`, `SavingsPlanTermP3Y`, `SavingsPlanTermP5Y` + - New enum type `ServiceDefinedResourceName` with values `ServiceDefinedResourceNameDefault` + - New enum type `SpecialTaxationType` with values `SpecialTaxationTypeInvoiceLevel`, `SpecialTaxationTypeSubtotalLevel` + - New enum type `SpendingLimitStatus` with values `SpendingLimitStatusActive`, `SpendingLimitStatusExpired`, `SpendingLimitStatusLimitReached`, `SpendingLimitStatusLimitRemoved`, `SpendingLimitStatusNone`, `SpendingLimitStatusOther` + - New enum type `SpendingLimitType` with values `SpendingLimitTypeAcademicSponsorship`, `SpendingLimitTypeAzureConsumptionCredit`, `SpendingLimitTypeAzureForStudents`, `SpendingLimitTypeAzureForStudentsStarter`, `SpendingLimitTypeAzurePassSponsorship`, `SpendingLimitTypeFreeAccount`, `SpendingLimitTypeMSDN`, `SpendingLimitTypeMpnSponsorship`, `SpendingLimitTypeNonProfitSponsorship`, `SpendingLimitTypeNone`, `SpendingLimitTypeOther`, `SpendingLimitTypeSandbox`, `SpendingLimitTypeSponsorship`, `SpendingLimitTypeStartupSponsorship`, `SpendingLimitTypeVisualStudio` + - New enum type `SubscriptionBillingType` with values `SubscriptionBillingTypeBenefit`, `SubscriptionBillingTypeFree`, `SubscriptionBillingTypeNone`, `SubscriptionBillingTypePaid`, `SubscriptionBillingTypePrePaid` + - New enum type `SubscriptionEnrollmentAccountStatus` with values `SubscriptionEnrollmentAccountStatusActive`, `SubscriptionEnrollmentAccountStatusCancelled`, `SubscriptionEnrollmentAccountStatusDeleted`, `SubscriptionEnrollmentAccountStatusExpired`, `SubscriptionEnrollmentAccountStatusInactive`, `SubscriptionEnrollmentAccountStatusTransferredOut`, `SubscriptionEnrollmentAccountStatusTransferring` + - New enum type `SubscriptionStatusReason` with values `SubscriptionStatusReasonCancelled`, `SubscriptionStatusReasonExpired`, `SubscriptionStatusReasonNone`, `SubscriptionStatusReasonOther`, `SubscriptionStatusReasonPastDue`, `SubscriptionStatusReasonPolicyViolation`, `SubscriptionStatusReasonSpendingLimitReached`, `SubscriptionStatusReasonSuspiciousActivity`, `SubscriptionStatusReasonTransferred` + - New enum type `SubscriptionWorkloadType` with values `SubscriptionWorkloadTypeDevTest`, `SubscriptionWorkloadTypeInternal`, `SubscriptionWorkloadTypeNone`, `SubscriptionWorkloadTypeProduction` + - New enum type `SupportLevel` with values `SupportLevelDeveloper`, `SupportLevelOther`, `SupportLevelProDirect`, `SupportLevelStandard` + - New enum type `SupportedAccountType` with values `SupportedAccountTypeEnterprise`, `SupportedAccountTypeIndividual`, `SupportedAccountTypeNone`, `SupportedAccountTypePartner` + - New enum type `TaxIdentifierStatus` with values `TaxIdentifierStatusInvalid`, `TaxIdentifierStatusOther`, `TaxIdentifierStatusValid` + - New enum type `TaxIdentifierType` with values `TaxIdentifierTypeBrazilCcmID`, `TaxIdentifierTypeBrazilCnpjID`, `TaxIdentifierTypeBrazilCpfID`, `TaxIdentifierTypeCanadianFederalExempt`, `TaxIdentifierTypeCanadianProvinceExempt`, `TaxIdentifierTypeExternalTaxation`, `TaxIdentifierTypeIndiaFederalServiceTaxID`, `TaxIdentifierTypeIndiaFederalTanID`, `TaxIdentifierTypeIndiaPanID`, `TaxIdentifierTypeIndiaStateCstID`, `TaxIdentifierTypeIndiaStateGstINID`, `TaxIdentifierTypeIndiaStateVatID`, `TaxIdentifierTypeIntlExempt`, `TaxIdentifierTypeLoveCode`, `TaxIdentifierTypeMobileBarCode`, `TaxIdentifierTypeNationalIdentificationNumber`, `TaxIdentifierTypeOther`, `TaxIdentifierTypePublicSectorID`, `TaxIdentifierTypeUSExempt`, `TaxIdentifierTypeVatID` + - New enum type `TransactionKind` with values `TransactionKindAll`, `TransactionKindOther`, `TransactionKindReservation` + - New enum type `TransactionType` with values `TransactionTypeBilled`, `TransactionTypeOther`, `TransactionTypeUnbilled` + - New enum type `TransferStatus` with values `TransferStatusCanceled`, `TransferStatusCompleted`, `TransferStatusCompletedWithErrors`, `TransferStatusDeclined`, `TransferStatusExpired`, `TransferStatusFailed`, `TransferStatusInProgress`, `TransferStatusPending` + - New function `*AccountsClient.BeginAddPaymentTerms(context.Context, string, []*PaymentTerm, *AccountsClientBeginAddPaymentTermsOptions) (*runtime.Poller[AccountsClientAddPaymentTermsResponse], error)` + - New function `*AccountsClient.BeginCancelPaymentTerms(context.Context, string, time.Time, *AccountsClientBeginCancelPaymentTermsOptions) (*runtime.Poller[AccountsClientCancelPaymentTermsResponse], error)` + - New function `*AccountsClient.ConfirmTransition(context.Context, string, *AccountsClientConfirmTransitionOptions) (AccountsClientConfirmTransitionResponse, error)` + - New function `*AccountsClient.ValidatePaymentTerms(context.Context, string, []*PaymentTerm, *AccountsClientValidatePaymentTermsOptions) (AccountsClientValidatePaymentTermsResponse, error)` + - New function `NewAssociatedTenantsClient(azcore.TokenCredential, *arm.ClientOptions) (*AssociatedTenantsClient, error)` + - New function `*AssociatedTenantsClient.BeginCreateOrUpdate(context.Context, string, string, AssociatedTenant, *AssociatedTenantsClientBeginCreateOrUpdateOptions) (*runtime.Poller[AssociatedTenantsClientCreateOrUpdateResponse], error)` + - New function `*AssociatedTenantsClient.BeginDelete(context.Context, string, string, *AssociatedTenantsClientBeginDeleteOptions) (*runtime.Poller[AssociatedTenantsClientDeleteResponse], error)` + - New function `*AssociatedTenantsClient.Get(context.Context, string, string, *AssociatedTenantsClientGetOptions) (AssociatedTenantsClientGetResponse, error)` + - New function `*AssociatedTenantsClient.NewListByBillingAccountPager(string, *AssociatedTenantsClientListByBillingAccountOptions) *runtime.Pager[AssociatedTenantsClientListByBillingAccountResponse]` + - New function `*AvailableBalancesClient.GetByBillingAccount(context.Context, string, *AvailableBalancesClientGetByBillingAccountOptions) (AvailableBalancesClientGetByBillingAccountResponse, error)` + - New function `*AvailableBalancesClient.GetByBillingProfile(context.Context, string, string, *AvailableBalancesClientGetByBillingProfileOptions) (AvailableBalancesClientGetByBillingProfileResponse, error)` + - New function `*ClientFactory.NewAssociatedTenantsClient() *AssociatedTenantsClient` + - New function `*ClientFactory.NewDepartmentsClient() *DepartmentsClient` + - New function `*ClientFactory.NewPartnerTransfersClient() *PartnerTransfersClient` + - New function `*ClientFactory.NewPaymentMethodsClient() *PaymentMethodsClient` + - New function `*ClientFactory.NewRecipientTransfersClient() *RecipientTransfersClient` + - New function `*ClientFactory.NewRequestsClient() *RequestsClient` + - New function `*ClientFactory.NewReservationOrdersClient() *ReservationOrdersClient` + - New function `*ClientFactory.NewRoleDefinitionClient() *RoleDefinitionClient` + - New function `*ClientFactory.NewSavingsPlanOrdersClient() *SavingsPlanOrdersClient` + - New function `*ClientFactory.NewSavingsPlansClient() *SavingsPlansClient` + - New function `*ClientFactory.NewSubscriptionsAliasesClient() *SubscriptionsAliasesClient` + - New function `*ClientFactory.NewTransfersClient() *TransfersClient` + - New function `*CustomersClient.GetByBillingAccount(context.Context, string, string, *CustomersClientGetByBillingAccountOptions) (CustomersClientGetByBillingAccountResponse, error)` + - New function `NewDepartmentsClient(azcore.TokenCredential, *arm.ClientOptions) (*DepartmentsClient, error)` + - New function `*DepartmentsClient.Get(context.Context, string, string, *DepartmentsClientGetOptions) (DepartmentsClientGetResponse, error)` + - New function `*DepartmentsClient.NewListByBillingAccountPager(string, *DepartmentsClientListByBillingAccountOptions) *runtime.Pager[DepartmentsClientListByBillingAccountResponse]` + - New function `*EnrollmentAccountsClient.GetByDepartment(context.Context, string, string, string, *EnrollmentAccountsClientGetByDepartmentOptions) (EnrollmentAccountsClientGetByDepartmentResponse, error)` + - New function `*EnrollmentAccountsClient.NewListByBillingAccountPager(string, *EnrollmentAccountsClientListByBillingAccountOptions) *runtime.Pager[EnrollmentAccountsClientListByBillingAccountResponse]` + - New function `*EnrollmentAccountsClient.NewListByDepartmentPager(string, string, *EnrollmentAccountsClientListByDepartmentOptions) *runtime.Pager[EnrollmentAccountsClientListByDepartmentResponse]` + - New function `*InvoiceSectionsClient.BeginDelete(context.Context, string, string, string, *InvoiceSectionsClientBeginDeleteOptions) (*runtime.Poller[InvoiceSectionsClientDeleteResponse], error)` + - New function `*InvoiceSectionsClient.ValidateDeleteEligibility(context.Context, string, string, string, *InvoiceSectionsClientValidateDeleteEligibilityOptions) (InvoiceSectionsClientValidateDeleteEligibilityResponse, error)` + - New function `*InvoicesClient.BeginAmend(context.Context, string, string, *InvoicesClientBeginAmendOptions) (*runtime.Poller[InvoicesClientAmendResponse], error)` + - New function `*InvoicesClient.BeginDownloadByBillingAccount(context.Context, string, string, *InvoicesClientBeginDownloadByBillingAccountOptions) (*runtime.Poller[InvoicesClientDownloadByBillingAccountResponse], error)` + - New function `*InvoicesClient.BeginDownloadByBillingSubscription(context.Context, string, *InvoicesClientBeginDownloadByBillingSubscriptionOptions) (*runtime.Poller[InvoicesClientDownloadByBillingSubscriptionResponse], error)` + - New function `*InvoicesClient.BeginDownloadDocumentsByBillingAccount(context.Context, string, []*DocumentDownloadRequest, *InvoicesClientBeginDownloadDocumentsByBillingAccountOptions) (*runtime.Poller[InvoicesClientDownloadDocumentsByBillingAccountResponse], error)` + - New function `*InvoicesClient.BeginDownloadDocumentsByBillingSubscription(context.Context, []*DocumentDownloadRequest, *InvoicesClientBeginDownloadDocumentsByBillingSubscriptionOptions) (*runtime.Poller[InvoicesClientDownloadDocumentsByBillingSubscriptionResponse], error)` + - New function `*InvoicesClient.BeginDownloadSummaryByBillingAccount(context.Context, string, string, *InvoicesClientBeginDownloadSummaryByBillingAccountOptions) (*runtime.Poller[InvoicesClientDownloadSummaryByBillingAccountResponse], error)` + - New function `*InvoicesClient.GetByBillingAccount(context.Context, string, string, *InvoicesClientGetByBillingAccountOptions) (InvoicesClientGetByBillingAccountResponse, error)` + - New function `*InvoicesClient.GetByBillingSubscription(context.Context, string, *InvoicesClientGetByBillingSubscriptionOptions) (InvoicesClientGetByBillingSubscriptionResponse, error)` + - New function `NewPartnerTransfersClient(azcore.TokenCredential, *arm.ClientOptions) (*PartnerTransfersClient, error)` + - New function `*PartnerTransfersClient.Cancel(context.Context, string, string, string, string, *PartnerTransfersClientCancelOptions) (PartnerTransfersClientCancelResponse, error)` + - New function `*PartnerTransfersClient.Get(context.Context, string, string, string, string, *PartnerTransfersClientGetOptions) (PartnerTransfersClientGetResponse, error)` + - New function `*PartnerTransfersClient.Initiate(context.Context, string, string, string, string, PartnerInitiateTransferRequest, *PartnerTransfersClientInitiateOptions) (PartnerTransfersClientInitiateResponse, error)` + - New function `*PartnerTransfersClient.NewListPager(string, string, string, *PartnerTransfersClientListOptions) *runtime.Pager[PartnerTransfersClientListResponse]` + - New function `NewPaymentMethodsClient(azcore.TokenCredential, *arm.ClientOptions) (*PaymentMethodsClient, error)` + - New function `*PaymentMethodsClient.BeginDeleteAtBillingProfile(context.Context, string, string, string, *PaymentMethodsClientBeginDeleteAtBillingProfileOptions) (*runtime.Poller[PaymentMethodsClientDeleteAtBillingProfileResponse], error)` + - New function `*PaymentMethodsClient.DeleteByUser(context.Context, string, *PaymentMethodsClientDeleteByUserOptions) (PaymentMethodsClientDeleteByUserResponse, error)` + - New function `*PaymentMethodsClient.GetByBillingAccount(context.Context, string, string, *PaymentMethodsClientGetByBillingAccountOptions) (PaymentMethodsClientGetByBillingAccountResponse, error)` + - New function `*PaymentMethodsClient.GetByBillingProfile(context.Context, string, string, string, *PaymentMethodsClientGetByBillingProfileOptions) (PaymentMethodsClientGetByBillingProfileResponse, error)` + - New function `*PaymentMethodsClient.GetByUser(context.Context, string, *PaymentMethodsClientGetByUserOptions) (PaymentMethodsClientGetByUserResponse, error)` + - New function `*PaymentMethodsClient.NewListByBillingAccountPager(string, *PaymentMethodsClientListByBillingAccountOptions) *runtime.Pager[PaymentMethodsClientListByBillingAccountResponse]` + - New function `*PaymentMethodsClient.NewListByBillingProfilePager(string, string, *PaymentMethodsClientListByBillingProfileOptions) *runtime.Pager[PaymentMethodsClientListByBillingProfileResponse]` + - New function `*PaymentMethodsClient.NewListByUserPager(*PaymentMethodsClientListByUserOptions) *runtime.Pager[PaymentMethodsClientListByUserResponse]` + - New function `*PermissionsClient.CheckAccessByBillingAccount(context.Context, string, CheckAccessRequest, *PermissionsClientCheckAccessByBillingAccountOptions) (PermissionsClientCheckAccessByBillingAccountResponse, error)` + - New function `*PermissionsClient.CheckAccessByBillingProfile(context.Context, string, string, CheckAccessRequest, *PermissionsClientCheckAccessByBillingProfileOptions) (PermissionsClientCheckAccessByBillingProfileResponse, error)` + - New function `*PermissionsClient.CheckAccessByCustomer(context.Context, string, string, string, CheckAccessRequest, *PermissionsClientCheckAccessByCustomerOptions) (PermissionsClientCheckAccessByCustomerResponse, error)` + - New function `*PermissionsClient.CheckAccessByDepartment(context.Context, string, string, CheckAccessRequest, *PermissionsClientCheckAccessByDepartmentOptions) (PermissionsClientCheckAccessByDepartmentResponse, error)` + - New function `*PermissionsClient.CheckAccessByEnrollmentAccount(context.Context, string, string, CheckAccessRequest, *PermissionsClientCheckAccessByEnrollmentAccountOptions) (PermissionsClientCheckAccessByEnrollmentAccountResponse, error)` + - New function `*PermissionsClient.CheckAccessByInvoiceSection(context.Context, string, string, string, CheckAccessRequest, *PermissionsClientCheckAccessByInvoiceSectionOptions) (PermissionsClientCheckAccessByInvoiceSectionResponse, error)` + - New function `*PermissionsClient.NewListByCustomerAtBillingAccountPager(string, string, *PermissionsClientListByCustomerAtBillingAccountOptions) *runtime.Pager[PermissionsClientListByCustomerAtBillingAccountResponse]` + - New function `*PermissionsClient.NewListByDepartmentPager(string, string, *PermissionsClientListByDepartmentOptions) *runtime.Pager[PermissionsClientListByDepartmentResponse]` + - New function `*PermissionsClient.NewListByEnrollmentAccountPager(string, string, *PermissionsClientListByEnrollmentAccountOptions) *runtime.Pager[PermissionsClientListByEnrollmentAccountResponse]` + - New function `*PermissionsClient.NewListByInvoiceSectionPager(string, string, string, *PermissionsClientListByInvoiceSectionOptions) *runtime.Pager[PermissionsClientListByInvoiceSectionResponse]` + - New function `*PoliciesClient.BeginCreateOrUpdateByBillingAccount(context.Context, string, AccountPolicy, *PoliciesClientBeginCreateOrUpdateByBillingAccountOptions) (*runtime.Poller[PoliciesClientCreateOrUpdateByBillingAccountResponse], error)` + - New function `*PoliciesClient.BeginCreateOrUpdateByBillingProfile(context.Context, string, string, ProfilePolicy, *PoliciesClientBeginCreateOrUpdateByBillingProfileOptions) (*runtime.Poller[PoliciesClientCreateOrUpdateByBillingProfileResponse], error)` + - New function `*PoliciesClient.BeginCreateOrUpdateByCustomer(context.Context, string, string, string, CustomerPolicy, *PoliciesClientBeginCreateOrUpdateByCustomerOptions) (*runtime.Poller[PoliciesClientCreateOrUpdateByCustomerResponse], error)` + - New function `*PoliciesClient.BeginCreateOrUpdateByCustomerAtBillingAccount(context.Context, string, string, CustomerPolicy, *PoliciesClientBeginCreateOrUpdateByCustomerAtBillingAccountOptions) (*runtime.Poller[PoliciesClientCreateOrUpdateByCustomerAtBillingAccountResponse], error)` + - New function `*PoliciesClient.GetByBillingAccount(context.Context, string, *PoliciesClientGetByBillingAccountOptions) (PoliciesClientGetByBillingAccountResponse, error)` + - New function `*PoliciesClient.GetByCustomerAtBillingAccount(context.Context, string, string, *PoliciesClientGetByCustomerAtBillingAccountOptions) (PoliciesClientGetByCustomerAtBillingAccountResponse, error)` + - New function `*PoliciesClient.GetBySubscription(context.Context, *PoliciesClientGetBySubscriptionOptions) (PoliciesClientGetBySubscriptionResponse, error)` + - New function `PossibleCancellationValues() []Cancellation` + - New function `*ProductsClient.ValidateMoveEligibility(context.Context, string, string, MoveProductRequest, *ProductsClientValidateMoveEligibilityOptions) (ProductsClientValidateMoveEligibilityResponse, error)` + - New function `*ProfilesClient.BeginDelete(context.Context, string, string, *ProfilesClientBeginDeleteOptions) (*runtime.Poller[ProfilesClientDeleteResponse], error)` + - New function `*ProfilesClient.ValidateDeleteEligibility(context.Context, string, string, *ProfilesClientValidateDeleteEligibilityOptions) (ProfilesClientValidateDeleteEligibilityResponse, error)` + - New function `NewRecipientTransfersClient(azcore.TokenCredential, *arm.ClientOptions) (*RecipientTransfersClient, error)` + - New function `*RecipientTransfersClient.Accept(context.Context, string, AcceptTransferRequest, *RecipientTransfersClientAcceptOptions) (RecipientTransfersClientAcceptResponse, error)` + - New function `*RecipientTransfersClient.Decline(context.Context, string, *RecipientTransfersClientDeclineOptions) (RecipientTransfersClientDeclineResponse, error)` + - New function `*RecipientTransfersClient.Get(context.Context, string, *RecipientTransfersClientGetOptions) (RecipientTransfersClientGetResponse, error)` + - New function `*RecipientTransfersClient.NewListPager(*RecipientTransfersClientListOptions) *runtime.Pager[RecipientTransfersClientListResponse]` + - New function `*RecipientTransfersClient.Validate(context.Context, string, AcceptTransferRequest, *RecipientTransfersClientValidateOptions) (RecipientTransfersClientValidateResponse, error)` + - New function `NewRequestsClient(azcore.TokenCredential, *arm.ClientOptions) (*RequestsClient, error)` + - New function `*RequestsClient.BeginCreateOrUpdate(context.Context, string, Request, *RequestsClientBeginCreateOrUpdateOptions) (*runtime.Poller[RequestsClientCreateOrUpdateResponse], error)` + - New function `*RequestsClient.Get(context.Context, string, *RequestsClientGetOptions) (RequestsClientGetResponse, error)` + - New function `*RequestsClient.NewListByBillingAccountPager(string, *RequestsClientListByBillingAccountOptions) *runtime.Pager[RequestsClientListByBillingAccountResponse]` + - New function `*RequestsClient.NewListByBillingProfilePager(string, string, *RequestsClientListByBillingProfileOptions) *runtime.Pager[RequestsClientListByBillingProfileResponse]` + - New function `*RequestsClient.NewListByCustomerPager(string, string, string, *RequestsClientListByCustomerOptions) *runtime.Pager[RequestsClientListByCustomerResponse]` + - New function `*RequestsClient.NewListByInvoiceSectionPager(string, string, string, *RequestsClientListByInvoiceSectionOptions) *runtime.Pager[RequestsClientListByInvoiceSectionResponse]` + - New function `*RequestsClient.NewListByUserPager(*RequestsClientListByUserOptions) *runtime.Pager[RequestsClientListByUserResponse]` + - New function `NewReservationOrdersClient(azcore.TokenCredential, *arm.ClientOptions) (*ReservationOrdersClient, error)` + - New function `*ReservationOrdersClient.GetByBillingAccount(context.Context, string, string, *ReservationOrdersClientGetByBillingAccountOptions) (ReservationOrdersClientGetByBillingAccountResponse, error)` + - New function `*ReservationOrdersClient.NewListByBillingAccountPager(string, *ReservationOrdersClientListByBillingAccountOptions) *runtime.Pager[ReservationOrdersClientListByBillingAccountResponse]` + - New function `*ReservationsClient.GetByReservationOrder(context.Context, string, string, string, *ReservationsClientGetByReservationOrderOptions) (ReservationsClientGetByReservationOrderResponse, error)` + - New function `*ReservationsClient.NewListByReservationOrderPager(string, string, *ReservationsClientListByReservationOrderOptions) *runtime.Pager[ReservationsClientListByReservationOrderResponse]` + - New function `*ReservationsClient.BeginUpdateByBillingAccount(context.Context, string, string, string, Patch, *ReservationsClientBeginUpdateByBillingAccountOptions) (*runtime.Poller[ReservationsClientUpdateByBillingAccountResponse], error)` + - New function `*RoleAssignmentsClient.BeginCreateByBillingAccount(context.Context, string, RoleAssignmentProperties, *RoleAssignmentsClientBeginCreateByBillingAccountOptions) (*runtime.Poller[RoleAssignmentsClientCreateByBillingAccountResponse], error)` + - New function `*RoleAssignmentsClient.BeginCreateByBillingProfile(context.Context, string, string, RoleAssignmentProperties, *RoleAssignmentsClientBeginCreateByBillingProfileOptions) (*runtime.Poller[RoleAssignmentsClientCreateByBillingProfileResponse], error)` + - New function `*RoleAssignmentsClient.BeginCreateByCustomer(context.Context, string, string, string, RoleAssignmentProperties, *RoleAssignmentsClientBeginCreateByCustomerOptions) (*runtime.Poller[RoleAssignmentsClientCreateByCustomerResponse], error)` + - New function `*RoleAssignmentsClient.BeginCreateByInvoiceSection(context.Context, string, string, string, RoleAssignmentProperties, *RoleAssignmentsClientBeginCreateByInvoiceSectionOptions) (*runtime.Poller[RoleAssignmentsClientCreateByInvoiceSectionResponse], error)` + - New function `*RoleAssignmentsClient.BeginCreateOrUpdateByBillingAccount(context.Context, string, string, RoleAssignment, *RoleAssignmentsClientBeginCreateOrUpdateByBillingAccountOptions) (*runtime.Poller[RoleAssignmentsClientCreateOrUpdateByBillingAccountResponse], error)` + - New function `*RoleAssignmentsClient.BeginCreateOrUpdateByDepartment(context.Context, string, string, string, RoleAssignment, *RoleAssignmentsClientBeginCreateOrUpdateByDepartmentOptions) (*runtime.Poller[RoleAssignmentsClientCreateOrUpdateByDepartmentResponse], error)` + - New function `*RoleAssignmentsClient.BeginCreateOrUpdateByEnrollmentAccount(context.Context, string, string, string, RoleAssignment, *RoleAssignmentsClientBeginCreateOrUpdateByEnrollmentAccountOptions) (*runtime.Poller[RoleAssignmentsClientCreateOrUpdateByEnrollmentAccountResponse], error)` + - New function `*RoleAssignmentsClient.DeleteByCustomer(context.Context, string, string, string, string, *RoleAssignmentsClientDeleteByCustomerOptions) (RoleAssignmentsClientDeleteByCustomerResponse, error)` + - New function `*RoleAssignmentsClient.DeleteByDepartment(context.Context, string, string, string, *RoleAssignmentsClientDeleteByDepartmentOptions) (RoleAssignmentsClientDeleteByDepartmentResponse, error)` + - New function `*RoleAssignmentsClient.DeleteByEnrollmentAccount(context.Context, string, string, string, *RoleAssignmentsClientDeleteByEnrollmentAccountOptions) (RoleAssignmentsClientDeleteByEnrollmentAccountResponse, error)` + - New function `*RoleAssignmentsClient.GetByCustomer(context.Context, string, string, string, string, *RoleAssignmentsClientGetByCustomerOptions) (RoleAssignmentsClientGetByCustomerResponse, error)` + - New function `*RoleAssignmentsClient.GetByDepartment(context.Context, string, string, string, *RoleAssignmentsClientGetByDepartmentOptions) (RoleAssignmentsClientGetByDepartmentResponse, error)` + - New function `*RoleAssignmentsClient.GetByEnrollmentAccount(context.Context, string, string, string, *RoleAssignmentsClientGetByEnrollmentAccountOptions) (RoleAssignmentsClientGetByEnrollmentAccountResponse, error)` + - New function `*RoleAssignmentsClient.NewListByCustomerPager(string, string, string, *RoleAssignmentsClientListByCustomerOptions) *runtime.Pager[RoleAssignmentsClientListByCustomerResponse]` + - New function `*RoleAssignmentsClient.NewListByDepartmentPager(string, string, *RoleAssignmentsClientListByDepartmentOptions) *runtime.Pager[RoleAssignmentsClientListByDepartmentResponse]` + - New function `*RoleAssignmentsClient.NewListByEnrollmentAccountPager(string, string, *RoleAssignmentsClientListByEnrollmentAccountOptions) *runtime.Pager[RoleAssignmentsClientListByEnrollmentAccountResponse]` + - New function `*RoleAssignmentsClient.BeginResolveByBillingAccount(context.Context, string, *RoleAssignmentsClientBeginResolveByBillingAccountOptions) (*runtime.Poller[RoleAssignmentsClientResolveByBillingAccountResponse], error)` + - New function `*RoleAssignmentsClient.BeginResolveByBillingProfile(context.Context, string, string, *RoleAssignmentsClientBeginResolveByBillingProfileOptions) (*runtime.Poller[RoleAssignmentsClientResolveByBillingProfileResponse], error)` + - New function `*RoleAssignmentsClient.BeginResolveByCustomer(context.Context, string, string, string, *RoleAssignmentsClientBeginResolveByCustomerOptions) (*runtime.Poller[RoleAssignmentsClientResolveByCustomerResponse], error)` + - New function `*RoleAssignmentsClient.BeginResolveByInvoiceSection(context.Context, string, string, string, *RoleAssignmentsClientBeginResolveByInvoiceSectionOptions) (*runtime.Poller[RoleAssignmentsClientResolveByInvoiceSectionResponse], error)` + - New function `NewRoleDefinitionClient(azcore.TokenCredential, *arm.ClientOptions) (*RoleDefinitionClient, error)` + - New function `*RoleDefinitionClient.GetByBillingAccount(context.Context, string, string, *RoleDefinitionClientGetByBillingAccountOptions) (RoleDefinitionClientGetByBillingAccountResponse, error)` + - New function `*RoleDefinitionClient.GetByBillingProfile(context.Context, string, string, string, *RoleDefinitionClientGetByBillingProfileOptions) (RoleDefinitionClientGetByBillingProfileResponse, error)` + - New function `*RoleDefinitionClient.GetByCustomer(context.Context, string, string, string, string, *RoleDefinitionClientGetByCustomerOptions) (RoleDefinitionClientGetByCustomerResponse, error)` + - New function `*RoleDefinitionClient.GetByDepartment(context.Context, string, string, string, *RoleDefinitionClientGetByDepartmentOptions) (RoleDefinitionClientGetByDepartmentResponse, error)` + - New function `*RoleDefinitionClient.GetByEnrollmentAccount(context.Context, string, string, string, *RoleDefinitionClientGetByEnrollmentAccountOptions) (RoleDefinitionClientGetByEnrollmentAccountResponse, error)` + - New function `*RoleDefinitionClient.GetByInvoiceSection(context.Context, string, string, string, string, *RoleDefinitionClientGetByInvoiceSectionOptions) (RoleDefinitionClientGetByInvoiceSectionResponse, error)` + - New function `*RoleDefinitionClient.NewListByBillingAccountPager(string, *RoleDefinitionClientListByBillingAccountOptions) *runtime.Pager[RoleDefinitionClientListByBillingAccountResponse]` + - New function `*RoleDefinitionClient.NewListByBillingProfilePager(string, string, *RoleDefinitionClientListByBillingProfileOptions) *runtime.Pager[RoleDefinitionClientListByBillingProfileResponse]` + - New function `*RoleDefinitionClient.NewListByCustomerPager(string, string, string, *RoleDefinitionClientListByCustomerOptions) *runtime.Pager[RoleDefinitionClientListByCustomerResponse]` + - New function `*RoleDefinitionClient.NewListByDepartmentPager(string, string, *RoleDefinitionClientListByDepartmentOptions) *runtime.Pager[RoleDefinitionClientListByDepartmentResponse]` + - New function `*RoleDefinitionClient.NewListByEnrollmentAccountPager(string, string, *RoleDefinitionClientListByEnrollmentAccountOptions) *runtime.Pager[RoleDefinitionClientListByEnrollmentAccountResponse]` + - New function `*RoleDefinitionClient.NewListByInvoiceSectionPager(string, string, string, *RoleDefinitionClientListByInvoiceSectionOptions) *runtime.Pager[RoleDefinitionClientListByInvoiceSectionResponse]` + - New function `NewSavingsPlanOrdersClient(azcore.TokenCredential, *arm.ClientOptions) (*SavingsPlanOrdersClient, error)` + - New function `*SavingsPlanOrdersClient.GetByBillingAccount(context.Context, string, string, *SavingsPlanOrdersClientGetByBillingAccountOptions) (SavingsPlanOrdersClientGetByBillingAccountResponse, error)` + - New function `*SavingsPlanOrdersClient.NewListByBillingAccountPager(string, *SavingsPlanOrdersClientListByBillingAccountOptions) *runtime.Pager[SavingsPlanOrdersClientListByBillingAccountResponse]` + - New function `NewSavingsPlansClient(azcore.TokenCredential, *arm.ClientOptions) (*SavingsPlansClient, error)` + - New function `*SavingsPlansClient.GetByBillingAccount(context.Context, string, string, string, *SavingsPlansClientGetByBillingAccountOptions) (SavingsPlansClientGetByBillingAccountResponse, error)` + - New function `*SavingsPlansClient.NewListByBillingAccountPager(string, *SavingsPlansClientListByBillingAccountOptions) *runtime.Pager[SavingsPlansClientListByBillingAccountResponse]` + - New function `*SavingsPlansClient.NewListBySavingsPlanOrderPager(string, string, *SavingsPlansClientListBySavingsPlanOrderOptions) *runtime.Pager[SavingsPlansClientListBySavingsPlanOrderResponse]` + - New function `*SavingsPlansClient.BeginUpdateByBillingAccount(context.Context, string, string, string, SavingsPlanUpdateRequest, *SavingsPlansClientBeginUpdateByBillingAccountOptions) (*runtime.Poller[SavingsPlansClientUpdateByBillingAccountResponse], error)` + - New function `*SavingsPlansClient.ValidateUpdateByBillingAccount(context.Context, string, string, string, SavingsPlanUpdateValidateRequest, *SavingsPlansClientValidateUpdateByBillingAccountOptions) (SavingsPlansClientValidateUpdateByBillingAccountResponse, error)` + - New function `NewSubscriptionsAliasesClient(azcore.TokenCredential, *arm.ClientOptions) (*SubscriptionsAliasesClient, error)` + - New function `*SubscriptionsAliasesClient.BeginCreateOrUpdate(context.Context, string, string, SubscriptionAlias, *SubscriptionsAliasesClientBeginCreateOrUpdateOptions) (*runtime.Poller[SubscriptionsAliasesClientCreateOrUpdateResponse], error)` + - New function `*SubscriptionsAliasesClient.Get(context.Context, string, string, *SubscriptionsAliasesClientGetOptions) (SubscriptionsAliasesClientGetResponse, error)` + - New function `*SubscriptionsAliasesClient.NewListByBillingAccountPager(string, *SubscriptionsAliasesClientListByBillingAccountOptions) *runtime.Pager[SubscriptionsAliasesClientListByBillingAccountResponse]` + - New function `*SubscriptionsClient.BeginCancel(context.Context, string, string, CancelSubscriptionRequest, *SubscriptionsClientBeginCancelOptions) (*runtime.Poller[SubscriptionsClientCancelResponse], error)` + - New function `*SubscriptionsClient.BeginDelete(context.Context, string, string, *SubscriptionsClientBeginDeleteOptions) (*runtime.Poller[SubscriptionsClientDeleteResponse], error)` + - New function `*SubscriptionsClient.GetByBillingProfile(context.Context, string, string, string, *SubscriptionsClientGetByBillingProfileOptions) (SubscriptionsClientGetByBillingProfileResponse, error)` + - New function `*SubscriptionsClient.NewListByCustomerAtBillingAccountPager(string, string, *SubscriptionsClientListByCustomerAtBillingAccountOptions) *runtime.Pager[SubscriptionsClientListByCustomerAtBillingAccountResponse]` + - New function `*SubscriptionsClient.NewListByEnrollmentAccountPager(string, string, *SubscriptionsClientListByEnrollmentAccountOptions) *runtime.Pager[SubscriptionsClientListByEnrollmentAccountResponse]` + - New function `*SubscriptionsClient.BeginMerge(context.Context, string, string, SubscriptionMergeRequest, *SubscriptionsClientBeginMergeOptions) (*runtime.Poller[SubscriptionsClientMergeResponse], error)` + - New function `*SubscriptionsClient.BeginSplit(context.Context, string, string, SubscriptionSplitRequest, *SubscriptionsClientBeginSplitOptions) (*runtime.Poller[SubscriptionsClientSplitResponse], error)` + - New function `*SubscriptionsClient.ValidateMoveEligibility(context.Context, string, string, MoveBillingSubscriptionRequest, *SubscriptionsClientValidateMoveEligibilityOptions) (SubscriptionsClientValidateMoveEligibilityResponse, error)` + - New function `*TransactionsClient.GetTransactionSummaryByInvoice(context.Context, string, string, *TransactionsClientGetTransactionSummaryByInvoiceOptions) (TransactionsClientGetTransactionSummaryByInvoiceResponse, error)` + - New function `*TransactionsClient.NewListByBillingProfilePager(string, string, time.Time, time.Time, TransactionType, *TransactionsClientListByBillingProfileOptions) *runtime.Pager[TransactionsClientListByBillingProfileResponse]` + - New function `*TransactionsClient.NewListByCustomerPager(string, string, string, time.Time, time.Time, TransactionType, *TransactionsClientListByCustomerOptions) *runtime.Pager[TransactionsClientListByCustomerResponse]` + - New function `*TransactionsClient.NewListByInvoiceSectionPager(string, string, string, time.Time, time.Time, TransactionType, *TransactionsClientListByInvoiceSectionOptions) *runtime.Pager[TransactionsClientListByInvoiceSectionResponse]` + - New function `*TransactionsClient.BeginTransactionsDownloadByInvoice(context.Context, string, string, *TransactionsClientBeginTransactionsDownloadByInvoiceOptions) (*runtime.Poller[TransactionsClientTransactionsDownloadByInvoiceResponse], error)` + - New function `NewTransfersClient(azcore.TokenCredential, *arm.ClientOptions) (*TransfersClient, error)` + - New function `*TransfersClient.Cancel(context.Context, string, string, string, string, *TransfersClientCancelOptions) (TransfersClientCancelResponse, error)` + - New function `*TransfersClient.Get(context.Context, string, string, string, string, *TransfersClientGetOptions) (TransfersClientGetResponse, error)` + - New function `*TransfersClient.Initiate(context.Context, string, string, string, string, InitiateTransferRequest, *TransfersClientInitiateOptions) (TransfersClientInitiateResponse, error)` + - New function `*TransfersClient.NewListPager(string, string, string, *TransfersClientListOptions) *runtime.Pager[TransfersClientListResponse]` + - New struct `AcceptTransferProperties` + - New struct `AcceptTransferRequest` + - New struct `AccountPatch` + - New struct `AccountPolicy` + - New struct `AccountPolicyProperties` + - New struct `AccountPolicyPropertiesEnterpriseAgreementPolicies` + - New struct `AccountPropertiesEnrollmentDetails` + - New struct `AccountPropertiesRegistrationNumber` + - New struct `AccountPropertiesSoldTo` + - New struct `AddressValidationResponse` + - New struct `AppliedScopeProperties` + - New struct `AssociatedTenant` + - New struct `AssociatedTenantListResult` + - New struct `AssociatedTenantProperties` + - New struct `AvailableBalancePropertiesAmount` + - New struct `AvailableBalancePropertiesTotalPaymentsOnAccount` + - New struct `Beneficiary` + - New struct `CancelSubscriptionRequest` + - New struct `CheckAccessRequest` + - New struct `CheckAccessResponse` + - New struct `Commitment` + - New struct `DeleteBillingProfileEligibilityDetail` + - New struct `DeleteBillingProfileEligibilityResult` + - New struct `DeleteInvoiceSectionEligibilityDetail` + - New struct `DeleteInvoiceSectionEligibilityResult` + - New struct `DepartmentListResult` + - New struct `DetailedTransferStatus` + - New struct `DocumentDownloadRequest` + - New struct `DocumentDownloadResult` + - New struct `EnrollmentAccountSubscriptionDetails` + - New struct `EnrollmentDetails` + - New struct `EnrollmentDetailsIndirectRelationshipInfo` + - New struct `EnterpriseAgreementPolicies` + - New struct `ErrorAdditionalInfo` + - New struct `ErrorDetail` + - New struct `ExtendedStatusDefinitionProperties` + - New struct `ExtendedStatusInfo` + - New struct `ExtendedStatusInfoProperties` + - New struct `ExternalReference` + - New struct `FailedPayment` + - New struct `InitiateTransferProperties` + - New struct `InitiateTransferRequest` + - New struct `InvoiceDocument` + - New struct `InvoicePropertiesAmountDue` + - New struct `InvoicePropertiesAzurePrepaymentApplied` + - New struct `InvoicePropertiesBilledAmount` + - New struct `InvoicePropertiesCreditAmount` + - New struct `InvoicePropertiesFreeAzureCreditApplied` + - New struct `InvoicePropertiesRebillDetails` + - New struct `InvoicePropertiesRefundDetails` + - New struct `InvoicePropertiesSubTotal` + - New struct `InvoicePropertiesTaxAmount` + - New struct `InvoicePropertiesTotalAmount` + - New struct `InvoiceSectionWithCreateSubPermissionListResult` + - New struct `MoveBillingSubscriptionEligibilityResult` + - New struct `MoveBillingSubscriptionErrorDetails` + - New struct `MoveBillingSubscriptionRequest` + - New struct `MoveProductEligibilityResult` + - New struct `MoveProductEligibilityResultErrorDetails` + - New struct `MoveProductErrorDetails` + - New struct `MoveProductRequest` + - New struct `NextBillingCycleDetails` + - New struct `Participant` + - New struct `PartnerInitiateTransferProperties` + - New struct `PartnerInitiateTransferRequest` + - New struct `PartnerTransferDetails` + - New struct `PartnerTransferDetailsListResult` + - New struct `PartnerTransferProperties` + - New struct `Patch` + - New struct `PatchProperties` + - New struct `PatchPropertiesRenewProperties` + - New struct `Payment` + - New struct `PaymentAmount` + - New struct `PaymentDetail` + - New struct `PaymentMethod` + - New struct `PaymentMethodLink` + - New struct `PaymentMethodLinkProperties` + - New struct `PaymentMethodLinksListResult` + - New struct `PaymentMethodLogo` + - New struct `PaymentMethodProperties` + - New struct `PaymentMethodsListResult` + - New struct `PaymentOnAccount` + - New struct `PaymentOnAccountAmount` + - New struct `PaymentTerm` + - New struct `PaymentTermsEligibilityDetail` + - New struct `PaymentTermsEligibilityResult` + - New struct `Permission` + - New struct `PermissionListResult` + - New struct `PlanInformation` + - New struct `PolicySummary` + - New struct `Price` + - New struct `Principal` + - New struct `ProductDetails` + - New struct `ProductListResult` + - New struct `ProductPatch` + - New struct `ProductPropertiesLastCharge` + - New struct `ProductPropertiesReseller` + - New struct `ProfilePolicy` + - New struct `ProfilePolicyProperties` + - New struct `ProfilePolicyPropertiesEnterpriseAgreementPolicies` + - New struct `ProfilePropertiesBillTo` + - New struct `ProfilePropertiesCurrentPaymentTerm` + - New struct `ProfilePropertiesIndirectRelationshipInfo` + - New struct `ProfilePropertiesShipTo` + - New struct `ProfilePropertiesSoldTo` + - New struct `PropertyPropertiesEnrollmentDetails` + - New struct `PropertyPropertiesSubscriptionServiceUsageAddress` + - New struct `ProxyResource` + - New struct `ProxyResourceWithTags` + - New struct `PurchaseRequest` + - New struct `PurchaseRequestProperties` + - New struct `RecipientTransferDetails` + - New struct `RecipientTransferDetailsListResult` + - New struct `RecipientTransferProperties` + - New struct `RefundDetailsSummary` + - New struct `RefundDetailsSummaryAmountRefunded` + - New struct `RefundDetailsSummaryAmountRequested` + - New struct `RefundTransactionDetails` + - New struct `RefundTransactionDetailsAmountRefunded` + - New struct `RefundTransactionDetailsAmountRequested` + - New struct `RegistrationNumber` + - New struct `RenewProperties` + - New struct `RenewPropertiesResponse` + - New struct `RenewalTermDetails` + - New struct `Request` + - New struct `RequestListResult` + - New struct `RequestProperties` + - New struct `RequestPropertiesCreatedBy` + - New struct `RequestPropertiesLastUpdatedBy` + - New struct `RequestPropertiesReviewedBy` + - New struct `ReservationAppliedScopeProperties` + - New struct `ReservationExtendedStatusInfo` + - New struct `ReservationList` + - New struct `ReservationMergeProperties` + - New struct `ReservationOrder` + - New struct `ReservationOrderBillingPlanInformation` + - New struct `ReservationOrderList` + - New struct `ReservationOrderProperty` + - New struct `ReservationPaymentDetail` + - New struct `ReservationPurchaseRequest` + - New struct `ReservationPurchaseRequestProperties` + - New struct `ReservationPurchaseRequestPropertiesReservedResourceProperties` + - New struct `ReservationSplitProperties` + - New struct `ReservationSwapProperties` + - New struct `SKU` + - New struct `SKUName` + - New struct `SavingsPlanModel` + - New struct `SavingsPlanModelList` + - New struct `SavingsPlanModelListResult` + - New struct `SavingsPlanModelProperties` + - New struct `SavingsPlanOrderModel` + - New struct `SavingsPlanOrderModelList` + - New struct `SavingsPlanOrderModelProperties` + - New struct `SavingsPlanSummaryCount` + - New struct `SavingsPlanUpdateRequest` + - New struct `SavingsPlanUpdateRequestProperties` + - New struct `SavingsPlanUpdateValidateRequest` + - New struct `SavingsPlanValidResponseProperty` + - New struct `SavingsPlanValidateResponse` + - New struct `SpendingLimitDetails` + - New struct `SubscriptionAlias` + - New struct `SubscriptionAliasListResult` + - New struct `SubscriptionAliasProperties` + - New struct `SubscriptionEnrollmentDetails` + - New struct `SubscriptionListResult` + - New struct `SubscriptionMergeRequest` + - New struct `SubscriptionPatch` + - New struct `SubscriptionPolicy` + - New struct `SubscriptionPolicyProperties` + - New struct `SubscriptionSplitRequest` + - New struct `SubscriptionStatusDetails` + - New struct `SystemData` + - New struct `SystemOverrides` + - New struct `TaxIdentifier` + - New struct `TransactionPropertiesAzureCreditApplied` + - New struct `TransactionPropertiesConsumptionCommitmentDecremented` + - New struct `TransactionPropertiesEffectivePrice` + - New struct `TransactionPropertiesMarketPrice` + - New struct `TransactionPropertiesRefundTransactionDetails` + - New struct `TransactionPropertiesSubTotal` + - New struct `TransactionPropertiesTax` + - New struct `TransactionPropertiesTransactionAmount` + - New struct `TransactionSummary` + - New struct `TransferDetails` + - New struct `TransferDetailsListResult` + - New struct `TransferError` + - New struct `TransferItemQueryParameter` + - New struct `TransferProperties` + - New struct `TransitionDetails` + - New struct `Utilization` + - New struct `UtilizationAggregates` + - New struct `ValidateTransferListResponse` + - New struct `ValidateTransferResponse` + - New struct `ValidateTransferResponseProperties` + - New struct `ValidationResultProperties` + - New field `SystemData`, `Tags` in struct `Account` + - New field `AccountStatusReasonCode`, `AccountSubType`, `BillingRelationshipTypes`, `HasNoBillingProfiles`, `PrimaryBillingTenantID`, `ProvisioningState`, `Qualifications`, `RegistrationNumber`, `TaxIDs` in struct `AccountProperties` + - New field `Filter` in struct `AccountsClientListInvoiceSectionsByCreateSubscriptionPermissionOptions` + - New anonymous field `InvoiceSectionWithCreateSubPermissionListResult` in struct `AccountsClientListInvoiceSectionsByCreateSubscriptionPermissionResponse` + - New field `Filter`, `IncludeAll`, `IncludeAllWithoutBillingProfiles`, `IncludeDeleted`, `IncludePendingAgreement`, `IncludeResellee`, `LegalOwnerOID`, `LegalOwnerTID`, `Search`, `Skip`, `Top` in struct `AccountsClientListOptions` + - New anonymous field `AddressValidationResponse` in struct `AddressClientValidateResponse` + - New field `IsValidAddress` in struct `AddressDetails` + - New field `SystemData`, `Tags` in struct `Agreement` + - New field `DisplayName`, `LeadBillingAccountName` in struct `AgreementProperties` + - New field `SystemData`, `Tags` in struct `AvailableBalance` + - New field `PaymentsOnAccount`, `TotalPaymentsOnAccount` in struct `AvailableBalanceProperties` + - New field `ProductID` in struct `AzurePlan` + - New field `SystemData`, `Tags` in struct `Customer` + - New field `SystemData`, `Tags` in struct `CustomerPolicy` + - New field `Policies`, `ProvisioningState` in struct `CustomerPolicyProperties` + - New field `Status`, `SystemID`, `Tags` in struct `CustomerProperties` + - New field `Count`, `Expand`, `OrderBy`, `Skip`, `Top` in struct `CustomersClientListByBillingAccountOptions` + - New field `Count`, `Expand`, `OrderBy`, `Skip`, `Top` in struct `CustomersClientListByBillingProfileOptions` + - New field `SystemData`, `Tags` in struct `Department` + - New field `DisplayName`, `ID` in struct `DepartmentProperties` + - New field `SystemData`, `Tags` in struct `EnrollmentAccount` + - New field `AuthType`, `DepartmentDisplayName`, `DepartmentID`, `DisplayName`, `IsDevTestEnabled` in struct `EnrollmentAccountProperties` + - New anonymous field `EnrollmentAccount` in struct `EnrollmentAccountsClientGetResponse` + - New field `SystemData`, `Tags` in struct `Invoice` + - New field `FailedPayments`, `RefundDetails`, `SpecialTaxationType`, `SubscriptionDisplayName` in struct `InvoiceProperties` + - New field `SystemData`, `Tags` in struct `InvoiceSection` + - New field `ProvisioningState`, `ReasonCode` in struct `InvoiceSectionProperties` + - New field `Count`, `Filter`, `IncludeDeleted`, `OrderBy`, `Search`, `Skip`, `Top` in struct `InvoiceSectionsClientListByBillingProfileOptions` + - New field `Count`, `Filter`, `OrderBy`, `PeriodEndDate`, `PeriodStartDate`, `Search`, `Skip`, `Top` in struct `InvoicesClientListByBillingAccountOptions` + - New field `Count`, `Filter`, `OrderBy`, `PeriodEndDate`, `PeriodStartDate`, `Search`, `Skip`, `Top` in struct `InvoicesClientListByBillingProfileOptions` + - New field `Count`, `Filter`, `OrderBy`, `PeriodEndDate`, `PeriodStartDate`, `Search`, `Skip`, `Top` in struct `InvoicesClientListByBillingSubscriptionOptions` + - New anonymous field `PermissionListResult` in struct `PermissionsClientListByBillingAccountResponse` + - New anonymous field `PermissionListResult` in struct `PermissionsClientListByBillingProfileResponse` + - New anonymous field `PermissionListResult` in struct `PermissionsClientListByCustomerResponse` + - New anonymous field `ProfilePolicy` in struct `PoliciesClientGetByBillingProfileResponse` + - New field `SystemData`, `Tags` in struct `Product` + - New field `Count`, `OrderBy`, `Search`, `Skip`, `Top` in struct `ProductsClientListByBillingAccountOptions` + - New anonymous field `ProductListResult` in struct `ProductsClientListByBillingAccountResponse` + - New field `Count`, `OrderBy`, `Search`, `Skip`, `Top` in struct `ProductsClientListByBillingProfileOptions` + - New anonymous field `ProductListResult` in struct `ProductsClientListByBillingProfileResponse` + - New field `Count`, `Filter`, `OrderBy`, `Search`, `Skip`, `Top` in struct `ProductsClientListByCustomerOptions` + - New anonymous field `ProductListResult` in struct `ProductsClientListByCustomerResponse` + - New field `Count`, `OrderBy`, `Search`, `Skip`, `Top` in struct `ProductsClientListByInvoiceSectionOptions` + - New anonymous field `ProductListResult` in struct `ProductsClientListByInvoiceSectionResponse` + - New field `SystemData`, `Tags` in struct `Profile` + - New field `BillingAccountID`, `BillingProfileSystemID` in struct `ProfileInfo` + - New field `CurrentPaymentTerm`, `InvoiceRecipients`, `OtherPaymentTerms`, `ProvisioningState`, `ShipTo`, `SoldTo`, `SpendingLimitDetails` in struct `ProfileProperties` + - New field `Count`, `Filter`, `IncludeDeleted`, `OrderBy`, `Search`, `Skip`, `Top` in struct `ProfilesClientListByBillingAccountOptions` + - New field `SystemData`, `Tags` in struct `Property` + - New field `IncludeBillingCountry`, `IncludeTransitionStatus` in struct `PropertyClientGetOptions` + - New field `BillingAccountAgreementType`, `BillingAccountSoldToCountry`, `BillingAccountStatus`, `BillingAccountStatusReasonCode`, `BillingAccountSubType`, `BillingAccountType`, `BillingCurrency`, `BillingProfilePaymentMethodFamily`, `BillingProfilePaymentMethodType`, `BillingProfileSpendingLimitDetails`, `CustomerDisplayName`, `CustomerID`, `CustomerStatus`, `EnrollmentDetails`, `InvoiceSectionStatus`, `InvoiceSectionStatusReasonCode`, `IsTransitionedBillingAccount`, `SubscriptionBillingStatus`, `SubscriptionBillingStatusDetails`, `SubscriptionBillingType`, `SubscriptionServiceUsageAddress`, `SubscriptionWorkloadType` in struct `PropertyProperties` + - New field `Etag`, `SystemData`, `Tags` in struct `Reservation` + - New field `AppliedScopeProperties`, `Archived`, `BenefitStartTime`, `BillingPlan`, `BillingScopeID`, `Capabilities`, `ExpiryDateTime`, `ExtendedStatusInfo`, `InstanceFlexibility`, `LastUpdatedDateTime`, `MergeProperties`, `ProductCode`, `PurchaseDate`, `PurchaseDateTime`, `RenewDestination`, `RenewProperties`, `ReviewDateTime`, `SplitProperties`, `SwapProperties` in struct `ReservationProperty` + - New field `NoBenefitCount`, `ProcessingCount`, `WarningCount` in struct `ReservationSummary` + - New field `OrderBy`, `Skiptoken`, `Take` in struct `ReservationsClientListByBillingAccountOptions` + - New field `OrderBy`, `Skiptoken`, `Take` in struct `ReservationsClientListByBillingProfileOptions` + - New field `SystemData` in struct `Resource` + - New field `SystemData`, `Tags` in struct `RoleAssignment` + - New field `BillingAccountDisplayName`, `BillingAccountID`, `BillingProfileDisplayName`, `BillingProfileID`, `BillingRequestID`, `CreatedByPrincipalPuid`, `CustomerDisplayName`, `CustomerID`, `InvoiceSectionDisplayName`, `InvoiceSectionID`, `ModifiedByPrincipalID`, `ModifiedByPrincipalPuid`, `ModifiedByPrincipalTenantID`, `ModifiedByUserEmailAddress`, `ModifiedOn`, `PrincipalDisplayName`, `PrincipalPuid`, `PrincipalTenantName`, `PrincipalType`, `ProvisioningState` in struct `RoleAssignmentProperties` + - New field `Filter`, `Skip`, `Top` in struct `RoleAssignmentsClientListByBillingAccountOptions` + - New field `Filter`, `Skip`, `Top` in struct `RoleAssignmentsClientListByBillingProfileOptions` + - New field `Filter`, `Skip`, `Top` in struct `RoleAssignmentsClientListByInvoiceSectionOptions` + - New field `SystemData`, `Tags` in struct `RoleDefinition` + - New field `SystemData`, `Tags` in struct `Subscription` + - New field `AutoRenew`, `Beneficiary`, `BeneficiaryTenantID`, `BillingFrequency`, `BillingPolicies`, `BillingProfileName`, `ConsumptionCostCenter`, `CustomerName`, `EnrollmentAccountDisplayName`, `EnrollmentAccountID`, `EnrollmentAccountSubscriptionDetails`, `InvoiceSectionName`, `NextBillingCycleDetails`, `OfferID`, `OperationStatus`, `ProductCategory`, `ProductType`, `ProductTypeID`, `ProvisioningState`, `ProvisioningTenantID`, `PurchaseDate`, `Quantity`, `RenewalTermDetails`, `ResourceURI`, `Status`, `SuspensionReasonDetails`, `SystemOverrides`, `TermDuration`, `TermEndDate`, `TermStartDate` in struct `SubscriptionProperties` + - New field `Expand` in struct `SubscriptionsClientGetOptions` + - New field `Count`, `Expand`, `Filter`, `IncludeDeleted`, `IncludeFailed`, `IncludeTenantSubscriptions`, `OrderBy`, `Search`, `Skip`, `Top` in struct `SubscriptionsClientListByBillingAccountOptions` + - New anonymous field `SubscriptionListResult` in struct `SubscriptionsClientListByBillingAccountResponse` + - New field `Count`, `Expand`, `Filter`, `IncludeDeleted`, `OrderBy`, `Search`, `Skip`, `Top` in struct `SubscriptionsClientListByBillingProfileOptions` + - New anonymous field `SubscriptionListResult` in struct `SubscriptionsClientListByBillingProfileResponse` + - New field `Count`, `Expand`, `Filter`, `IncludeDeleted`, `OrderBy`, `Search`, `Skip`, `Top` in struct `SubscriptionsClientListByCustomerOptions` + - New anonymous field `SubscriptionListResult` in struct `SubscriptionsClientListByCustomerResponse` + - New field `Count`, `Expand`, `Filter`, `IncludeDeleted`, `OrderBy`, `Search`, `Skip`, `Top` in struct `SubscriptionsClientListByInvoiceSectionOptions` + - New anonymous field `SubscriptionListResult` in struct `SubscriptionsClientListByInvoiceSectionResponse` + - New field `SystemData`, `Tags` in struct `Transaction` + - New field `ConsumptionCommitmentDecremented`, `CreditType`, `IsThirdParty`, `PartNumber`, `ReasonCode`, `RefundTransactionDetails`, `SpecialTaxationType` in struct `TransactionProperties` + - New field `Count`, `Filter`, `OrderBy`, `Search`, `Skip`, `Top` in struct `TransactionsClientListByInvoiceOptions` diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/afdx.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/afdx.json new file mode 100644 index 000000000000..a59df08620af --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/afdx.json @@ -0,0 +1,6902 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "CdnManagementClient", + "description": "Use these APIs to manage Azure Front Door resources through the Azure Resource Manager. You must make sure that requests made to these resources are secure." + }, + "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.Cdn/checkEndpointNameAvailability": { + "post": { + "tags": [ + "CheckEndpointNameAvailability" + ], + "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a afdx endpoint.", + "operationId": "CheckEndpointNameAvailability", + "x-ms-examples": { + "CheckEndpointNameAvailability": { + "$ref": "./examples/CheckEndpointNameAvailability.json" + } + }, + "parameters": [ + { + "name": "checkEndpointNameAvailabilityInput", + "in": "body", + "description": "Input to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckEndpointNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckEndpointNameAvailabilityOutput" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkEndpointNameAvailability": { + "post": { + "tags": [ + "AFDProfiles" + ], + "description": "Check the availability of an afdx endpoint name, and return the globally unique endpoint host name.", + "operationId": "AFDProfiles_CheckEndpointNameAvailability", + "x-ms-examples": { + "CheckEndpointNameAvailability": { + "$ref": "./examples/AFDProfiles_CheckEndpointNameAvailability.json" + } + }, + "parameters": [ + { + "name": "checkEndpointNameAvailabilityInput", + "in": "body", + "description": "Input to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckEndpointNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/profileNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckEndpointNameAvailabilityOutput" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/usages": { + "post": { + "tags": [ + "AFDProfiles" + ], + "description": "Checks the quota and actual usage of endpoints under the given Azure Front Door profile.", + "operationId": "AFDProfiles_ListResourceUsage", + "x-ms-examples": { + "AFDProfiles_ListResourceUsage": { + "$ref": "./examples/AFDProfiles_ListResourceUsage.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/UsagesListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkHostNameAvailability": { + "post": { + "tags": [ + "AFDProfiles" + ], + "description": "Validates the custom domain mapping to ensure it maps to the correct Azure Front Door endpoint in DNS.", + "operationId": "AFDProfiles_CheckHostNameAvailability", + "x-ms-examples": { + "AFDProfiles_CheckHostNameAvailability": { + "$ref": "./examples/AFDProfiles_CheckHostNameAvailability.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "checkHostNameAvailabilityInput", + "in": "body", + "description": "Custom domain to be validated.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckHostNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "./cdn.json#/definitions/CheckNameAvailabilityOutput" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/validateSecret": { + "post": { + "tags": [ + "AFDProfiles" + ], + "description": "Validate a Secret in the profile.", + "operationId": "AFDProfiles_ValidateSecret", + "x-ms-examples": { + "Validate_Secret": { + "$ref": "./examples/AFDProfiles_ValidateSecret.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/profileNameParameter" + }, + { + "name": "validateSecretInput", + "in": "body", + "description": "The Secret source.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateSecretInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ValidateSecretOutput" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/upgrade": { + "post": { + "tags": [ + "AFDProfiles" + ], + "description": "Upgrade a profile from Standard_AzureFrontDoor to Premium_AzureFrontDoor.", + "operationId": "AFDProfiles_Upgrade", + "x-ms-examples": { + "AFDProfiles_Upgrade": { + "$ref": "./examples/AFDProfiles_Upgrade.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/profileNameParameter" + }, + { + "name": "profileUpgradeParameters", + "in": "body", + "description": "Profile upgrade input parameter.", + "required": true, + "schema": { + "$ref": "#/definitions/ProfileUpgradeParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "./cdn.json#/definitions/Profile" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "./cdn.json#/definitions/Profile" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains": { + "get": { + "tags": [ + "AFDCustomDomains" + ], + "description": "Lists existing AzureFrontDoor domains.", + "operationId": "AFDCustomDomains_ListByProfile", + "x-ms-examples": { + "AFDCustomDomains_ListByProfile": { + "$ref": "./examples/AFDCustomDomains_ListByProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDDomainListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName}": { + "get": { + "tags": [ + "AFDCustomDomains" + ], + "description": "Gets an existing AzureFrontDoor domain with the specified domain name under the specified subscription, resource group and profile.", + "operationId": "AFDCustomDomains_Get", + "x-ms-examples": { + "AFDCustomDomains_Get": { + "$ref": "./examples/AFDCustomDomains_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the domain under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDDomain" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AFDCustomDomains" + ], + "description": "Creates a new domain within the specified profile.", + "operationId": "AFDCustomDomains_Create", + "x-ms-examples": { + "AFDCustomDomains_Create": { + "$ref": "./examples/AFDCustomDomains_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the domain under the profile which is unique globally", + "required": true, + "type": "string" + }, + { + "name": "customDomain", + "in": "body", + "description": "Domain properties", + "required": true, + "schema": { + "$ref": "#/definitions/AFDDomain" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDDomain" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new domain has been created.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDDomain" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/AFDDomain" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "AFDCustomDomains" + ], + "description": "Updates an existing domain within a profile.", + "operationId": "AFDCustomDomains_Update", + "x-ms-examples": { + "AFDCustomDomains_Update": { + "$ref": "./examples/AFDCustomDomains_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the domain under the profile which is unique globally", + "required": true, + "type": "string" + }, + { + "name": "customDomainUpdateProperties", + "in": "body", + "description": "Domain properties", + "required": true, + "schema": { + "$ref": "#/definitions/AFDDomainUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDDomain" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDDomain" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "AFDCustomDomains" + ], + "description": "Deletes an existing AzureFrontDoor domain with the specified domain name under the specified subscription, resource group and profile.", + "operationId": "AFDCustomDomains_Delete", + "x-ms-examples": { + "AFDCustomDomains_Delete": { + "$ref": "./examples/AFDCustomDomains_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the domain under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the domain was not found." + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/customDomains/{customDomainName}/refreshValidationToken": { + "post": { + "tags": [ + "AFDCustomDomains" + ], + "description": "Updates the domain validation token.", + "operationId": "AFDCustomDomains_RefreshValidationToken", + "x-ms-examples": { + "AFDCustomDomains_Delete": { + "$ref": "./examples/AFDCustomDomains_RefreshValidationToken.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the domain under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously. Please poll the targeted custom domain and check the 'validationProperties' field for the new validation token values.", + "headers": { + "location": { + "type": "string" + } + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints": { + "get": { + "tags": [ + "AFDEndpoints" + ], + "description": "Lists existing AzureFrontDoor endpoints.", + "operationId": "AFDEndpoints_ListByProfile", + "x-ms-examples": { + "AFDEndpoints_ListByProfile": { + "$ref": "./examples/AFDEndpoints_ListByProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDEndpointListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}": { + "get": { + "tags": [ + "AFDEndpoints" + ], + "description": "Gets an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile.", + "operationId": "AFDEndpoints_Get", + "x-ms-examples": { + "AFDEndpoints_Get": { + "$ref": "./examples/AFDEndpoints_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDEndpoint" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AFDEndpoints" + ], + "description": "Creates a new AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile.", + "operationId": "AFDEndpoints_Create", + "x-ms-examples": { + "AFDEndpoints_Create": { + "$ref": "./examples/AFDEndpoints_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "endpoint", + "in": "body", + "description": "Endpoint properties", + "required": true, + "schema": { + "$ref": "#/definitions/AFDEndpoint" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDEndpoint" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new endpoint has been created.", + "schema": { + "$ref": "#/definitions/AFDEndpoint" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDEndpoint" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "AFDEndpoints" + ], + "description": "Updates an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile. Only tags can be updated after creating an endpoint. To update origins, use the Update Origin operation. To update origin groups, use the Update Origin group operation. To update domains, use the Update Custom Domain operation.", + "operationId": "AFDEndpoints_Update", + "x-ms-examples": { + "AFDEndpoints_Update": { + "$ref": "./examples/AFDEndpoints_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "endpointUpdateProperties", + "in": "body", + "description": "Endpoint update properties", + "required": true, + "schema": { + "$ref": "#/definitions/AFDEndpointUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDEndpoint" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDEndpoint" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "AFDEndpoints" + ], + "description": "Deletes an existing AzureFrontDoor endpoint with the specified endpoint name under the specified subscription, resource group and profile.", + "operationId": "AFDEndpoints_Delete", + "x-ms-examples": { + "AFDEndpoints_Delete": { + "$ref": "./examples/AFDEndpoints_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/purge": { + "post": { + "tags": [ + "AFDEndpoints" + ], + "description": "Removes a content from AzureFrontDoor.", + "operationId": "AFDEndpoints_PurgeContent", + "x-ms-examples": { + "AFDEndpoints_PurgeContent": { + "$ref": "./examples/AFDEndpoints_PurgeContent.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "contents", + "in": "body", + "description": "The list of paths to the content and the list of linked domains to be purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and files in the directory.", + "required": true, + "schema": { + "$ref": "#/definitions/AfdPurgeParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/usages": { + "post": { + "tags": [ + "AFDEndpoints" + ], + "description": "Checks the quota and actual usage of endpoints under the given Azure Front Door profile.", + "operationId": "AFDEndpoints_ListResourceUsage", + "x-ms-examples": { + "AFDEndpoints_ListResourceUsage": { + "$ref": "./examples/AFDEndpoints_ListResourceUsage.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/UsagesListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/validateCustomDomain": { + "post": { + "tags": [ + "AFDEndpoints" + ], + "description": "Validates the custom domain mapping to ensure it maps to the correct Azure Front Door endpoint in DNS.", + "operationId": "AFDEndpoints_ValidateCustomDomain", + "x-ms-examples": { + "Endpoints_ValidateCustomDomain": { + "$ref": "./examples/AFDEndpoints_ValidateCustomDomain.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "customDomainProperties", + "in": "body", + "description": "Custom domain to be validated.", + "required": true, + "schema": { + "$ref": "./cdn.json#/definitions/ValidateCustomDomainInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "./cdn.json#/definitions/ValidateCustomDomainOutput" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups": { + "get": { + "tags": [ + "AFDOriginGroups" + ], + "description": "Lists all of the existing origin groups within a profile.", + "operationId": "AFDOriginGroups_ListByProfile", + "x-ms-examples": { + "AFDOriginGroups_ListByProfile": { + "$ref": "./examples/AFDOriginGroups_ListByProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOriginGroupListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}": { + "get": { + "tags": [ + "AFDOriginGroups" + ], + "description": "Gets an existing origin group within a profile.", + "operationId": "AFDOriginGroups_Get", + "x-ms-examples": { + "AFDOriginGroups_Get": { + "$ref": "./examples/AFDOriginGroups_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOriginGroup" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AFDOriginGroups" + ], + "description": "Creates a new origin group within the specified profile.", + "operationId": "AFDOriginGroups_Create", + "x-ms-examples": { + "AFDOriginGroups_Create": { + "$ref": "./examples/AFDOriginGroups_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "name": "originGroup", + "in": "body", + "description": "Origin group properties", + "required": true, + "schema": { + "$ref": "#/definitions/AFDOriginGroup" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOriginGroup" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new origin group has been created.", + "schema": { + "$ref": "#/definitions/AFDOriginGroup" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDOriginGroup" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "AFDOriginGroups" + ], + "description": "Updates an existing origin group within a profile.", + "operationId": "AFDOriginGroups_Update", + "x-ms-examples": { + "AFDOriginGroups_Update": { + "$ref": "./examples/AFDOriginGroups_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "name": "originGroupUpdateProperties", + "in": "body", + "description": "Origin group properties", + "required": true, + "schema": { + "$ref": "#/definitions/AFDOriginGroupUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOriginGroup" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDOriginGroup" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "AFDOriginGroups" + ], + "description": "Deletes an existing origin group within a profile.", + "operationId": "AFDOriginGroups_Delete", + "x-ms-examples": { + "AFDOriginGroups_Delete": { + "$ref": "./examples/AFDOriginGroups_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the origin group was not found." + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/usages": { + "post": { + "tags": [ + "AFDOriginGroups" + ], + "description": "Checks the quota and actual usage of endpoints under the given Azure Front Door profile..", + "operationId": "AFDOriginGroups_ListResourceUsage", + "x-ms-examples": { + "AFDOriginGroups_ListResourceUsage": { + "$ref": "./examples/AFDOriginGroups_ListResourceUsage.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/UsagesListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins": { + "get": { + "tags": [ + "AFDOrigins" + ], + "description": "Lists all of the existing origins within an origin group.", + "operationId": "AFDOrigins_ListByOriginGroup", + "x-ms-examples": { + "AFDOrigins_ListByOriginGroup": { + "$ref": "./examples/AFDOrigins_ListByOriginGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOriginListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/originGroups/{originGroupName}/origins/{originName}": { + "get": { + "tags": [ + "AFDOrigins" + ], + "description": "Gets an existing origin within an origin group.", + "operationId": "AFDOrigins_Get", + "x-ms-examples": { + "AFDOrigins_Get": { + "$ref": "./examples/AFDOrigins_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "name": "originName", + "in": "path", + "description": "Name of the origin which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOrigin" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AFDOrigins" + ], + "description": "Creates a new origin within the specified origin group.", + "operationId": "AFDOrigins_Create", + "x-ms-examples": { + "AFDOrigins_Create": { + "$ref": "./examples/AFDOrigins_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "name": "originName", + "in": "path", + "description": "Name of the origin that is unique within the profile.", + "required": true, + "type": "string" + }, + { + "name": "origin", + "in": "body", + "description": "Origin properties", + "required": true, + "schema": { + "$ref": "#/definitions/AFDOrigin" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOrigin" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new origin has been created.", + "schema": { + "$ref": "#/definitions/AFDOrigin" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDOrigin" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "AFDOrigins" + ], + "description": "Updates an existing origin within an origin group.", + "operationId": "AFDOrigins_Update", + "x-ms-examples": { + "AFDOrigins_Update": { + "$ref": "./examples/AFDOrigins_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "name": "originName", + "in": "path", + "description": "Name of the origin which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "name": "originUpdateProperties", + "in": "body", + "description": "Origin properties", + "required": true, + "schema": { + "$ref": "#/definitions/AFDOriginUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AFDOrigin" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/AFDOrigin" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "AFDOrigins" + ], + "description": "Deletes an existing origin within an origin group.", + "operationId": "AFDOrigins_Delete", + "x-ms-examples": { + "AFDOrigins_Delete": { + "$ref": "./examples/AFDOrigins_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "name": "originName", + "in": "path", + "description": "Name of the origin which is unique within the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the origin was not found." + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes": { + "get": { + "tags": [ + "Routes" + ], + "description": "Lists all of the existing origins within a profile.", + "operationId": "Routes_ListByEndpoint", + "x-ms-examples": { + "Routes_ListByEndpoint": { + "$ref": "./examples/Routes_ListByEndpoint.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RouteListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/afdEndpoints/{endpointName}/routes/{routeName}": { + "get": { + "tags": [ + "Routes" + ], + "description": "Gets an existing route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.", + "operationId": "Routes_Get", + "x-ms-examples": { + "Routes_Get": { + "$ref": "./examples/Routes_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "routeName", + "in": "path", + "description": "Name of the routing rule.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Route" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Routes" + ], + "description": "Creates a new route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.", + "operationId": "Routes_Create", + "x-ms-examples": { + "Routes_Create": { + "$ref": "./examples/Routes_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "routeName", + "in": "path", + "description": "Name of the routing rule.", + "required": true, + "type": "string" + }, + { + "name": "route", + "in": "body", + "description": "Route properties", + "required": true, + "schema": { + "$ref": "#/definitions/Route" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Route" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new endpoint has been created.", + "schema": { + "$ref": "#/definitions/Route" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Route" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Routes" + ], + "description": "Updates an existing route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.", + "operationId": "Routes_Update", + "x-ms-examples": { + "Routes_Update": { + "$ref": "./examples/Routes_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "routeName", + "in": "path", + "description": "Name of the routing rule.", + "required": true, + "type": "string" + }, + { + "name": "routeUpdateProperties", + "in": "body", + "description": "Route update properties", + "required": true, + "schema": { + "$ref": "#/definitions/RouteUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Route" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Route" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Routes" + ], + "description": "Deletes an existing route with the specified route name under the specified subscription, resource group, profile, and AzureFrontDoor endpoint.", + "operationId": "Routes_Delete", + "x-ms-examples": { + "Routes_Delete": { + "$ref": "./examples/Routes_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "routeName", + "in": "path", + "description": "Name of the routing rule.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets": { + "get": { + "tags": [ + "RuleSets" + ], + "description": "Lists existing AzureFrontDoor rule sets within a profile.", + "operationId": "RuleSets_ListByProfile", + "x-ms-examples": { + "RuleSets_ListByProfile": { + "$ref": "./examples/RuleSets_ListByProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RuleSetListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}": { + "get": { + "tags": [ + "RuleSets" + ], + "description": "Gets an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription, resource group and profile.", + "operationId": "RuleSets_Get", + "x-ms-examples": { + "RuleSets_Get": { + "$ref": "./examples/RuleSets_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RuleSet" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "RuleSets" + ], + "description": "Creates a new rule set within the specified profile.", + "operationId": "RuleSets_Create", + "x-ms-examples": { + "RuleSets_Create": { + "$ref": "./examples/RuleSets_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile which is unique globally", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RuleSet" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new rule set has been created.", + "schema": { + "$ref": "#/definitions/RuleSet" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "RuleSets" + ], + "description": "Deletes an existing AzureFrontDoor rule set with the specified rule set name under the specified subscription, resource group and profile.", + "operationId": "RuleSets_Delete", + "x-ms-examples": { + "RuleSets_Delete": { + "$ref": "./examples/RuleSets_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the rule set was not found." + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/usages": { + "post": { + "tags": [ + "RuleSets" + ], + "description": "Checks the quota and actual usage of endpoints under the given Azure Front Door profile..", + "operationId": "RuleSets_ListResourceUsage", + "x-ms-examples": { + "RuleSets_ListResourceUsage": { + "$ref": "./examples/RuleSets_ListResourceUsage.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/UsagesListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules": { + "get": { + "tags": [ + "Rules" + ], + "description": "Lists all of the existing delivery rules within a rule set.", + "operationId": "Rules_ListByRuleSet", + "x-ms-examples": { + "Rules_ListByRuleSet": { + "$ref": "./examples/Rules_ListByRuleSet.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/RuleListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/ruleSets/{ruleSetName}/rules/{ruleName}": { + "get": { + "tags": [ + "Rules" + ], + "description": "Gets an existing delivery rule within a rule set.", + "operationId": "Rules_Get", + "x-ms-examples": { + "Rules_Get": { + "$ref": "./examples/Rules_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile.", + "required": true, + "type": "string" + }, + { + "name": "ruleName", + "in": "path", + "description": "Name of the delivery rule which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Rules" + ], + "description": "Creates a new delivery rule within the specified rule set.", + "operationId": "Rules_Create", + "x-ms-examples": { + "Rules_Create": { + "$ref": "./examples/Rules_Create.json" + }, + "Rules_Create_AfdUrlSigningAction": { + "$ref": "./examples/Rules_Create_AfdUrlSigningAction.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile.", + "required": true, + "type": "string" + }, + { + "name": "ruleName", + "in": "path", + "description": "Name of the delivery rule which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "name": "rule", + "in": "body", + "description": "The delivery rule properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Rule" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new delivery rule has been created.", + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "Rules" + ], + "description": "Updates an existing delivery rule within a rule set.", + "operationId": "Rules_Update", + "x-ms-examples": { + "Rules_Update": { + "$ref": "./examples/Rules_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile.", + "required": true, + "type": "string" + }, + { + "name": "ruleName", + "in": "path", + "description": "Name of the delivery rule which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "name": "ruleUpdateProperties", + "in": "body", + "description": "Delivery rule properties", + "required": true, + "schema": { + "$ref": "#/definitions/RuleUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Rule" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Rules" + ], + "description": "Deletes an existing delivery rule within a rule set.", + "operationId": "Rules_Delete", + "x-ms-examples": { + "Rules_Delete": { + "$ref": "./examples/Rules_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "ruleSetName", + "in": "path", + "description": "Name of the rule set under the profile.", + "required": true, + "type": "string" + }, + { + "name": "ruleName", + "in": "path", + "description": "Name of the delivery rule which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the origin was not found." + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies": { + "get": { + "tags": [ + "SecurityPolicies" + ], + "description": "Lists security policies associated with the profile", + "operationId": "SecurityPolicies_ListByProfile", + "x-ms-examples": { + "SecurityPolicies_ListByProfile": { + "$ref": "./examples/SecurityPolicies_ListByProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityPolicyListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/securityPolicies/{securityPolicyName}": { + "get": { + "tags": [ + "SecurityPolicies" + ], + "description": "Gets an existing security policy within a profile.", + "operationId": "SecurityPolicies_Get", + "x-ms-examples": { + "SecurityPolicies_Get": { + "$ref": "./examples/SecurityPolicies_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "securityPolicyName", + "in": "path", + "description": "Name of the security policy under the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "SecurityPolicies" + ], + "description": "Creates a new security policy within the specified profile.", + "operationId": "SecurityPolicies_Create", + "x-ms-examples": { + "SecurityPolicies_Create": { + "$ref": "./examples/SecurityPolicies_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "securityPolicyName", + "in": "path", + "description": "Name of the security policy under the profile.", + "required": true, + "type": "string" + }, + { + "name": "securityPolicy", + "in": "body", + "description": "The security policy properties.", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new delivery rule has been created.", + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "SecurityPolicies" + ], + "description": "Updates an existing security policy within a profile.", + "operationId": "SecurityPolicies_Patch", + "x-ms-examples": { + "SecurityPolicies_Patch": { + "$ref": "./examples/SecurityPolicies_Patch.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "securityPolicyName", + "in": "path", + "description": "Name of the security policy under the profile.", + "required": true, + "type": "string" + }, + { + "name": "securityPolicyUpdateProperties", + "in": "body", + "description": "Security policy update properties", + "required": true, + "schema": { + "$ref": "#/definitions/SecurityPolicyUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SecurityPolicy" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "SecurityPolicies" + ], + "description": "Deletes an existing security policy within profile.", + "operationId": "SecurityPolicies_Delete", + "x-ms-examples": { + "SecurityPolicies_Delete": { + "$ref": "./examples/SecurityPolicies_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "securityPolicyName", + "in": "path", + "description": "Name of the security policy under the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets": { + "get": { + "tags": [ + "Secrets" + ], + "description": "Lists existing AzureFrontDoor secrets.", + "operationId": "Secrets_ListByProfile", + "x-ms-examples": { + "Secrets_ListByProfile": { + "$ref": "./examples/Secrets_ListByProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/SecretListResult" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/secrets/{secretName}": { + "get": { + "tags": [ + "Secrets" + ], + "description": "Gets an existing Secret within a profile.", + "operationId": "Secrets_Get", + "x-ms-examples": { + "Secrets_Get": { + "$ref": "./examples/Secrets_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "secretName", + "in": "path", + "description": "Name of the Secret under the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Secrets" + ], + "description": "Creates a new Secret within the specified profile.", + "operationId": "Secrets_Create", + "x-ms-examples": { + "Secrets_Create": { + "$ref": "./examples/Secrets_CreateCustomerCertificateType.json" + }, + "Secrets_CreateUrlSigningKeyType": { + "$ref": "./examples/Secrets_CreateUrlSigningKeyType.json" + }, + "Secrets_CreateMtlsCertificateChainType": { + "$ref": "./examples/Secrets_CreateMtlsCertificateChainType.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "secretName", + "in": "path", + "description": "Name of the Secret under the profile.", + "required": true, + "type": "string" + }, + { + "name": "secret", + "in": "body", + "description": "The Secret properties.", + "required": true, + "schema": { + "$ref": "#/definitions/Secret" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new delivery rule has been created.", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "Secrets" + ], + "description": "Deletes an existing Secret within profile.", + "operationId": "Secrets_Delete", + "x-ms-examples": { + "Secrets_Delete": { + "$ref": "./examples/Secrets_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "secretName", + "in": "path", + "description": "Name of the Secret under the profile.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the origin was not found." + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/keyGroups": { + "get": { + "tags": [ + "KeyGroups" + ], + "description": "Lists existing AzureFrontDoor KeyGroups.", + "operationId": "KeyGroups_ListByProfile", + "x-ms-examples": { + "KeyGroups_ListByProfile": { + "$ref": "./examples/KeyGroups_ListByProfile.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/profileNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/KeyGroupListResult" + } + }, + "default": { + "description": "CDN 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.Cdn/profiles/{profileName}/keyGroups/{keyGroupName}": { + "get": { + "tags": [ + "KeyGroups" + ], + "description": "Gets an existing KeyGroup within a profile.", + "operationId": "KeyGroups_Get", + "x-ms-examples": { + "KeyGroups_Get": { + "$ref": "./examples/KeyGroups_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/profileNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/keyGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/KeyGroup" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "KeyGroups" + ], + "description": "Creates or updates a new KeyGroup within the specified profile.", + "operationId": "KeyGroups_CreateUpdate", + "x-ms-examples": { + "KeyGroups_Create": { + "$ref": "./examples/KeyGroups_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/profileNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/keyGroupNameParameter" + }, + { + "name": "keyGroup", + "in": "body", + "description": "The KeyGroup properties.", + "required": true, + "schema": { + "$ref": "#/definitions/KeyGroup" + } + } + ], + "responses": { + "200": { + "description": "OK. Update succeeded for an existing key group.", + "schema": { + "$ref": "#/definitions/KeyGroup" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new key group has been created.", + "schema": { + "$ref": "#/definitions/KeyGroup" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "tags": [ + "KeyGroups" + ], + "description": "Deletes an existing KeyGroup within profile.", + "operationId": "KeyGroups_Delete", + "x-ms-examples": { + "KeyGroups_Delete": { + "$ref": "./examples/KeyGroups_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/profileNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/keyGroupNameParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the key group was not found." + }, + "default": { + "description": "Azure Front Door error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsMetrics": { + "get": { + "tags": [ + "LogAnalytics" + ], + "operationId": "LogAnalytics_GetLogAnalyticsMetrics", + "x-ms-examples": { + "LogAnalytics_GetLogAnalyticsMetrics": { + "$ref": "./examples/LogAnalytics_GetLogAnalyticsMetrics.json" + } + }, + "description": "Get log report for AFD profile", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "metrics", + "type": "array", + "required": true, + "collectionFormat": "multi", + "in": "query", + "items": { + "type": "string", + "enum": [ + "clientRequestCount", + "clientRequestTraffic", + "clientRequestBandwidth", + "originRequestTraffic", + "originRequestBandwidth", + "totalLatency" + ], + "x-ms-enum": { + "name": "LogMetric", + "modelAsString": true + } + } + }, + { + "name": "dateTimeBegin", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "dateTimeEnd", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "granularity", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "PT5M", + "PT1H", + "P1D" + ], + "x-ms-enum": { + "name": "LogMetricsGranularity", + "modelAsString": true + } + }, + { + "name": "groupBy", + "in": "query", + "type": "array", + "required": false, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "httpStatusCode", + "protocol", + "cacheStatus", + "countryOrRegion", + "customDomain" + ], + "x-ms-enum": { + "name": "LogMetricsGroupBy", + "modelAsString": true + } + } + }, + { + "name": "continents", + "type": "array", + "in": "query", + "collectionFormat": "multi", + "required": false, + "items": { + "type": "string" + } + }, + { + "name": "countryOrRegions", + "type": "array", + "in": "query", + "collectionFormat": "multi", + "required": false, + "items": { + "type": "string" + } + }, + { + "name": "customDomains", + "type": "array", + "required": true, + "collectionFormat": "multi", + "in": "query", + "items": { + "type": "string" + } + }, + { + "name": "protocols", + "type": "array", + "required": true, + "collectionFormat": "multi", + "in": "query", + "items": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "schema": { + "$ref": "#/definitions/MetricsResponse" + } + }, + "default": { + "description": "Azure Front Door Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsRankings": { + "get": { + "tags": [ + "LogAnalytics" + ], + "operationId": "LogAnalytics_GetLogAnalyticsRankings", + "x-ms-examples": { + "LogAnalytics_GetLogAnalyticsRankings": { + "$ref": "./examples/LogAnalytics_GetLogAnalyticsRankings.json" + } + }, + "description": "Get log analytics ranking report for AFD profile", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "rankings", + "type": "array", + "in": "query", + "required": true, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "url", + "referrer", + "browser", + "userAgent", + "countryOrRegion" + ], + "x-ms-enum": { + "name": "LogRanking", + "modelAsString": true + } + } + }, + { + "name": "metrics", + "type": "array", + "in": "query", + "required": true, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "clientRequestCount", + "clientRequestTraffic", + "hitCount", + "missCount", + "userErrorCount", + "errorCount" + ], + "x-ms-enum": { + "name": "LogRankingMetric", + "modelAsString": true + } + } + }, + { + "name": "maxRanking", + "in": "query", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "dateTimeBegin", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "dateTimeEnd", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "customDomains", + "type": "array", + "in": "query", + "required": false, + "collectionFormat": "multi", + "items": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "schema": { + "$ref": "#/definitions/RankingsResponse" + } + }, + "default": { + "description": "Azure Front Door Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsLocations": { + "get": { + "tags": [ + "LogAnalytics" + ], + "operationId": "LogAnalytics_GetLogAnalyticsLocations", + "x-ms-examples": { + "LogAnalytics_GetLogAnalyticsLocations": { + "$ref": "./examples/LogAnalytics_GetLogAnalyticsLocations.json" + } + }, + "description": "Get all available location names for AFD log analytics report.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "schema": { + "$ref": "#/definitions/ContinentsResponse" + } + }, + "default": { + "description": "Azure Front Door Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getLogAnalyticsResources": { + "get": { + "tags": [ + "LogAnalytics" + ], + "operationId": "LogAnalytics_GetLogAnalyticsResources", + "x-ms-examples": { + "LogAnalytics_GetLogAnalyticsResources": { + "$ref": "./examples/LogAnalytics_GetLogAnalyticsResources.json" + } + }, + "description": "Get all endpoints and custom domains available for AFD log report", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "schema": { + "$ref": "#/definitions/ResourcesResponse" + } + }, + "default": { + "description": "Azure Front Door Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getWafLogAnalyticsMetrics": { + "get": { + "tags": [ + "WafLogAnalytics" + ], + "operationId": "LogAnalytics_GetWafLogAnalyticsMetrics", + "x-ms-examples": { + "LogAnalytics_GetWafLogAnalyticsMetrics": { + "$ref": "./examples/LogAnalytics_GetWafLogAnalyticsMetrics.json" + } + }, + "description": "Get Waf related log analytics report for AFD profile.", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "metrics", + "type": "array", + "in": "query", + "required": true, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "clientRequestCount" + ], + "x-ms-enum": { + "name": "WafMetric", + "modelAsString": true + } + } + }, + { + "name": "dateTimeBegin", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "dateTimeEnd", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "granularity", + "type": "string", + "in": "query", + "required": true, + "enum": [ + "PT5M", + "PT1H", + "P1D" + ], + "x-ms-enum": { + "name": "WafGranularity", + "modelAsString": true + } + }, + { + "name": "actions", + "type": "array", + "in": "query", + "required": false, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "allow", + "block", + "log", + "redirect" + ], + "x-ms-enum": { + "name": "WafAction", + "modelAsString": true + } + } + }, + { + "name": "groupBy", + "in": "query", + "type": "array", + "required": false, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "httpStatusCode", + "customDomain" + ], + "x-ms-enum": { + "name": "WafRankingGroupBy", + "modelAsString": true + } + } + }, + { + "name": "ruleTypes", + "type": "array", + "in": "query", + "required": false, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "managed", + "custom", + "bot" + ], + "x-ms-enum": { + "name": "WafRuleType", + "modelAsString": true + } + } + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "schema": { + "$ref": "#/definitions/WafMetricsResponse" + } + }, + "default": { + "description": "Azure Front Door Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getWafLogAnalyticsRankings": { + "get": { + "tags": [ + "WafLogAnalytics" + ], + "operationId": "LogAnalytics_GetWafLogAnalyticsRankings", + "x-ms-examples": { + "LogAnalytics_GetWafLogAnalyticsRankings": { + "$ref": "./examples/LogAnalytics_GetWafLogAnalyticsRankings.json" + } + }, + "description": "Get WAF log analytics charts for AFD profile", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium profile which is unique within the resource group. which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "metrics", + "type": "array", + "in": "query", + "required": true, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "clientRequestCount" + ], + "x-ms-enum": { + "name": "WafMetric", + "modelAsString": true + } + } + }, + { + "name": "dateTimeBegin", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "dateTimeEnd", + "type": "string", + "in": "query", + "required": true, + "format": "date-time" + }, + { + "name": "maxRanking", + "in": "query", + "required": true, + "type": "integer", + "format": "int32" + }, + { + "name": "rankings", + "type": "array", + "in": "query", + "required": true, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "action", + "ruleGroup", + "ruleId", + "userAgent", + "clientIp", + "url", + "countryOrRegion", + "ruleType" + ], + "x-ms-enum": { + "name": "WafRankingType", + "modelAsString": true + } + } + }, + { + "name": "actions", + "type": "array", + "in": "query", + "required": false, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "allow", + "block", + "log", + "redirect" + ], + "x-ms-enum": { + "name": "WafAction", + "modelAsString": true + } + } + }, + { + "name": "ruleTypes", + "type": "array", + "in": "query", + "required": false, + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "managed", + "custom", + "bot" + ], + "x-ms-enum": { + "name": "WafRuleType", + "modelAsString": true + } + } + } + ], + "responses": { + "200": { + "description": "Describe the result of a successful operation.", + "schema": { + "$ref": "#/definitions/WafRankingsResponse" + } + }, + "default": { + "description": "Azure Front Door Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/AfdErrorResponse" + } + } + } + } + } + }, + "definitions": { + "ProfileChangeSkuWafMapping": { + "type": "object", + "description": "Parameters required for profile upgrade.", + "required": [ + "securityPolicyName", + "changeToWafPolicy" + ], + "properties": { + "securityPolicyName": { + "description": "The security policy name.", + "type": "string" + }, + "changeToWafPolicy": { + "description": "The new waf resource for the security policy to use.", + "$ref": "./cdn.json#/definitions/ResourceReference" + } + } + }, + "ProfileUpgradeParameters": { + "type": "object", + "description": "Parameters required for profile upgrade.", + "required": [ + "wafMappingList" + ], + "properties": { + "wafMappingList": { + "description": "Web Application Firewall (WAF) and security policy mapping for the profile upgrade", + "type": "array", + "items": { + "description": "List of waf mappings", + "$ref": "#/definitions/ProfileChangeSkuWafMapping" + }, + "x-ms-identifiers": [] + } + } + }, + "AfdPurgeParameters": { + "type": "object", + "description": "Parameters required for content purge.", + "required": [ + "contentPaths" + ], + "properties": { + "contentPaths": { + "description": "The path to the content to be purged. Can describe a file path or a wild card directory.", + "type": "array", + "items": { + "type": "string" + } + }, + "domains": { + "description": "List of domains.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Certificate": { + "description": "Certificate used for https", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/SecretType" + }, + "subject": { + "description": "Subject name in the certificate.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "description": "Certificate expiration date.", + "type": "string", + "readOnly": true + } + } + }, + "ManagedCertificate": { + "description": "Managed Certificate used for https", + "allOf": [ + { + "$ref": "#/definitions/Certificate" + } + ] + }, + "CustomerCertificate": { + "description": "Customer Certificate used for https", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/Certificate" + } + ], + "properties": { + "secretSource": { + "description": "Resource reference to the Azure Key Vault certificate. Expected to be in format of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{certificateName}", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "secretVersion": { + "description": "Certificate version.", + "type": "string" + }, + "certificateAuthority": { + "description": "Certificate issuing authority.", + "type": "string", + "readOnly": true + }, + "useLatestVersion": { + "description": "Whether to use the latest version for the certificate", + "type": "boolean" + }, + "subjectAlternativeNames": { + "description": "The list of SANs.", + "type": "array", + "items": { + "type": "string", + "readOnly": true + } + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string", + "readOnly": true + } + } + }, + "AzureFirstPartyManagedCertificate": { + "description": "Azure FirstParty Managed Certificate provided by other first party resource providers to enable HTTPS.", + "allOf": [ + { + "$ref": "#/definitions/Certificate" + } + ] + }, + "ValidateSecretInput": { + "description": "Input of the secret to be validated.", + "type": "object", + "required": [ + "secretSource", + "secretType" + ], + "properties": { + "secretType": { + "description": "The secret type.", + "$ref": "#/definitions/SecretType" + }, + "secretSource": { + "description": "Resource reference to the Azure Key Vault secret. Expected to be in format of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "secretVersion": { + "description": "Secret version, if customer is using a specific version.", + "type": "string" + } + } + }, + "ValidateSecretOutput": { + "description": "Output of the validated secret.", + "type": "object", + "properties": { + "status": { + "description": "The validation status.", + "enum": [ + "Valid", + "Invalid", + "AccessDenied", + "CertificateExpired" + ], + "type": "string", + "x-ms-enum": { + "name": "status", + "modelAsString": true + } + }, + "message": { + "description": "Detailed error message", + "type": "string" + } + } + }, + "KeyGroup": { + "description": "Contains a list of references of UrlSigningKey type secret objects.", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/KeyGroupProperties" + } + } + }, + "KeyGroupProperties": { + "description": "The JSON object that contains the properties of the key group to create.", + "allOf": [ + { + "$ref": "#/definitions/KeyGroupUpdatePropertiesParameters" + }, + { + "$ref": "#/definitions/AFDStateProperties" + } + ] + }, + "KeyGroupUpdatePropertiesParameters": { + "description": "The JSON object containing properties of key group to create or update.", + "type": "object", + "properties": { + "keyReferences": { + "description": "Names of UrlSigningKey type secret objects", + "type": "array", + "items": { + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "x-ms-identifiers": [] + } + } + }, + "KeyGroupListResult": { + "description": "Result of the request to list keyGroups. It contains a list of KeyGroup objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/KeyGroup" + }, + "description": "List of AzureFrontDoor KeyGroup within a profile." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of KeyGroup objects if there are any." + } + } + }, + "AFDDomainListResult": { + "description": "Result of the request to list domains. It contains a list of domain objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/AFDDomain" + }, + "description": "List of AzureFrontDoor domains within a profile." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of domain objects if there are any." + } + } + }, + "AFDDomain": { + "description": "Friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes, e.g. www.contoso.com.", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AFDDomainProperties" + } + } + }, + "AFDDomainProperties": { + "description": "The JSON object that contains the properties of the domain to create.", + "type": "object", + "required": [ + "hostName" + ], + "allOf": [ + { + "$ref": "#/definitions/AFDDomainUpdatePropertiesParameters" + }, + { + "$ref": "#/definitions/AFDStateProperties" + } + ], + "properties": { + "domainValidationState": { + "description": "Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step. DCV stands for DomainControlValidation.", + "readOnly": true, + "enum": [ + "Unknown", + "Submitting", + "Pending", + "Rejected", + "TimedOut", + "PendingRevalidation", + "Approved", + "RefreshingValidationToken", + "InternalError" + ], + "type": "string", + "x-ms-enum": { + "name": "DomainValidationState", + "modelAsString": true + } + }, + "hostName": { + "description": "The host name of the domain. Must be a domain name.", + "type": "string" + }, + "extendedProperties": { + "description": "Key-Value pair representing migration properties for domains.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "validationProperties": { + "description": "Values the customer needs to validate domain ownership", + "readOnly": true, + "type": "object", + "$ref": "#/definitions/DomainValidationProperties" + }, + "referencedRoutePaths": { + "description": "The JSON object list that contains the overall picture of how routes are used for the shared custom domain across different profiles.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AFDDomainReferencedRoutePath" + }, + "x-ms-identifiers": [ + "/routeId/id" + ] + } + } + }, + "AFDDomainUpdateParameters": { + "description": "The domain JSON object required for domain creation or update.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AFDDomainUpdatePropertiesParameters" + } + } + }, + "AFDDomainUpdatePropertiesParameters": { + "description": "The JSON object that contains the properties of the domain to create.", + "type": "object", + "properties": { + "profileName": { + "description": "The name of the profile which holds the domain.", + "type": "string", + "readOnly": true + }, + "tlsSettings": { + "description": "The configuration specifying how to enable HTTPS for the domain - using AzureFrontDoor managed certificate or user's own certificate. If not specified, enabling ssl uses AzureFrontDoor managed certificate by default.", + "type": "object", + "$ref": "#/definitions/AFDDomainHttpsParameters" + }, + "mtlsSettings": { + "description": "The configuration specifying how to enable mutual TLS for the domain, including specifying allowed FQDN and which server certificate(s) to use.", + "type": "object", + "$ref": "#/definitions/AFDDomainMtlsParameters" + }, + "azureDnsZone": { + "description": "Resource reference to the Azure DNS zone", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "preValidatedCustomDomainResourceId": { + "description": "Resource reference to the Azure resource where custom domain ownership was prevalidated", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + } + } + }, + "DomainValidationProperties": { + "description": "The JSON object that contains the properties to validate a domain.", + "type": "object", + "properties": { + "validationToken": { + "description": "Challenge used for DNS TXT record or file based validation", + "readOnly": true, + "type": "string" + }, + "expirationDate": { + "description": "The date time that the token expires", + "readOnly": true, + "type": "string" + } + } + }, + "AFDDomainHttpsParameters": { + "description": "The JSON object that contains the properties to secure a domain.", + "type": "object", + "required": [ + "certificateType" + ], + "properties": { + "certificateType": { + "description": "Defines the source of the SSL certificate.", + "enum": [ + "CustomerCertificate", + "ManagedCertificate", + "AzureFirstPartyManagedCertificate" + ], + "type": "string", + "x-ms-enum": { + "name": "AfdCertificateType", + "modelAsString": true + } + }, + "cipherSuiteSetType": { + "description": "cipher suite set type that will be used for Https", + "enum": [ + "Customized", + "TLS10_2019", + "TLS12_2022", + "TLS12_2023" + ], + "type": "string", + "x-ms-enum": { + "name": "AfdCipherSuiteSetType", + "modelAsString": true + } + }, + "minimumTlsVersion": { + "description": "TLS protocol version that will be used for Https when cipherSuiteSetType is Customized.", + "enum": [ + "TLS10", + "TLS12", + "TLS13" + ], + "type": "string", + "x-ms-enum": { + "name": "AfdMinimumTlsVersion", + "modelAsString": false + } + }, + "customizedCipherSuiteSet": { + "description": "Customized cipher suites object that will be used for Https when cipherSuiteSetType is Customized.", + "type": "object", + "$ref": "#/definitions/AFDDomainHttpsCustomizedCipherSuiteSet" + }, + "secret": { + "description": "Resource reference to the secret. ie. subs/rg/profile/secret", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + } + } + }, + "AFDDomainHttpsCustomizedCipherSuiteSet": { + "description": "Customized cipher suite set object that will be used for Https when cipherSuiteSetType is Customized.", + "type": "object", + "properties": { + "cipherSuiteSetForTls10": { + "description": "Cipher suites for TLS 1.0. Required at least one in minimumTlsVersion TLS 1.0.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "ECDHE_RSA_AES128_SHA", + "ECDHE_RSA_AES256_SHA", + "AES256_SHA", + "AES128_SHA" + ], + "x-ms-enum": { + "name": "AfdCustomizedCipherSuiteForTls10", + "modelAsString": true + } + } + }, + "cipherSuiteSetForTls12": { + "description": "Cipher suites for TLS 1.2. Required at least one in minimumTlsVersion TLS 1.2, option in minimumTlsVersion TLS 1.0.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "ECDHE_RSA_AES128_GCM_SHA256", + "ECDHE_RSA_AES256_GCM_SHA384", + "DHE_RSA_AES256_GCM_SHA384", + "DHE_RSA_AES128_GCM_SHA256", + "ECDHE_RSA_AES128_SHA256", + "ECDHE_RSA_AES256_SHA384", + "AES256_GCM_SHA384", + "AES128_GCM_SHA256", + "AES256_SHA256", + "AES128_SHA256" + ], + "x-ms-enum": { + "name": "AfdCustomizedCipherSuiteForTls12", + "modelAsString": true + } + } + }, + "cipherSuiteSetForTls13": { + "description": "Cipher suites for TLS 1.3. Required at least one in minimumTlsVersion TLS 1.0, TLS 1.2, TLS 1.3.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "TLS_AES_128_GCM_SHA256", + "TLS_AES_256_GCM_SHA384" + ], + "x-ms-enum": { + "name": "AfdCustomizedCipherSuiteForTls13", + "modelAsString": true + } + } + } + } + }, + "AFDDomainReferencedRoutePath": { + "description": "route configuration of the shared custom domain.", + "type": "object", + "properties": { + "routeId": { + "description": "Resource reference to the route.", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "paths": { + "description": "List of paths of the route.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "AFDDomainMtlsParameters": { + "description": "The JSON object that contains the properties to configure mutual TLS for a custom domain with FQDN. Mutual TLS cannot be configured for custom domains with wildcard host names.", + "type": "object", + "properties": { + "secrets": { + "description": "List of one or two of Resource References (ie. subs/rg/profile/secret) to Secrets of type MtlsCertificateChain to use in mutual TLS handshake.", + "type": "array", + "items": { + "$ref": "./cdn.json#/definitions/ResourceReference" + } + }, + "otherAllowedFqdn": { + "description": "List of FQDN that will be accepted for mutual TLS validation in addition to custom domain's hostname.", + "type": "array", + "items": { + "type": "string" + } + }, + "certificateValidation": { + "description": "Set to Enabled by default. If set to Disabled, validation of client certificate chain for mutual TLS handshake will be skipped.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnabledState", + "modelAsString": true + } + }, + "certificatePassthrough": { + "description": "Set to Disabled by default. If set to Enabled, then selected client certificate chain(s) are sent directly to origin using reserved header.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnabledState", + "modelAsString": true + } + }, + "ocsp": { + "description": "Set to Enabled by default. If set to Disabled, revocation status of client certificate chain will be checked before establishing mutual TLS connection.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnabledState", + "modelAsString": true + } + } + } + }, + "SecurityPolicy": { + "description": "SecurityPolicy association for AzureFrontDoor profile", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecurityPolicyProperties" + } + } + }, + "SecurityPolicyProperties": { + "description": "The json object that contains properties required to create a security policy", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AFDStateProperties" + } + ], + "properties": { + "profileName": { + "description": "The name of the profile which holds the security policy.", + "type": "string", + "readOnly": true + }, + "parameters": { + "description": "object which contains security policy parameters", + "$ref": "#/definitions/SecurityPolicyPropertiesParameters" + } + } + }, + "SecurityPolicyUpdateParameters": { + "description": "The JSON object containing security policy update parameters.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecurityPolicyUpdateProperties" + } + } + }, + "SecurityPolicyUpdateProperties": { + "description": "The json object that contains properties required to update a security policy", + "type": "object", + "properties": { + "parameters": { + "description": "object which contains security policy parameters", + "$ref": "#/definitions/SecurityPolicyPropertiesParameters" + } + } + }, + "SecurityPolicyPropertiesParameters": { + "description": "The json object containing security policy parameters", + "discriminator": "type", + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "description": "The type of the Security policy to create.", + "enum": [ + "WebApplicationFirewall" + ], + "type": "string", + "x-ms-enum": { + "name": "SecurityPolicyType", + "modelAsString": true + } + } + } + }, + "SecurityPolicyWebApplicationFirewallParameters": { + "description": "The json object containing security policy waf parameters", + "x-ms-discriminator-value": "WebApplicationFirewall", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecurityPolicyPropertiesParameters" + } + ], + "properties": { + "wafPolicy": { + "type": "object", + "description": "Resource ID.", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "associations": { + "description": "Waf associations", + "type": "array", + "items": { + "$ref": "#/definitions/SecurityPolicyWebApplicationFirewallAssociation" + }, + "x-ms-identifiers": [] + } + } + }, + "SecurityPolicyWebApplicationFirewallAssociation": { + "description": "settings for security policy patterns to match", + "type": "object", + "properties": { + "domains": { + "description": "List of domains.", + "type": "array", + "items": { + "$ref": "#/definitions/ActivatedResourceReference" + } + }, + "patternsToMatch": { + "description": "List of paths", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "SecurityPolicyListResult": { + "description": "Result of the request to list security policies. It contains a list of security policy objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/SecurityPolicy" + }, + "description": "List of Security policies within a profile" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of security policy objects if there is any." + } + } + }, + "AutoGeneratedDomainNameLabelScope": { + "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", + "enum": [ + "TenantReuse", + "SubscriptionReuse", + "ResourceGroupReuse", + "NoReuse" + ], + "type": "string", + "x-ms-enum": { + "name": "AutoGeneratedDomainNameLabelScope", + "modelAsString": true + } + }, + "AFDEndpoint": { + "description": "Azure Front Door endpoint is the entity within a Azure Front Door profile containing configuration information such as origin, protocol, content caching and delivery behavior. The AzureFrontDoor endpoint uses the URL format .azureedge.net.", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AFDEndpointProperties" + } + } + }, + "AFDEndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AFDEndpointPropertiesUpdateParameters" + }, + { + "$ref": "#/definitions/AFDStateProperties" + } + ], + "properties": { + "hostName": { + "description": "The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net", + "type": "string", + "readOnly": true + }, + "autoGeneratedDomainNameLabelScope": { + "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", + "$ref": "#/definitions/AutoGeneratedDomainNameLabelScope" + } + } + }, + "AFDEndpointListResult": { + "description": "Result of the request to list endpoints. It contains a list of endpoint objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/AFDEndpoint" + }, + "description": "List of AzureFrontDoor endpoints within a profile" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of endpoint objects if there is any." + } + } + }, + "AFDEndpointUpdateParameters": { + "type": "object", + "description": "Properties required to create or update an endpoint.", + "properties": { + "tags": { + "description": "Endpoint tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AFDEndpointPropertiesUpdateParameters" + } + }, + "x-ms-azure-resource": true + }, + "AFDEndpointPropertiesUpdateParameters": { + "description": "The JSON object containing endpoint update parameters.", + "type": "object", + "properties": { + "profileName": { + "description": "The name of the profile which holds the endpoint.", + "type": "string", + "readOnly": true + }, + "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnabledState", + "modelAsString": true + } + } + } + }, + "CompressionSettings": { + "description": "settings for compression.", + "type": "object", + "properties": { + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", + "type": "array", + "items": { + "type": "string" + } + }, + "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on AzureFrontDoor. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB.", + "type": "boolean" + } + } + }, + "AFDEndpointProtocols": { + "description": "Supported protocols for the customer's endpoint.", + "enum": [ + "Http", + "Https" + ], + "type": "string", + "x-ms-enum": { + "name": "AFDEndpointProtocols", + "modelAsString": true + } + }, + "SecretListResult": { + "description": "Result of the request to list secrets. It contains a list of Secret objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Secret" + }, + "description": "List of AzureFrontDoor secrets within a profile." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of Secret objects if there are any." + } + } + }, + "Secret": { + "description": "Friendly Secret name mapping to the any Secret or secret related information.", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SecretProperties" + } + } + }, + "SecretProperties": { + "description": "The JSON object that contains the properties of the Secret to create.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AFDStateProperties" + } + ], + "properties": { + "profileName": { + "description": "The name of the profile which holds the secret.", + "type": "string", + "readOnly": true + }, + "parameters": { + "description": "object which contains secret parameters", + "$ref": "#/definitions/SecretParameters" + } + } + }, + "SecretParameters": { + "description": "The json object containing secret parameters", + "discriminator": "type", + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/SecretType" + } + } + }, + "SecretType": { + "description": "The type of the secret resource.", + "enum": [ + "UrlSigningKey", + "CustomerCertificate", + "ManagedCertificate", + "AzureFirstPartyManagedCertificate", + "MtlsCertificateChain" + ], + "type": "string", + "x-ms-enum": { + "name": "SecretType", + "modelAsString": true + } + }, + "UrlSigningKeyParameters": { + "description": "Url signing key parameters", + "x-ms-discriminator-value": "UrlSigningKey", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecretParameters" + } + ], + "required": [ + "keyId", + "secretSource", + "secretVersion" + ], + "properties": { + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" + }, + "secretSource": { + "description": "Resource reference to the Azure Key Vault secret. Expected to be in format of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + } + } + }, + "ManagedCertificateParameters": { + "description": "Managed Certificate used for https", + "x-ms-discriminator-value": "ManagedCertificate", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecretParameters" + } + ], + "properties": { + "subject": { + "description": "Subject name in the certificate.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "description": "Certificate expiration date.", + "type": "string", + "readOnly": true + } + } + }, + "CustomerCertificateParameters": { + "description": "Customer Certificate used for https", + "x-ms-discriminator-value": "CustomerCertificate", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecretParameters" + } + ], + "required": [ + "secretSource" + ], + "properties": { + "secretSource": { + "description": "Resource reference to the Azure Key Vault certificate. Expected to be in format of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{certificateName}", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + }, + "useLatestVersion": { + "description": "Whether to use the latest version for the certificate", + "type": "boolean" + }, + "subject": { + "description": "Subject name in the certificate.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "description": "Certificate expiration date.", + "type": "string", + "readOnly": true + }, + "certificateAuthority": { + "description": "Certificate issuing authority.", + "type": "string", + "readOnly": true + }, + "subjectAlternativeNames": { + "description": "The list of SANs.", + "type": "array", + "items": { + "type": "string", + "readOnly": true + } + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string", + "readOnly": true + } + } + }, + "AzureFirstPartyManagedCertificateParameters": { + "description": "Azure FirstParty Managed Certificate provided by other first party resource providers to enable HTTPS.", + "x-ms-discriminator-value": "AzureFirstPartyManagedCertificate", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecretParameters" + } + ], + "properties": { + "secretSource": { + "description": "Resource reference to the Azure Key Vault certificate. Expected to be in format of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{certificateName}", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference", + "readOnly": true + }, + "subject": { + "description": "Subject name in the certificate.", + "type": "string", + "readOnly": true + }, + "expirationDate": { + "description": "Certificate expiration date.", + "type": "string", + "readOnly": true + }, + "certificateAuthority": { + "description": "Certificate issuing authority.", + "type": "string", + "readOnly": true + }, + "subjectAlternativeNames": { + "description": "The list of SANs.", + "type": "array", + "items": { + "type": "string", + "readOnly": true + } + }, + "thumbprint": { + "description": "Certificate thumbprint.", + "type": "string", + "readOnly": true + } + } + }, + "AfdSecretMtlsCertificateChain": { + "description": "Server-side certificate used for mTLS validation", + "x-ms-discriminator-value": "MtlsCertificateChain", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/SecretParameters" + } + ], + "required": [ + "secretSource", + "secretVersion" + ], + "properties": { + "secretSource": { + "description": "Resource reference to the Azure Key Vault secret. Expected to be in format of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "secretVersion": { + "description": "Version of the secret to be used", + "type": "string" + }, + "expirationDate": { + "description": "Soonest expiration date among certificates in customer's certificate chain in ISO 8601 compliant format yyyy-MM-ddTHH:mm:ss.fffffffK in UTC", + "type": "string", + "readOnly": true + } + } + }, + "RuleSetListResult": { + "description": "Result of the request to list rule sets. It contains a list of rule set objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/RuleSet" + }, + "description": "List of AzureFrontDoor rule sets within a profile." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of rule set objects if there are any." + } + } + }, + "RuleSet": { + "description": "Friendly RuleSet name mapping to the any RuleSet or secret related information.", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RuleSetProperties" + } + } + }, + "RuleSetProperties": { + "description": "The JSON object that contains the properties of the Rule Set to create.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AFDStateProperties" + } + ], + "properties": { + "profileName": { + "description": "The name of the profile which holds the rule set.", + "type": "string", + "readOnly": true + } + } + }, + "AFDOrigin": { + "description": "Azure Front Door origin is the source of the content being delivered via Azure Front Door. When the edge nodes represented by an endpoint do not have the requested content cached, they attempt to fetch it from one or more of the configured origins.", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AFDOriginProperties" + } + } + }, + "AFDOriginProperties": { + "description": "The JSON object that contains the properties of the origin.", + "required": [ + "hostName" + ], + "allOf": [ + { + "$ref": "#/definitions/AFDOriginUpdatePropertiesParameters" + }, + { + "$ref": "#/definitions/AFDStateProperties" + } + ] + }, + "AFDOriginUpdateParameters": { + "type": "object", + "description": "AFDOrigin properties needed for origin update.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AFDOriginUpdatePropertiesParameters" + } + }, + "x-ms-azure-resource": true + }, + "AFDOriginUpdatePropertiesParameters": { + "description": "The JSON object that contains the properties of the origin.", + "type": "object", + "properties": { + "originGroupName": { + "description": "The name of the origin group which contains this origin.", + "type": "string", + "readOnly": true + }, + "azureOrigin": { + "description": "Resource reference to the Azure origin resource.", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "hostName": { + "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "type": "integer", + "format": "int32", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false, + "default": 80 + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "type": "integer", + "maximum": 65535, + "format": "int32", + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false, + "default": 443 + }, + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure Front Door origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint", + "type": "string" + }, + "priority": { + "description": "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5", + "type": "integer", + "format": "int32", + "maximum": 5, + "minimum": 1 + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "type": "integer", + "format": "int32", + "maximum": 1000, + "minimum": 1 + }, + "sharedPrivateLinkResource": { + "description": "The properties of the private link resource for private origin.", + "type": "object", + "$ref": "#/definitions/SharedPrivateLinkResourceProperties" + }, + "enabledState": { + "description": "Whether to enable health probes to be made against backends defined under backendPools. Health probes can only be disabled if there is a single enabled backend in single enabled backend pool.", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "EnabledState", + "modelAsString": true + } + }, + "enforceCertificateNameCheck": { + "description": "Whether to enable certificate name check at origin level", + "type": "boolean", + "default": true + } + } + }, + "SharedPrivateLinkResourceProperties": { + "type": "object", + "properties": { + "privateLink": { + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference", + "description": "The resource id of the resource the shared private link resource is for." + }, + "privateLinkLocation": { + "type": "string", + "description": "The location of the shared private link resource" + }, + "groupId": { + "type": "string", + "description": "The group id from the provider of resource the shared private link resource is for." + }, + "requestMessage": { + "type": "string", + "description": "The request message for requesting approval of the shared private link resource." + }, + "status": { + "type": "string", + "description": "Status of the shared private link resource. Can be Pending, Approved, Rejected, Disconnected, or Timeout.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "x-ms-enum": { + "name": "SharedPrivateLinkResourceStatus", + "modelAsString": false + } + } + }, + "description": "Describes the properties of an existing Shared Private Link Resource to use when connecting to a private origin." + }, + "AFDOriginListResult": { + "description": "Result of the request to list origins. It contains a list of origin objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/AFDOrigin" + }, + "description": "List of Azure Front Door origins within an Azure Front Door endpoint" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of origin objects if there are any." + } + } + }, + "AFDOriginGroup": { + "description": "AFDOrigin group comprising of origins is used for load balancing to origins when the content cannot be served from Azure Front Door.", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AFDOriginGroupProperties" + } + } + }, + "AFDOriginGroupProperties": { + "description": "The JSON object that contains the properties of the origin group.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/AFDOriginGroupUpdatePropertiesParameters" + }, + { + "$ref": "#/definitions/AFDStateProperties" + } + ] + }, + "AFDOriginGroupUpdateParameters": { + "type": "object", + "description": "AFDOrigin group properties needed for origin group creation or update.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AFDOriginGroupUpdatePropertiesParameters" + } + }, + "x-ms-azure-resource": true + }, + "AFDOriginGroupUpdatePropertiesParameters": { + "description": "The JSON object that contains the properties of the origin group.", + "type": "object", + "properties": { + "profileName": { + "description": "The name of the profile which holds the origin group.", + "type": "string", + "readOnly": true + }, + "loadBalancingSettings": { + "description": "Load balancing settings for a backend pool", + "$ref": "#/definitions/LoadBalancingSettingsParameters" + }, + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "type": "object", + "$ref": "./cdn.json#/definitions/HealthProbeParameters" + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "description": "Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.", + "type": "integer", + "format": "int32", + "maximum": 50, + "minimum": 0 + }, + "sessionAffinityState": { + "description": "Whether to allow session affinity on this host. Valid options are 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnabledState", + "modelAsString": true + } + } + } + }, + "LoadBalancingSettingsParameters": { + "description": "Round-Robin load balancing settings for a backend pool", + "type": "object", + "properties": { + "sampleSize": { + "description": "The number of samples to consider for load balancing decisions", + "type": "integer", + "format": "int32" + }, + "successfulSamplesRequired": { + "description": "The number of samples within the sample period that must succeed", + "type": "integer", + "format": "int32" + }, + "additionalLatencyInMilliseconds": { + "description": "The additional latency in milliseconds for probes to fall into the lowest latency bucket", + "type": "integer", + "format": "int32" + } + } + }, + "AFDOriginGroupListResult": { + "description": "Result of the request to list origin groups. It contains a list of origin groups objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/AFDOriginGroup" + }, + "description": "List of Azure Front Door origin groups within an Azure Front Door endpoint" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of origin objects if there are any." + } + } + }, + "RouteListResult": { + "description": "Result of the request to list routes. It contains a list of route objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Route" + }, + "description": "List of AzureFrontDoor routes within a profile." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of route objects if there are any." + } + } + }, + "Route": { + "description": "Friendly Routes name mapping to the any Routes or secret related information.", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteProperties" + } + } + }, + "RouteProperties": { + "description": "The JSON object that contains the properties of the Routes to create.", + "allOf": [ + { + "$ref": "#/definitions/RouteUpdatePropertiesParameters" + }, + { + "$ref": "#/definitions/AFDStateProperties" + } + ], + "required": [ + "originGroup" + ] + }, + "RouteUpdateParameters": { + "description": "The domain JSON object required for domain creation or update.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteUpdatePropertiesParameters" + } + } + }, + "RouteUpdatePropertiesParameters": { + "description": "The JSON object that contains the properties of the domain to create.", + "type": "object", + "properties": { + "endpointName": { + "description": "The name of the endpoint which holds the route.", + "type": "string", + "readOnly": true + }, + "customDomains": { + "description": "Domains referenced by this endpoint.", + "type": "array", + "items": { + "$ref": "#/definitions/ActivatedResourceReference" + } + }, + "originGroup": { + "description": "A reference to the origin group.", + "type": "object", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "originPath": { + "description": "A directory path on the origin that AzureFrontDoor can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" + }, + "ruleSets": { + "description": "rule sets referenced by this endpoint.", + "type": "array", + "items": { + "$ref": "./cdn.json#/definitions/ResourceReference" + } + }, + "supportedProtocols": { + "description": "List of supported protocols for this route.", + "type": "array", + "items": { + "$ref": "#/definitions/AFDEndpointProtocols" + }, + "default": [ + "Http", + "Https" + ] + }, + "patternsToMatch": { + "description": "The route patterns of the rule.", + "type": "array", + "items": { + "type": "string", + "description": "A route pattern of the rule. Must not have any * except possibly after the final / at the end of the path." + } + }, + "cacheConfiguration": { + "description": "The caching configuration for this route. To disable caching, do not provide a cacheConfiguration object.", + "type": "object", + "$ref": "#/definitions/AfdRouteCacheConfiguration" + }, + "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", + "type": "string", + "enum": [ + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ], + "x-ms-enum": { + "name": "ForwardingProtocol", + "modelAsString": true + }, + "default": "MatchRequest" + }, + "linkToDefaultDomain": { + "description": "whether this route will be linked to the default endpoint domain.", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "LinkToDefaultDomain", + "modelAsString": true + }, + "default": "Disabled" + }, + "httpsRedirect": { + "description": "Whether to automatically redirect HTTP traffic to HTTPS traffic. Note that this is a easy way to set up this rule and it will be the first rule that gets executed.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "httpsRedirect", + "modelAsString": true + }, + "default": "Disabled" + }, + "enabledState": { + "description": "Whether to enable use of this rule. Permitted values are 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnabledState", + "modelAsString": true + } + }, + "grpcState": { + "description": "Whether or not gRPC is enabled on this route. Permitted values are 'Enabled' or 'Disabled'", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "AFDRouteGrpcState", + "modelAsString": true + } + } + } + }, + "AfdRouteCacheConfiguration": { + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", + "type": "object", + "properties": { + "queryStringCachingBehavior": { + "description": "Defines how Frontdoor caches requests that include query strings. You can ignore any query strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query strings.", + "enum": [ + "IgnoreQueryString", + "UseQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings" + ], + "type": "string", + "x-ms-enum": { + "name": "afdQueryStringCachingBehavior", + "modelAsString": true + } + }, + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string" + }, + "compressionSettings": { + "description": "compression settings.", + "type": "object", + "$ref": "#/definitions/CompressionSettings" + } + } + }, + "RuleListResult": { + "description": "Result of the request to list rules. It contains a list of rule objects and a URL link to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Rule" + }, + "description": "List of AzureFrontDoor rules within a rule set." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of rule objects if there are any." + } + } + }, + "Rule": { + "description": "Friendly Rules name mapping to the any Rules or secret related information.", + "type": "object", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RuleProperties" + } + } + }, + "RuleProperties": { + "description": "The JSON object that contains the properties of the Rules to create.", + "type": "object", + "required": [ + "order", + "actions" + ], + "allOf": [ + { + "$ref": "#/definitions/RuleUpdatePropertiesParameters" + }, + { + "$ref": "#/definitions/AFDStateProperties" + } + ] + }, + "RuleUpdateParameters": { + "description": "The domain JSON object required for domain creation or update.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RuleUpdatePropertiesParameters" + } + } + }, + "RuleUpdatePropertiesParameters": { + "description": "The JSON object that contains the properties of the rule to update.", + "type": "object", + "properties": { + "ruleSetName": { + "description": "The name of the rule set containing the rule.", + "type": "string", + "readOnly": true + }, + "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", + "type": "integer", + "format": "int32" + }, + "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", + "type": "array", + "items": { + "$ref": "./cdn.json#/definitions/DeliveryRuleCondition" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", + "type": "array", + "items": { + "$ref": "./cdn.json#/definitions/DeliveryRuleAction" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "matchProcessingBehavior": { + "description": "If this rule is a match should the rules engine continue running the remaining rules or stop. If not present, defaults to Continue.", + "type": "string", + "enum": [ + "Continue", + "Stop" + ], + "x-ms-enum": { + "name": "MatchProcessingBehavior", + "modelAsString": true + }, + "default": "Continue" + } + } + }, + "AfdUrlSigningAction": { + "description": "Defines the url signing action for the delivery rule.", + "type": "object", + "x-ms-discriminator-value": "AfdUrlSigning", + "allOf": [ + { + "$ref": "./cdn.json#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/AfdUrlSigningActionParameters" + } + } + }, + "AfdUrlSigningActionParameters": { + "description": "Defines the parameters for the Url Signing action.", + "type": "object", + "required": [ + "typeName", + "keyGroupReference" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleAfdUrlSigningActionParameters" + ], + "x-ms-enum": { + "name": "typeName", + "modelAsString": true + } + }, + "keyGroupReference": { + "description": "Resource reference to the Azure Key Vault secret. Expected to be in format of /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/keyGroups/{keyGroupName}", + "$ref": "./cdn.json#/definitions/ResourceReference" + }, + "algorithm": { + "description": "Algorithm to use for URL signing", + "type": "string", + "enum": [ + "SHA256" + ], + "x-ms-enum": { + "name": "algorithm", + "modelAsString": true + } + }, + "parameterNameOverride": { + "description": "Defines which query string parameters in the url to be considered for expires, key id etc. ", + "type": "array", + "items": { + "$ref": "./cdn.json#/definitions/UrlSigningParamIdentifier" + }, + "x-ms-identifiers": [ + "paramName" + ] + } + } + }, + "CheckEndpointNameAvailabilityInput": { + "description": "Input of CheckNameAvailability API.", + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "The resource name to validate.", + "type": "string" + }, + "type": { + "description": "The type of the resource whose name is to be validated.", + "$ref": "./cdn.json#/definitions/ResourceType" + }, + "autoGeneratedDomainNameLabelScope": { + "description": "Indicates the endpoint name reuse scope. The default value is TenantReuse.", + "$ref": "#/definitions/AutoGeneratedDomainNameLabelScope" + } + } + }, + "CheckEndpointNameAvailabilityOutput": { + "description": "Output of check name availability API.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "Indicates whether the name is available.", + "readOnly": true, + "type": "boolean" + }, + "availableHostname": { + "description": "Returns the available hostname generated based on the AutoGeneratedDomainNameLabelScope when the name is available, otherwise it returns empty string", + "readOnly": true, + "type": "string" + }, + "reason": { + "description": "The reason why the name is not available.", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "The detailed error message describing why the name is not available.", + "readOnly": true, + "type": "string" + } + } + }, + "CheckHostNameAvailabilityInput": { + "description": "Input of CheckHostNameAvailability API.", + "type": "object", + "required": [ + "hostName" + ], + "properties": { + "hostName": { + "description": "The host name to validate.", + "type": "string" + } + } + }, + "ValidationToken": { + "description": "The validation token.", + "type": "object", + "properties": { + "token": { + "readOnly": true, + "type": "string" + } + } + }, + "AFDStateProperties": { + "description": "The tracking states for afd resources.", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "description": "Provisioning status", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Updating", + "Deleting", + "Creating" + ], + "x-ms-enum": { + "name": "AfdProvisioningState", + "modelAsString": true + } + }, + "deploymentStatus": { + "enum": [ + "NotStarted", + "InProgress", + "Succeeded", + "Failed" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "DeploymentStatus", + "modelAsString": true + } + } + } + }, + "AfdErrorResponse": { + "title": "Error response", + "description": "Common error response for all Azure Resource Manager APIs to return error details for failed operations. (This also follows the OData error response format.).", + "type": "object", + "properties": { + "error": { + "description": "The error object.", + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorDetail" + } + } + }, + "MetricsResponse": { + "description": "Metrics Response", + "type": "object", + "properties": { + "dateTimeBegin": { + "type": "string", + "format": "date-time" + }, + "dateTimeEnd": { + "type": "string", + "format": "date-time" + }, + "granularity": { + "type": "string", + "enum": [ + "PT5M", + "PT1H", + "P1D" + ], + "x-ms-enum": { + "name": "MetricsGranularity", + "modelAsString": true + } + }, + "series": { + "type": "array", + "items": { + "type": "object", + "properties": { + "metric": { + "type": "string" + }, + "unit": { + "type": "string", + "enum": [ + "count", + "bytes", + "bitsPerSecond", + "milliSeconds" + ], + "x-ms-enum": { + "name": "MetricsSeriesUnit", + "modelAsString": true + } + }, + "groups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "x-ms-identifiers": [ + "name" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "dateTime": { + "type": "string", + "format": "date-time" + }, + "value": { + "type": "number" + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "RankingsResponse": { + "description": "Rankings Response", + "type": "object", + "properties": { + "dateTimeBegin": { + "type": "string", + "format": "date-time" + }, + "dateTimeEnd": { + "type": "string", + "format": "date-time" + }, + "tables": { + "type": "array", + "items": { + "type": "object", + "properties": { + "ranking": { + "type": "string" + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "metrics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "metric": { + "type": "string" + }, + "value": { + "type": "integer", + "format": "int64" + }, + "percentage": { + "type": "number" + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "ContinentsResponse": { + "description": "Continents Response", + "type": "object", + "properties": { + "continents": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + } + } + } + }, + "countryOrRegions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "continentId": { + "type": "string" + } + } + } + } + } + }, + "ResourcesResponse": { + "description": "Resources Response", + "type": "object", + "properties": { + "endpoints": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "history": { + "type": "boolean" + }, + "customDomains": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "endpointId": { + "type": "string" + }, + "history": { + "type": "boolean" + } + } + } + } + } + } + }, + "customDomains": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "endpointId": { + "type": "string" + }, + "history": { + "type": "boolean" + } + } + } + } + } + }, + "WafMetricsResponse": { + "description": "Waf Metrics Response", + "type": "object", + "properties": { + "dateTimeBegin": { + "type": "string", + "format": "date-time" + }, + "dateTimeEnd": { + "type": "string", + "format": "date-time" + }, + "granularity": { + "type": "string", + "enum": [ + "PT5M", + "PT1H", + "P1D" + ], + "x-ms-enum": { + "name": "WafMetricsGranularity", + "modelAsString": true + } + }, + "series": { + "type": "array", + "items": { + "type": "object", + "properties": { + "metric": { + "type": "string" + }, + "unit": { + "type": "string", + "enum": [ + "count" + ], + "x-ms-enum": { + "name": "WafMetricsSeriesUnit", + "modelAsString": true + } + }, + "groups": { + "type": "array", + "items": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "x-ms-identifiers": [ + "name" + ] + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "dateTime": { + "type": "string", + "format": "date-time" + }, + "value": { + "type": "number" + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "WafRankingsResponse": { + "description": "Waf Rankings Response", + "type": "object", + "properties": { + "dateTimeBegin": { + "type": "string", + "format": "date-time" + }, + "dateTimeEnd": { + "type": "string", + "format": "date-time" + }, + "groups": { + "type": "array", + "items": { + "type": "string" + } + }, + "data": { + "type": "array", + "items": { + "type": "object", + "properties": { + "groupValues": { + "type": "array", + "items": { + "type": "string" + } + }, + "metrics": { + "type": "array", + "items": { + "type": "object", + "properties": { + "metric": { + "type": "string" + }, + "value": { + "type": "integer", + "format": "int64" + }, + "percentage": { + "type": "number", + "format": "double" + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "x-ms-identifiers": [] + } + } + }, + "UsageName": { + "type": "object", + "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": { + "type": "object", + "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": "Describes resource usage." + }, + "UsagesListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "description": "The list of resource usages." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "The list usages operation response." + }, + "ActivatedResourceReference": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + }, + "isActive": { + "readOnly": true, + "type": "boolean", + "description": "Whether the resource is active or inactive" + } + }, + "description": "Reference to another resource along with its state.", + "type": "object", + "x-ms-azure-resource": true + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Azure Subscription ID.", + "required": true, + "type": "string" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request. Current version is 2023-07-01-preview." + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the Resource group within the Azure subscription." + }, + "profileNameParameter": { + "name": "profileName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "minLength": 1, + "maxLength": 260, + "x-ms-parameter-location": "method", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium which is unique within the resource group." + }, + "keyGroupNameParameter": { + "name": "keyGroupName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "minLength": 1, + "maxLength": 260, + "x-ms-parameter-location": "method", + "description": "Name of the KeyGroup under the profile." + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/cdn.json new file mode 100644 index 000000000000..b2ba7c002827 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/cdn.json @@ -0,0 +1,7352 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "CdnManagementClient", + "description": "Use these APIs to manage Azure CDN resources through the Azure Resource Manager. You must make sure that requests made to these resources are secure." + }, + "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.Cdn/profiles": { + "get": { + "tags": [ + "Profiles" + ], + "description": "Lists all of the Azure Front Door Standard, Azure Front Door Premium, and CDN profiles within an Azure subscription.", + "operationId": "Profiles_List", + "x-ms-examples": { + "Profiles_List": { + "$ref": "./examples/Profiles_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProfileListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles": { + "get": { + "tags": [ + "Profiles" + ], + "description": "Lists all of the Azure Front Door Standard, Azure Front Door Premium, and CDN profiles within a resource group.", + "operationId": "Profiles_ListByResourceGroup", + "x-ms-examples": { + "Profiles_ListByResourceGroup": { + "$ref": "./examples/Profiles_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProfileListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}": { + "get": { + "tags": [ + "Profiles" + ], + "description": "Gets an Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified profile name under the specified subscription and resource group.", + "operationId": "Profiles_Get", + "x-ms-examples": { + "Profiles_Get": { + "$ref": "./examples/Profiles_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Profile" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Profiles" + ], + "description": "Creates a new Azure Front Door Standard or Azure Front Door Premium or CDN profile with a profile name under the specified subscription and resource group.", + "operationId": "Profiles_Create", + "x-ms-examples": { + "Profiles_Create": { + "$ref": "./examples/Profiles_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "description": "Profile properties needed to create a new profile.", + "in": "body", + "name": "profile", + "required": true, + "schema": { + "$ref": "#/definitions/Profile" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Profile" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new profile has been created.", + "schema": { + "$ref": "#/definitions/Profile" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Profile" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Profiles" + ], + "description": "Updates an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified profile name under the specified subscription and resource group.", + "operationId": "Profiles_Update", + "x-ms-examples": { + "Profiles_Update": { + "$ref": "./examples/Profiles_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "profileUpdateParameters", + "in": "body", + "description": "Profile properties needed to update an existing profile.", + "required": true, + "schema": { + "$ref": "#/definitions/ProfileUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Profile" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Profile" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Profiles" + ], + "description": "Deletes an existing Azure Front Door Standard or Azure Front Door Premium or CDN profile with the specified parameters. Deleting a profile will result in the deletion of all of the sub-resources including endpoints, origins and custom domains.", + "operationId": "Profiles_Delete", + "x-ms-examples": { + "Profiles_Delete": { + "$ref": "./examples/Profiles_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the profile was not found." + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/canMigrate": { + "post": { + "tags": [ + "Profiles" + ], + "description": "Checks if CDN profile can be migrated to Azure Frontdoor(Standard/Premium) profile.", + "operationId": "Profiles_CanMigrate", + "x-ms-examples": { + "Profiles_CanMigrate": { + "$ref": "./examples/Profiles_CanMigrate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "description": "Properties needed to check if cdn profile or classic frontdoor can be migrated.", + "in": "body", + "name": "canMigrateParameters", + "required": true, + "schema": { + "$ref": "#/definitions/CanMigrateParameters" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CanMigrateResult" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "default": { + "description": "CDN 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.Cdn/migrate": { + "post": { + "tags": [ + "Profiles" + ], + "description": "Migrate the CDN profile to Azure Frontdoor(Standard/Premium) profile. The change need to be committed after this.", + "operationId": "Profiles_Migrate", + "x-ms-examples": { + "Profiles_Migrate": { + "$ref": "./examples/Profiles_Migrate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "description": "Properties needed to migrate the profile.", + "in": "body", + "name": "migrationParameters", + "required": true, + "schema": { + "$ref": "#/definitions/MigrationParameters" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/MigrateResult" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/MigrateResult" + } + }, + "default": { + "description": "CDN 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.Cdn/profiles/{profileName}/migrationCommit": { + "post": { + "tags": [ + "Profiles" + ], + "description": "Commit the migrated Azure Frontdoor(Standard/Premium) profile.", + "operationId": "Profiles_MigrationCommit", + "x-ms-examples": { + "Profiles_MigrationCommit": { + "$ref": "./examples/Profiles_MigrationCommit.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "default": { + "description": "CDN 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": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/generateSsoUri": { + "post": { + "tags": [ + "Profiles" + ], + "description": "Generates a dynamic SSO URI used to sign in to the CDN supplemental portal. Supplemental portal is used to configure advanced feature capabilities that are not yet available in the Azure portal, such as core reports in a standard profile; rules engine, advanced HTTP reports, and real-time stats and alerts in a premium profile. The SSO URI changes approximately every 10 minutes.", + "operationId": "Profiles_GenerateSsoUri", + "x-ms-examples": { + "Profiles_GenerateSsoUri": { + "$ref": "./examples/Profiles_GenerateSsoUri.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/SsoUri" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/getSupportedOptimizationTypes": { + "post": { + "tags": [ + "Profiles" + ], + "description": "Gets the supported optimization types for the current profile. A user can create an endpoint with an optimization type from the listed values.", + "operationId": "Profiles_ListSupportedOptimizationTypes", + "x-ms-examples": { + "Profiles_ListSupportedOptimizationTypes": { + "$ref": "./examples/Profiles_ListSupportedOptimizationTypes.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/SupportedOptimizationTypesListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/checkResourceUsage": { + "post": { + "tags": [ + "Profiles" + ], + "description": "Checks the quota and actual usage of endpoints under the given Azure Front Door Standard or Azure Front Door Premium or CDN profile.", + "operationId": "Profiles_ListResourceUsage", + "x-ms-examples": { + "Profiles_ListResourceUsage": { + "$ref": "./examples/Profiles_ListResourceUsage.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium or CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ResourceUsageListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints": { + "get": { + "tags": [ + "Endpoints" + ], + "description": "Lists existing CDN endpoints.", + "operationId": "Endpoints_ListByProfile", + "x-ms-examples": { + "Endpoints_ListByProfile": { + "$ref": "./examples/Endpoints_ListByProfile.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EndpointListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}": { + "get": { + "tags": [ + "Endpoints" + ], + "description": "Gets an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.", + "operationId": "Endpoints_Get", + "x-ms-examples": { + "Endpoints_Get": { + "$ref": "./examples/Endpoints_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Endpoints" + ], + "description": "Creates a new CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.", + "operationId": "Endpoints_Create", + "x-ms-examples": { + "Endpoints_Create": { + "$ref": "./examples/Endpoints_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "endpoint", + "in": "body", + "description": "Endpoint properties", + "required": true, + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new endpoint has been created.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Endpoints" + ], + "description": "Updates an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile. Only tags can be updated after creating an endpoint. To update origins, use the Update Origin operation. To update origin groups, use the Update Origin group operation. To update custom domains, use the Update Custom Domain operation.", + "operationId": "Endpoints_Update", + "x-ms-examples": { + "Endpoints_Update": { + "$ref": "./examples/Endpoints_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "endpointUpdateProperties", + "in": "body", + "description": "Endpoint update properties", + "required": true, + "schema": { + "$ref": "#/definitions/EndpointUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "default": { + "description": "CDN error response describing why the operation failed", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Endpoints" + ], + "description": "Deletes an existing CDN endpoint with the specified endpoint name under the specified subscription, resource group and profile.", + "operationId": "Endpoints_Delete", + "x-ms-examples": { + "Endpoints_Delete": { + "$ref": "./examples/Endpoints_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the endpoint was not found." + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/start": { + "post": { + "tags": [ + "Endpoints" + ], + "description": "Starts an existing CDN endpoint that is on a stopped state.", + "operationId": "Endpoints_Start", + "x-ms-examples": { + "Endpoints_Start": { + "$ref": "./examples/Endpoints_Start.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/stop": { + "post": { + "tags": [ + "Endpoints" + ], + "description": "Stops an existing running CDN endpoint.", + "operationId": "Endpoints_Stop", + "x-ms-examples": { + "Endpoints_Stop": { + "$ref": "./examples/Endpoints_Stop.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Endpoint" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/purge": { + "post": { + "tags": [ + "Endpoints" + ], + "description": "Removes a content from CDN.", + "operationId": "Endpoints_PurgeContent", + "x-ms-examples": { + "Endpoints_PurgeContent": { + "$ref": "./examples/Endpoints_PurgeContent.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "contentFilePaths", + "in": "body", + "description": "The path to the content to be purged. Path can be a full URL, e.g. '/pictures/city.png' which removes a single file, or a directory with a wildcard, e.g. '/pictures/*' which removes all folders and files in the directory.", + "required": true, + "schema": { + "$ref": "#/definitions/PurgeParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/load": { + "post": { + "tags": [ + "Endpoints" + ], + "description": "Pre-loads a content to CDN. Available for Verizon Profiles.", + "operationId": "Endpoints_LoadContent", + "x-ms-examples": { + "Endpoints_LoadContent": { + "$ref": "./examples/Endpoints_LoadContent.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "contentFilePaths", + "in": "body", + "description": "The path to the content to be loaded. Path should be a full URL, e.g. ‘/pictures/city.png' which loads a single file ", + "required": true, + "schema": { + "$ref": "#/definitions/LoadParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/validateCustomDomain": { + "post": { + "tags": [ + "Endpoints" + ], + "description": "Validates the custom domain mapping to ensure it maps to the correct CDN endpoint in DNS.", + "operationId": "Endpoints_ValidateCustomDomain", + "x-ms-examples": { + "Endpoints_ValidateCustomDomain": { + "$ref": "./examples/Endpoints_ValidateCustomDomain.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "customDomainProperties", + "in": "body", + "description": "Custom domain to be validated.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateCustomDomainInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ValidateCustomDomainOutput" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/checkResourceUsage": { + "post": { + "tags": [ + "Endpoints" + ], + "description": "Checks the quota and usage of geo filters and custom domains under the given endpoint.", + "operationId": "Endpoints_ListResourceUsage", + "x-ms-examples": { + "Endpoints_ListResourceUsage": { + "$ref": "./examples/Endpoints_ListResourceUsage.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ResourceUsageListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins": { + "get": { + "tags": [ + "Origins" + ], + "description": "Lists all of the existing origins within an endpoint.", + "operationId": "Origins_ListByEndpoint", + "x-ms-examples": { + "Origins_ListByEndpoint": { + "$ref": "./examples/Origins_ListByEndpoint.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OriginListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/origins/{originName}": { + "get": { + "tags": [ + "Origins" + ], + "description": "Gets an existing origin within an endpoint.", + "operationId": "Origins_Get", + "x-ms-examples": { + "Origins_Get": { + "$ref": "./examples/Origins_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "originName", + "in": "path", + "description": "Name of the origin which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Origin" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "Origins" + ], + "description": "Creates a new origin within the specified endpoint.", + "operationId": "Origins_Create", + "x-ms-examples": { + "Origins_Create": { + "$ref": "./examples/Origins_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "originName", + "in": "path", + "description": "Name of the origin that is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "name": "origin", + "in": "body", + "description": "Origin properties", + "required": true, + "schema": { + "$ref": "#/definitions/Origin" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Origin" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new origin has been created.", + "schema": { + "$ref": "#/definitions/Origin" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Origin" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Origins" + ], + "description": "Updates an existing origin within an endpoint.", + "operationId": "Origins_Update", + "x-ms-examples": { + "Origins_Update": { + "$ref": "./examples/Origins_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "originName", + "in": "path", + "description": "Name of the origin which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "name": "originUpdateProperties", + "in": "body", + "description": "Origin properties", + "required": true, + "schema": { + "$ref": "#/definitions/OriginUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Origin" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/Origin" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Origins" + ], + "description": "Deletes an existing origin within an endpoint.", + "operationId": "Origins_Delete", + "x-ms-examples": { + "Origins_Delete": { + "$ref": "./examples/Origins_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "originName", + "in": "path", + "description": "Name of the origin which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the origin was not found." + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/originGroups": { + "get": { + "tags": [ + "OriginGroups" + ], + "description": "Lists all of the existing origin groups within an endpoint.", + "operationId": "OriginGroups_ListByEndpoint", + "x-ms-examples": { + "OriginsGroups_ListByEndpoint": { + "$ref": "./examples/OriginGroups_ListByEndpoint.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OriginGroupListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/originGroups/{originGroupName}": { + "get": { + "tags": [ + "OriginGroups" + ], + "description": "Gets an existing origin group within an endpoint.", + "operationId": "OriginGroups_Get", + "x-ms-examples": { + "OriginGroups_Get": { + "$ref": "./examples/OriginGroups_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OriginGroup" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "OriginGroups" + ], + "description": "Creates a new origin group within the specified endpoint.", + "operationId": "OriginGroups_Create", + "x-ms-examples": { + "OriginGroups_Create": { + "$ref": "./examples/OriginGroups_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "name": "originGroup", + "in": "body", + "description": "Origin group properties", + "required": true, + "schema": { + "$ref": "#/definitions/OriginGroup" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OriginGroup" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new origin group has been created.", + "schema": { + "$ref": "#/definitions/OriginGroup" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/OriginGroup" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "OriginGroups" + ], + "description": "Updates an existing origin group within an endpoint.", + "operationId": "OriginGroups_Update", + "x-ms-examples": { + "OriginGroups_Update": { + "$ref": "./examples/OriginGroups_Update.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "name": "originGroupUpdateProperties", + "in": "body", + "description": "Origin group properties", + "required": true, + "schema": { + "$ref": "#/definitions/OriginGroupUpdateParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OriginGroup" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/OriginGroup" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "OriginGroups" + ], + "description": "Deletes an existing origin group within an endpoint.", + "operationId": "OriginGroups_Delete", + "x-ms-examples": { + "OriginGroups_Delete": { + "$ref": "./examples/OriginGroups_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "originGroupName", + "in": "path", + "description": "Name of the origin group which is unique within the endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "204": { + "description": "No Content. The request has been accepted but the origin was not found." + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains": { + "get": { + "tags": [ + "CustomDomains" + ], + "description": "Lists all of the existing custom domains within an endpoint.", + "operationId": "CustomDomains_ListByEndpoint", + "x-ms-examples": { + "CustomDomains_ListByEndpoint": { + "$ref": "./examples/CustomDomains_ListByEndpoint.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomDomainListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}": { + "get": { + "tags": [ + "CustomDomains" + ], + "description": "Gets an existing custom domain within an endpoint.", + "operationId": "CustomDomains_Get", + "x-ms-examples": { + "CustomDomains_Get": { + "$ref": "./examples/CustomDomains_Get.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the custom domain within an endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "CustomDomains" + ], + "description": "Creates a new custom domain within an endpoint.", + "operationId": "CustomDomains_Create", + "x-ms-examples": { + "CustomDomains_Create": { + "$ref": "./examples/CustomDomains_Create.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the custom domain within an endpoint.", + "required": true, + "type": "string" + }, + { + "name": "customDomainProperties", + "in": "body", + "description": "Properties required to create a new custom domain.", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomainParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new custom domain has been created.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "CustomDomains" + ], + "description": "Deletes an existing custom domain within an endpoint.", + "operationId": "CustomDomains_Delete", + "x-ms-examples": { + "CustomDomains_Delete": { + "$ref": "./examples/CustomDomains_Delete.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the custom domain within an endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "204": { + "description": "No Content. The request has been accepted but the custom domain was not found" + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/disableCustomHttps": { + "post": { + "tags": [ + "CustomDomains" + ], + "description": "Disable https delivery of the custom domain.", + "operationId": "CustomDomains_DisableCustomHttps", + "x-ms-examples": { + "CustomDomains_DisableCustomHttps": { + "$ref": "./examples/CustomDomains_DisableCustomHttps.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the custom domain within an endpoint.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/endpoints/{endpointName}/customDomains/{customDomainName}/enableCustomHttps": { + "post": { + "tags": [ + "CustomDomains" + ], + "description": "Enable https delivery of the custom domain.", + "operationId": "CustomDomains_EnableCustomHttps", + "x-ms-examples": { + "CustomDomains_EnableCustomHttpsUsingYourOwnCertificate": { + "$ref": "./examples/CustomDomains_EnableCustomHttpsUsingBYOC.json" + }, + "CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate": { + "$ref": "./examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/resourceGroupNameParameter" + }, + { + "name": "profileName", + "in": "path", + "description": "Name of the CDN profile which is unique within the resource group.", + "required": true, + "type": "string" + }, + { + "name": "endpointName", + "in": "path", + "description": "Name of the endpoint under the profile which is unique globally.", + "required": true, + "type": "string" + }, + { + "name": "customDomainName", + "in": "path", + "description": "Name of the custom domain within an endpoint.", + "required": true, + "type": "string" + }, + { + "name": "customDomainHttpsParameters", + "in": "body", + "description": "The configuration specifying how to enable HTTPS for the custom domain - using CDN managed certificate or user's own certificate. If not specified, enabling ssl uses CDN managed certificate by default.", + "required": false, + "schema": { + "$ref": "#/definitions/CustomDomainHttpsParameters" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/providers/Microsoft.Cdn/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailability" + ], + "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN endpoint.", + "operationId": "CheckNameAvailability", + "x-ms-examples": { + "CheckNameAvailability": { + "$ref": "./examples/CheckNameAvailability.json" + } + }, + "parameters": [ + { + "name": "checkNameAvailabilityInput", + "in": "body", + "description": "Input to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityOutput" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailabilityWithSubscription" + ], + "description": "Check the availability of a resource name. This is needed for resources where name is globally unique, such as a CDN endpoint.", + "operationId": "CheckNameAvailabilityWithSubscription", + "x-ms-examples": { + "CheckNameAvailabilityWithSubscription": { + "$ref": "./examples/CheckNameAvailabilityWithSubscription.json" + } + }, + "parameters": [ + { + "name": "checkNameAvailabilityInput", + "in": "body", + "description": "Input to check.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityOutput" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/validateProbe": { + "post": { + "tags": [ + "ValidateProbe" + ], + "description": "Check if the probe path is a valid path and the file can be accessed. Probe path is the path to a file hosted on the origin server to help accelerate the delivery of dynamic content via the CDN endpoint. This path is relative to the origin path specified in the endpoint configuration.", + "operationId": "ValidateProbe", + "x-ms-examples": { + "ValidateProbe": { + "$ref": "./examples/ValidateProbe.json" + } + }, + "parameters": [ + { + "name": "validateProbeInput", + "in": "body", + "description": "Input to check.", + "required": true, + "schema": { + "$ref": "#/definitions/ValidateProbeInput" + } + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ValidateProbeOutput" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/checkResourceUsage": { + "post": { + "tags": [ + "CheckResourceUsage" + ], + "description": "Check the quota and actual usage of the CDN profiles under the given subscription.", + "operationId": "ResourceUsage_List", + "x-ms-examples": { + "ResourceUsage_List": { + "$ref": "./examples/ResourceUsage_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ResourceUsageListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Cdn/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available CDN REST API operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/OperationsListResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/providers/Microsoft.Cdn/edgenodes": { + "get": { + "tags": [ + "Edgenodes" + ], + "description": "Edgenodes are the global Point of Presence (POP) locations used to deliver CDN content to end users.", + "operationId": "EdgeNodes_List", + "x-ms-examples": { + "EdgeNodes_List": { + "$ref": "./examples/EdgeNodes_List.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EdgenodeResult" + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/profiles/{profileName}/cdnCanMigrateToAfd": { + "post": { + "tags": [ + "Profiles" + ], + "description": "Checks if CDN profile can be migrated to Azure Frontdoor(Standard/Premium) profile.", + "operationId": "CdnProfiles_CdnCanMigrateToAfd", + "x-ms-examples": { + "Profiles_CdnCanMigrate": { + "$ref": "./examples/CdnProfiles_CanMigrate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/profileNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CanMigrateResult" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "default": { + "description": "CDN 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.Cdn/profiles/{profileName}/cdnMigrateToAfd": { + "post": { + "tags": [ + "Profiles" + ], + "description": "Migrate the CDN profile to Azure Frontdoor(Standard/Premium) profile. This step prepares the profile for migration and will be followed by Commit to finalize the migration.", + "operationId": "CdnProfiles_CdnMigrateToAfd", + "x-ms-examples": { + "Profiles_CdnMigrate": { + "$ref": "./examples/CdnProfiles_Migrate.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/profileNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "description": "Properties needed to migrate the profile.", + "in": "body", + "name": "migrationParameters", + "required": true, + "schema": { + "$ref": "#/definitions/CdnMigrationToAfdParameters" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/MigrateResult" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "default": { + "description": "CDN 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.Cdn/profiles/{profileName}/migrationAbort": { + "post": { + "tags": [ + "Profiles" + ], + "description": "Abort the migration to Azure Frontdoor Premium/Standard.", + "operationId": "Profiles_MigrationAbort", + "x-ms-examples": { + "Profiles_CdnMigrationCommit": { + "$ref": "./examples/Profiles_MigrationAbort.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/profileNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/MigrationResultEmpty" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + } + }, + "default": { + "description": "CDN error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + } + }, + "definitions": { + "Profile": { + "description": "A profile is a logical grouping of endpoints that share the same settings.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "description": "The pricing tier (defines Azure Front Door Standard or Premium or a CDN provider, feature list and rate) of the profile.", + "$ref": "#/definitions/Sku" + }, + "kind": { + "readOnly": true, + "type": "string", + "description": "Kind of the profile. Used by portal to differentiate traditional CDN profile and new AFD profile." + }, + "identity": { + "description": "Managed service identity (system assigned and/or user assigned identities).", + "type": "object", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProfileProperties" + } + }, + "required": [ + "sku" + ] + }, + "ProfileProperties": { + "description": "The JSON object that contains the properties required to create a profile.", + "properties": { + "resourceState": { + "description": "Resource status of the profile.", + "readOnly": true, + "enum": [ + "Creating", + "Active", + "Deleting", + "Disabled", + "Migrating", + "Migrated", + "PendingMigrationCommit", + "CommittingMigration", + "AbortingMigration" + ], + "type": "string", + "x-ms-enum": { + "name": "ProfileResourceState", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "description": "Provisioning status of the profile.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Updating", + "Deleting", + "Creating" + ], + "x-ms-enum": { + "name": "ProfileProvisioningState", + "modelAsString": true + } + }, + "extendedProperties": { + "description": "Key-Value pair representing additional properties for profiles.", + "type": "object", + "additionalProperties": { + "type": "string" + }, + "readOnly": true + }, + "frontDoorId": { + "readOnly": true, + "type": "string", + "description": "The Id of the frontdoor." + }, + "originResponseTimeoutSeconds": { + "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.", + "type": "integer", + "format": "int32", + "minimum": 16, + "exclusiveMinimum": false + }, + "logScrubbing": { + "description": "Defines rules that scrub sensitive fields in the Azure Front Door profile logs.", + "$ref": "#/definitions/ProfileLogScrubbing" + } + } + }, + "ProfileLogScrubbing": { + "description": "Defines rules that scrub sensitive fields in the Azure Front Door profile logs.", + "type": "object", + "properties": { + "state": { + "type": "string", + "description": "State of the log scrubbing config. Default value is Enabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ProfileScrubbingState", + "modelAsString": true + } + }, + "scrubbingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ProfileScrubbingRules" + }, + "x-ms-identifiers": [], + "description": "List of log scrubbing rules applied to the Azure Front Door profile logs." + } + } + }, + "ProfileListResult": { + "description": "Result of the request to list profiles. It contains a list of profile objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Profile" + }, + "description": "List of CDN profiles within a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of profile objects if there are any." + } + } + }, + "ProfileUpdateParameters": { + "type": "object", + "description": "Properties required to update a profile.", + "properties": { + "tags": { + "description": "Profile tags", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "identity": { + "description": "Managed service identity (system assigned and/or user assigned identities).", + "type": "object", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProfilePropertiesUpdateParameters" + } + }, + "x-ms-azure-resource": true + }, + "ProfilePropertiesUpdateParameters": { + "type": "object", + "description": "The JSON object containing profile update parameters.", + "properties": { + "originResponseTimeoutSeconds": { + "description": "Send and receive timeout on forwarding request to the origin. When timeout is reached, the request fails and returns.", + "type": "integer", + "format": "int32", + "minimum": 16, + "exclusiveMinimum": false + }, + "logScrubbing": { + "description": "Defines rules to scrub sensitive fields in logs", + "$ref": "#/definitions/ProfileLogScrubbing" + } + } + }, + "ProfileScrubbingRules": { + "description": "Defines the contents of the log scrubbing rules.", + "type": "object", + "required": [ + "matchVariable", + "selectorMatchOperator" + ], + "properties": { + "matchVariable": { + "type": "string", + "enum": [ + "RequestIPAddress", + "RequestUri", + "QueryStringArgNames" + ], + "description": "The variable to be scrubbed from the logs.", + "x-ms-enum": { + "name": "scrubbingRuleEntryMatchVariable", + "modelAsString": true + } + }, + "selectorMatchOperator": { + "type": "string", + "enum": [ + "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 a log scrubbing rule. Default value is enabled.", + "x-ms-enum": { + "name": " scrubbingRuleEntryState", + "modelAsString": true + } + } + } + }, + "CanMigrateResult": { + "type": "object", + "description": "Result for canMigrate operation.", + "properties": { + "id": { + "description": "Resource ID.", + "format": "arm-id", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Resource type.", + "readOnly": true, + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CanMigrateProperties" + } + }, + "x-ms-azure-resource": true + }, + "CanMigrateProperties": { + "type": "object", + "properties": { + "canMigrate": { + "readOnly": true, + "description": "Flag that says if the profile can be migrated", + "type": "boolean" + }, + "defaultSku": { + "readOnly": true, + "description": "Recommended sku for the migration", + "type": "string", + "enum": [ + "Standard_AzureFrontDoor", + "Premium_AzureFrontDoor" + ], + "x-ms-enum": { + "name": "CanMigrateDefaultSku", + "modelAsString": true + } + }, + "errors": { + "items": { + "description": "List of migration errors", + "$ref": "#/definitions/MigrationErrorType" + }, + "type": "array", + "x-ms-identifiers": [] + } + } + }, + "MigrationErrorType": { + "description": "Error response indicates CDN service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "code": { + "description": "Error code.", + "readOnly": true, + "type": "string" + }, + "resourceName": { + "description": "Resource which has the problem.", + "readOnly": true, + "type": "string" + }, + "errorMessage": { + "description": "Error message indicating why the operation failed.", + "readOnly": true, + "type": "string" + }, + "nextSteps": { + "description": "Describes what needs to be done to fix the problem", + "readOnly": true, + "type": "string" + } + } + }, + "CanMigrateParameters": { + "type": "object", + "description": "Request body for CanMigrate operation.", + "required": [ + "classicResourceReference" + ], + "properties": { + "classicResourceReference": { + "description": "Resource reference of the classic cdn profile or classic frontdoor that need to be migrated.", + "$ref": "#/definitions/ResourceReference" + } + }, + "x-ms-azure-resource": true + }, + "MigrationParameters": { + "type": "object", + "description": "Request body for Migrate operation.", + "required": [ + "classicResourceReference", + "sku", + "profileName" + ], + "properties": { + "sku": { + "description": "Sku for the migration", + "$ref": "#/definitions/Sku" + }, + "classicResourceReference": { + "description": "Resource reference of the classic cdn profile or classic frontdoor that need to be migrated.", + "$ref": "#/definitions/ResourceReference" + }, + "profileName": { + "description": "Name of the new profile that need to be created.", + "type": "string" + }, + "migrationWebApplicationFirewallMappings": { + "description": "Waf mapping for the migrated profile", + "type": "array", + "items": { + "description": "List of waf mappings", + "$ref": "#/definitions/MigrationWebApplicationFirewallMapping" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-azure-resource": true + }, + "MigrationWebApplicationFirewallMapping": { + "description": "Web Application Firewall Mapping ", + "type": "object", + "properties": { + "migratedFrom": { + "description": "Migration From Waf policy", + "$ref": "#/definitions/ResourceReference" + }, + "migratedTo": { + "description": "Migration to Waf policy", + "$ref": "#/definitions/ResourceReference" + } + } + }, + "MigrateResult": { + "type": "object", + "description": "Result for migrate operation.", + "properties": { + "id": { + "description": "Resource ID.", + "format": "arm-id", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Resource type.", + "readOnly": true, + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/MigrateResultProperties" + } + }, + "x-ms-azure-resource": true + }, + "MigrateResultProperties": { + "type": "object", + "properties": { + "migratedProfileResourceId": { + "readOnly": true, + "description": "Arm resource id of the migrated profile", + "$ref": "#/definitions/ResourceReference" + } + } + }, + "SsoUri": { + "description": "The URI required to login to the supplemental portal from the Azure portal.", + "type": "object", + "properties": { + "ssoUriValue": { + "description": "The URI used to login to the supplemental portal.", + "readOnly": true, + "type": "string" + } + } + }, + "SupportedOptimizationTypesListResult": { + "description": "The result of the GetSupportedOptimizationTypes API", + "type": "object", + "properties": { + "supportedOptimizationTypes": { + "description": "Supported optimization types for a profile.", + "readOnly": true, + "items": { + "$ref": "#/definitions/OptimizationType" + }, + "type": "array" + } + } + }, + "Endpoint": { + "description": "CDN endpoint is the entity within a CDN profile containing configuration information such as origin, protocol, content caching and delivery behavior. The CDN endpoint uses the URL format .azureedge.net.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EndpointProperties" + } + } + }, + "EndpointProperties": { + "description": "The JSON object that contains the properties required to create an endpoint.", + "required": [ + "origins" + ], + "allOf": [ + { + "$ref": "#/definitions/EndpointPropertiesUpdateParameters" + } + ], + "properties": { + "hostName": { + "description": "The host name of the endpoint structured as {endpointName}.{DNSZone}, e.g. contoso.azureedge.net", + "type": "string", + "readOnly": true + }, + "origins": { + "description": "The source of the content being delivered via CDN.", + "type": "array", + "items": { + "$ref": "#/definitions/DeepCreatedOrigin" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "originGroups": { + "description": "The origin groups comprising of origins that are used for load balancing the traffic based on availability.", + "type": "array", + "items": { + "$ref": "#/definitions/DeepCreatedOriginGroup" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "customDomains": { + "description": "The custom domains under the endpoint.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/DeepCreatedCustomDomain" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "resourceState": { + "description": "Resource status of the endpoint.", + "readOnly": true, + "enum": [ + "Creating", + "Deleting", + "Running", + "Starting", + "Stopped", + "Stopping" + ], + "type": "string", + "x-ms-enum": { + "name": "EndpointResourceState", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "description": "Provisioning status of the endpoint.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Updating", + "Deleting", + "Creating" + ], + "x-ms-enum": { + "name": "EndpointProvisioningState", + "modelAsString": true + } + } + } + }, + "EndpointListResult": { + "description": "Result of the request to list endpoints. It contains a list of endpoint objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Endpoint" + }, + "description": "List of CDN endpoints within a profile" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of endpoint objects if there is any." + } + } + }, + "EndpointUpdateParameters": { + "type": "object", + "description": "Properties required to create or update an endpoint.", + "properties": { + "tags": { + "description": "Endpoint tags.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EndpointPropertiesUpdateParameters" + } + }, + "x-ms-azure-resource": true + }, + "EndpointPropertiesUpdateParameters": { + "description": "The JSON object containing endpoint update parameters.", + "properties": { + "originPath": { + "description": "A directory path on the origin that CDN can use to retrieve content from, e.g. contoso.cloudapp.net/originpath.", + "type": "string" + }, + "contentTypesToCompress": { + "description": "List of content types on which compression applies. The value should be a valid MIME type.", + "type": "array", + "items": { + "type": "string" + } + }, + "originHostHeader": { + "description": "The host header value sent to the origin with each request. This property at Endpoint is only allowed when endpoint uses single origin and can be overridden by the same property specified at origin.If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" + }, + "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled on CDN. Default value is false. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on CDN when requested content is smaller than 1 byte or larger than 1 MB.", + "type": "boolean" + }, + "isHttpAllowed": { + "description": "Indicates whether HTTP traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", + "type": "boolean", + "default": true + }, + "isHttpsAllowed": { + "description": "Indicates whether HTTPS traffic is allowed on the endpoint. Default value is true. At least one protocol (HTTP or HTTPS) must be allowed.", + "type": "boolean", + "default": true + }, + "queryStringCachingBehavior": { + "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.", + "$ref": "#/definitions/QueryStringCachingBehavior", + "default": "NotSet" + }, + "optimizationType": { + "description": "Specifies what scenario the customer wants this CDN endpoint to optimize for, e.g. Download, Media services. With this information, CDN can apply scenario driven optimization.", + "$ref": "#/definitions/OptimizationType" + }, + "probePath": { + "description": "Path to a file hosted on the origin which helps accelerate delivery of the dynamic content and calculate the most optimal routes for the CDN. This is relative to the origin path. This property is only relevant when using a single origin.", + "type": "string" + }, + "geoFilters": { + "description": "List of rules defining the user's geo access within a CDN endpoint. Each geo filter defines an access rule to a specified path or content, e.g. block APAC for path /pictures/", + "type": "array", + "items": { + "$ref": "#/definitions/GeoFilter" + }, + "x-ms-identifiers": [] + }, + "defaultOriginGroup": { + "description": "A reference to the origin group.", + "type": "object", + "$ref": "#/definitions/ResourceReference" + }, + "urlSigningKeys": { + "description": "List of keys used to validate the signed URL hashes.", + "type": "array", + "items": { + "$ref": "#/definitions/UrlSigningKey" + }, + "x-ms-identifiers": [ + "keyId" + ] + }, + "deliveryPolicy": { + "description": "A policy that specifies the delivery rules to be used for an endpoint.", + "type": "object", + "required": [ + "rules" + ], + "properties": { + "description": { + "description": "User-friendly description of the policy.", + "type": "string" + }, + "rules": { + "description": "A list of the delivery rules.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryRule" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "webApplicationFirewallPolicyLink": { + "description": "Defines the Web Application Firewall policy for the endpoint (if applicable)", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + } + } + } + }, + "DeliveryRule": { + "description": "A rule that specifies a set of actions and conditions", + "type": "object", + "required": [ + "order", + "actions" + ], + "properties": { + "name": { + "description": "Name of the rule", + "type": "string" + }, + "order": { + "description": "The order in which the rules are applied for the endpoint. Possible values {0,1,2,3,………}. A rule with a lesser order will be applied before a rule with a greater order. Rule with order 0 is a special rule. It does not require any condition and actions listed in it will always be applied.", + "type": "integer", + "format": "int32" + }, + "conditions": { + "description": "A list of conditions that must be matched for the actions to be executed", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryRuleCondition" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "actions": { + "description": "A list of actions that are executed when all the conditions of a rule are satisfied.", + "type": "array", + "items": { + "$ref": "#/definitions/DeliveryRuleAction" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "DeliveryRuleCondition": { + "description": "A condition for the delivery rule.", + "discriminator": "name", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of the condition for the delivery rule.", + "type": "string", + "enum": [ + "RemoteAddress", + "RequestMethod", + "QueryString", + "PostArgs", + "RequestUri", + "RequestHeader", + "RequestBody", + "RequestScheme", + "UrlPath", + "UrlFileExtension", + "UrlFileName", + "HttpVersion", + "Cookies", + "IsDevice", + "SocketAddr", + "ClientPort", + "ServerPort", + "HostName", + "SslProtocol" + ], + "x-ms-enum": { + "name": "MatchVariable", + "modelAsString": true + } + } + } + }, + "DeliveryRuleRemoteAddressCondition": { + "description": "Defines the RemoteAddress condition for the delivery rule.", + "x-ms-discriminator-value": "RemoteAddress", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/RemoteAddressMatchConditionParameters" + } + } + }, + "DeliveryRuleRequestMethodCondition": { + "description": "Defines the RequestMethod condition for the delivery rule.", + "x-ms-discriminator-value": "RequestMethod", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/RequestMethodMatchConditionParameters" + } + } + }, + "DeliveryRuleQueryStringCondition": { + "description": "Defines the QueryString condition for the delivery rule.", + "x-ms-discriminator-value": "QueryString", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/QueryStringMatchConditionParameters" + } + } + }, + "DeliveryRulePostArgsCondition": { + "description": "Defines the PostArgs condition for the delivery rule.", + "x-ms-discriminator-value": "PostArgs", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/PostArgsMatchConditionParameters" + } + } + }, + "DeliveryRuleRequestUriCondition": { + "description": "Defines the RequestUri condition for the delivery rule.", + "x-ms-discriminator-value": "RequestUri", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/RequestUriMatchConditionParameters" + } + } + }, + "DeliveryRuleRequestHeaderCondition": { + "description": "Defines the RequestHeader condition for the delivery rule.", + "x-ms-discriminator-value": "RequestHeader", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/RequestHeaderMatchConditionParameters" + } + } + }, + "DeliveryRuleRequestBodyCondition": { + "description": "Defines the RequestBody condition for the delivery rule.", + "x-ms-discriminator-value": "RequestBody", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/RequestBodyMatchConditionParameters" + } + } + }, + "DeliveryRuleRequestSchemeCondition": { + "description": "Defines the RequestScheme condition for the delivery rule.", + "x-ms-discriminator-value": "RequestScheme", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/RequestSchemeMatchConditionParameters" + } + } + }, + "DeliveryRuleUrlPathCondition": { + "description": "Defines the UrlPath condition for the delivery rule.", + "x-ms-discriminator-value": "UrlPath", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/UrlPathMatchConditionParameters" + } + } + }, + "DeliveryRuleUrlFileExtensionCondition": { + "description": "Defines the UrlFileExtension condition for the delivery rule.", + "x-ms-discriminator-value": "UrlFileExtension", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/UrlFileExtensionMatchConditionParameters" + } + } + }, + "DeliveryRuleUrlFileNameCondition": { + "description": "Defines the UrlFileName condition for the delivery rule.", + "x-ms-discriminator-value": "UrlFileName", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/UrlFileNameMatchConditionParameters" + } + } + }, + "DeliveryRuleHttpVersionCondition": { + "description": "Defines the HttpVersion condition for the delivery rule.", + "x-ms-discriminator-value": "HttpVersion", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/HttpVersionMatchConditionParameters" + } + } + }, + "DeliveryRuleCookiesCondition": { + "description": "Defines the Cookies condition for the delivery rule.", + "x-ms-discriminator-value": "Cookies", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/CookiesMatchConditionParameters" + } + } + }, + "DeliveryRuleIsDeviceCondition": { + "description": "Defines the IsDevice condition for the delivery rule.", + "x-ms-discriminator-value": "IsDevice", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/IsDeviceMatchConditionParameters" + } + } + }, + "DeliveryRuleSocketAddrCondition": { + "description": "Defines the SocketAddress condition for the delivery rule.", + "type": "object", + "x-ms-discriminator-value": "SocketAddr", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/SocketAddrMatchConditionParameters" + } + } + }, + "DeliveryRuleClientPortCondition": { + "description": "Defines the ClientPort condition for the delivery rule.", + "type": "object", + "x-ms-discriminator-value": "ClientPort", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/ClientPortMatchConditionParameters" + } + } + }, + "DeliveryRuleServerPortCondition": { + "description": "Defines the ServerPort condition for the delivery rule.", + "type": "object", + "x-ms-discriminator-value": "ServerPort", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/ServerPortMatchConditionParameters" + } + } + }, + "DeliveryRuleHostNameCondition": { + "description": "Defines the HostName condition for the delivery rule.", + "type": "object", + "x-ms-discriminator-value": "HostName", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/HostNameMatchConditionParameters" + } + } + }, + "DeliveryRuleSslProtocolCondition": { + "description": "Defines the SslProtocol condition for the delivery rule.", + "type": "object", + "x-ms-discriminator-value": "SslProtocol", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleCondition" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the condition.", + "$ref": "#/definitions/SslProtocolMatchConditionParameters" + } + } + }, + "RemoteAddressMatchConditionParameters": { + "description": "Defines the parameters for RemoteAddress match conditions", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleRemoteAddressConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "IPMatch", + "GeoMatch" + ], + "x-ms-enum": { + "name": "RemoteAddressOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "Match values to match against. The operator will apply to each value in here with OR semantics. If any of them match the variable with the given operator this match condition is considered a match.", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "RequestMethodMatchConditionParameters": { + "description": "Defines the parameters for RequestMethod match conditions", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleRequestMethodConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Equal" + ], + "x-ms-enum": { + "name": "RequestMethodOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string", + "enum": [ + "GET", + "HEAD", + "POST", + "PUT", + "DELETE", + "OPTIONS", + "TRACE" + ] + } + } + } + }, + "QueryStringMatchConditionParameters": { + "description": "Defines the parameters for QueryString match conditions", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleQueryStringConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "QueryStringOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "PostArgsMatchConditionParameters": { + "description": "Defines the parameters for PostArgs match conditions", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRulePostArgsConditionParameters" + ] + }, + "selector": { + "description": "Name of PostArg to be matched", + "type": "string" + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "PostArgsOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "RequestUriMatchConditionParameters": { + "description": "Defines the parameters for RequestUri match conditions", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleRequestUriConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "RequestUriOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "RequestHeaderMatchConditionParameters": { + "description": "Defines the parameters for RequestHeader match conditions", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleRequestHeaderConditionParameters" + ] + }, + "selector": { + "description": "Name of Header to be matched", + "type": "string" + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "RequestHeaderOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "RequestBodyMatchConditionParameters": { + "description": "Defines the parameters for RequestBody match conditions", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleRequestBodyConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "RequestBodyOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "RequestSchemeMatchConditionParameters": { + "description": "Defines the parameters for RequestScheme match conditions ", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleRequestSchemeConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Equal" + ] + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string", + "enum": [ + "HTTP", + "HTTPS" + ] + } + } + } + }, + "UrlPathMatchConditionParameters": { + "description": "Defines the parameters for UrlPath match conditions", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleUrlPathMatchConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "Wildcard", + "RegEx" + ], + "x-ms-enum": { + "name": "UrlPathOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "UrlFileExtensionMatchConditionParameters": { + "description": "Defines the parameters for UrlFileExtension match conditions", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleUrlFileExtensionMatchConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "UrlFileExtensionOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "UrlFileNameMatchConditionParameters": { + "description": "Defines the parameters for UrlFilename match conditions", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleUrlFilenameConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "UrlFileNameOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "HttpVersionMatchConditionParameters": { + "description": "Defines the parameters for HttpVersion match conditions", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleHttpVersionConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Equal" + ], + "x-ms-enum": { + "name": "HttpVersionOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "CookiesMatchConditionParameters": { + "description": "Defines the parameters for Cookies match conditions", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleCookiesConditionParameters" + ] + }, + "selector": { + "description": "Name of Cookies to be matched", + "type": "string" + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "CookiesOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "IsDeviceMatchConditionParameters": { + "description": "Defines the parameters for IsDevice match conditions", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleIsDeviceConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Equal" + ], + "x-ms-enum": { + "name": "IsDeviceOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string", + "enum": [ + "Mobile", + "Desktop" + ] + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "SocketAddrMatchConditionParameters": { + "description": "Defines the parameters for SocketAddress match conditions", + "type": "object", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleSocketAddrConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "IPMatch" + ], + "x-ms-enum": { + "name": "SocketAddrOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "ClientPortMatchConditionParameters": { + "description": "Defines the parameters for ClientPort match conditions", + "type": "object", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleClientPortConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "ClientPortOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "ServerPortMatchConditionParameters": { + "description": "Defines the parameters for ServerPort match conditions", + "type": "object", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleServerPortConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "ServerPortOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "HostNameMatchConditionParameters": { + "description": "Defines the parameters for HostName match conditions", + "type": "object", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleHostNameConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "Equal", + "Contains", + "BeginsWith", + "EndsWith", + "LessThan", + "LessThanOrEqual", + "GreaterThan", + "GreaterThanOrEqual", + "RegEx" + ], + "x-ms-enum": { + "name": "HostNameOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "SslProtocolMatchConditionParameters": { + "description": "Defines the parameters for SslProtocol match conditions", + "type": "object", + "required": [ + "operator", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleSslProtocolConditionParameters" + ] + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Equal" + ], + "x-ms-enum": { + "name": "SslProtocolOperator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if this is negate condition or not", + "type": "boolean", + "default": false + }, + "matchValues": { + "description": "The match value for the condition of the delivery rule", + "type": "array", + "items": { + "$ref": "#/definitions/SslProtocol" + } + }, + "transforms": { + "description": "List of transforms", + "type": "array", + "items": { + "$ref": "#/definitions/transform" + } + } + } + }, + "DeliveryRuleAction": { + "description": "An action for the delivery rule.", + "discriminator": "name", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of the action for the delivery rule.", + "type": "string", + "enum": [ + "CacheExpiration", + "CacheKeyQueryString", + "ModifyRequestHeader", + "ModifyResponseHeader", + "UrlRedirect", + "UrlRewrite", + "UrlSigning", + "OriginGroupOverride", + "RouteConfigurationOverride", + "AfdUrlSigning" + ], + "x-ms-enum": { + "name": "DeliveryRuleAction", + "modelAsString": true + } + } + } + }, + "UrlRedirectAction": { + "description": "Defines the url redirect action for the delivery rule.", + "x-ms-discriminator-value": "UrlRedirect", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/UrlRedirectActionParameters" + } + } + }, + "UrlRedirectActionParameters": { + "description": "Defines the parameters for the url redirect action.", + "required": [ + "redirectType", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleUrlRedirectActionParameters" + ] + }, + "redirectType": { + "description": "The redirect type the rule will use when redirecting traffic.", + "type": "string", + "enum": [ + "Moved", + "Found", + "TemporaryRedirect", + "PermanentRedirect" + ], + "x-ms-enum": { + "name": "RedirectType", + "modelAsString": true + } + }, + "destinationProtocol": { + "description": "Protocol to use for the redirect. The default value is MatchRequest", + "type": "string", + "enum": [ + "MatchRequest", + "Http", + "Https" + ], + "x-ms-enum": { + "name": "DestinationProtocol", + "modelAsString": true + } + }, + "customPath": { + "description": "The full path to redirect. Path cannot be empty and must start with /. Leave empty to use the incoming path as destination path.", + "type": "string" + }, + "customHostname": { + "description": "Host to redirect. Leave empty to use the incoming host as the destination host.", + "type": "string" + }, + "customQueryString": { + "description": "The set of query strings to be placed in the redirect URL. Setting this value would replace any existing query string; leave empty to preserve the incoming query string. Query string must be in = format. ? and & will be added automatically so do not include them.", + "type": "string" + }, + "customFragment": { + "type": "string", + "description": "Fragment to add to the redirect URL. Fragment is the part of the URL that comes after #. Do not include the #." + } + } + }, + "UrlSigningAction": { + "description": "Defines the url signing action for the delivery rule.", + "x-ms-discriminator-value": "UrlSigning", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/UrlSigningActionParameters" + } + } + }, + "UrlSigningActionParameters": { + "description": "Defines the parameters for the Url Signing action.", + "required": [ + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleUrlSigningActionParameters" + ] + }, + "algorithm": { + "description": "Algorithm to use for URL signing", + "type": "string", + "enum": [ + "SHA256" + ], + "x-ms-enum": { + "name": "algorithm", + "modelAsString": true + } + }, + "parameterNameOverride": { + "description": "Defines which query string parameters in the url to be considered for expires, key id etc. ", + "type": "array", + "items": { + "$ref": "#/definitions/UrlSigningParamIdentifier" + }, + "x-ms-identifiers": [ + "paramName" + ] + } + } + }, + "UrlSigningParamIdentifier": { + "description": "Defines how to identify a parameter for a specific purpose e.g. expires", + "required": [ + "paramIndicator", + "paramName" + ], + "properties": { + "paramIndicator": { + "description": "Indicates the purpose of the parameter", + "type": "string", + "enum": [ + "Expires", + "KeyId", + "Signature" + ], + "x-ms-enum": { + "name": "paramIndicator", + "modelAsString": true + } + }, + "paramName": { + "description": "Parameter name", + "type": "string" + } + } + }, + "OriginGroupOverrideAction": { + "description": "Defines the origin group override action for the delivery rule.", + "x-ms-discriminator-value": "OriginGroupOverride", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/OriginGroupOverrideActionParameters" + } + } + }, + "OriginGroupOverrideActionParameters": { + "description": "Defines the parameters for the origin group override action.", + "required": [ + "originGroup", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleOriginGroupOverrideActionParameters" + ] + }, + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup.", + "type": "object", + "$ref": "#/definitions/ResourceReference" + } + } + }, + "UrlRewriteAction": { + "description": "Defines the url rewrite action for the delivery rule.", + "x-ms-discriminator-value": "UrlRewrite", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/UrlRewriteActionParameters" + } + } + }, + "UrlRewriteActionParameters": { + "description": "Defines the parameters for the url rewrite action.", + "required": [ + "sourcePattern", + "destination", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleUrlRewriteActionParameters" + ] + }, + "sourcePattern": { + "description": "define a request URI pattern that identifies the type of requests that may be rewritten. If value is blank, all strings are matched.", + "type": "string" + }, + "destination": { + "description": "Define the relative URL to which the above requests will be rewritten by.", + "type": "string" + }, + "preserveUnmatchedPath": { + "description": "Whether to preserve unmatched path. Default value is true.", + "type": "boolean" + } + } + }, + "DeliveryRuleRequestHeaderAction": { + "description": "Defines the request header action for the delivery rule.", + "x-ms-discriminator-value": "ModifyRequestHeader", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/HeaderActionParameters" + } + } + }, + "DeliveryRuleResponseHeaderAction": { + "description": "Defines the response header action for the delivery rule.", + "x-ms-discriminator-value": "ModifyResponseHeader", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/HeaderActionParameters" + } + } + }, + "HeaderActionParameters": { + "description": "Defines the parameters for the request header action.", + "required": [ + "headerAction", + "headerName", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleHeaderActionParameters" + ] + }, + "headerAction": { + "description": "Action to perform", + "type": "string", + "enum": [ + "Append", + "Overwrite", + "Delete" + ], + "x-ms-enum": { + "name": "HeaderAction", + "modelAsString": true + } + }, + "headerName": { + "description": "Name of the header to modify", + "type": "string" + }, + "value": { + "description": "Value for the specified action", + "type": "string" + } + } + }, + "DeliveryRuleCacheExpirationAction": { + "description": "Defines the cache expiration action for the delivery rule.", + "x-ms-discriminator-value": "CacheExpiration", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/CacheExpirationActionParameters" + } + } + }, + "CacheExpirationActionParameters": { + "description": "Defines the parameters for the cache expiration action.", + "required": [ + "cacheBehavior", + "cacheType", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleCacheExpirationActionParameters" + ] + }, + "cacheBehavior": { + "description": "Caching behavior for the requests", + "type": "string", + "enum": [ + "BypassCache", + "Override", + "SetIfMissing" + ], + "x-ms-enum": { + "name": "cacheBehavior", + "modelAsString": true + } + }, + "cacheType": { + "description": "The level at which the content needs to be cached.", + "type": "string", + "enum": [ + "All" + ], + "x-ms-enum": { + "name": "CacheType", + "modelAsString": true + } + }, + "cacheDuration": { + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string", + "x-nullable": true + } + } + }, + "DeliveryRuleCacheKeyQueryStringAction": { + "description": "Defines the cache-key query string action for the delivery rule.", + "x-ms-discriminator-value": "CacheKeyQueryString", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/CacheKeyQueryStringActionParameters" + } + } + }, + "CacheKeyQueryStringActionParameters": { + "description": "Defines the parameters for the cache-key query string action.", + "required": [ + "queryStringBehavior", + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleCacheKeyQueryStringBehaviorActionParameters" + ] + }, + "queryStringBehavior": { + "description": "Caching behavior for the requests", + "type": "string", + "enum": [ + "Include", + "IncludeAll", + "Exclude", + "ExcludeAll" + ], + "x-ms-enum": { + "name": "queryStringBehavior", + "modelAsString": true + } + }, + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string", + "x-nullable": true + } + } + }, + "DeliveryRuleRouteConfigurationOverrideAction": { + "description": "Defines the route configuration override action for the delivery rule. Only applicable to Frontdoor Standard/Premium Profiles.", + "type": "object", + "x-ms-discriminator-value": "RouteConfigurationOverride", + "allOf": [ + { + "$ref": "#/definitions/DeliveryRuleAction" + } + ], + "required": [ + "parameters" + ], + "properties": { + "parameters": { + "description": "Defines the parameters for the action.", + "$ref": "#/definitions/RouteConfigurationOverrideActionParameters" + } + } + }, + "RouteConfigurationOverrideActionParameters": { + "description": "Defines the parameters for the route configuration override action.", + "type": "object", + "required": [ + "typeName" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "DeliveryRuleRouteConfigurationOverrideActionParameters" + ] + }, + "originGroupOverride": { + "description": "A reference to the origin group override configuration. Leave empty to use the default origin group on route.", + "type": "object", + "$ref": "#/definitions/OriginGroupOverride" + }, + "cacheConfiguration": { + "description": "The caching configuration associated with this rule. To disable caching, do not provide a cacheConfiguration object.", + "type": "object", + "$ref": "#/definitions/CacheConfiguration" + } + } + }, + "OriginGroupOverride": { + "description": "Defines the parameters for the origin group override configuration.", + "type": "object", + "properties": { + "originGroup": { + "description": "defines the OriginGroup that would override the DefaultOriginGroup on route.", + "type": "object", + "$ref": "#/definitions/ResourceReference" + }, + "forwardingProtocol": { + "description": "Protocol this rule will use when forwarding traffic to backends.", + "type": "string", + "enum": [ + "HttpOnly", + "HttpsOnly", + "MatchRequest" + ], + "x-ms-enum": { + "name": "ForwardingProtocol", + "modelAsString": true + } + } + } + }, + "CacheConfiguration": { + "description": "Caching settings for a caching-type route. To disable caching, do not provide a cacheConfiguration object.", + "type": "object", + "properties": { + "queryStringCachingBehavior": { + "description": "Defines how Frontdoor caches requests that include query strings. You can ignore any query strings when caching, ignore specific query strings, cache every request with a unique URL, or cache specific query strings.", + "enum": [ + "IgnoreQueryString", + "UseQueryString", + "IgnoreSpecifiedQueryStrings", + "IncludeSpecifiedQueryStrings" + ], + "type": "string", + "x-ms-enum": { + "name": "ruleQueryStringCachingBehavior", + "modelAsString": true + } + }, + "queryParameters": { + "description": "query parameters to include or exclude (comma separated).", + "type": "string" + }, + "isCompressionEnabled": { + "description": "Indicates whether content compression is enabled. If compression is enabled, content will be served as compressed if user requests for a compressed version. Content won't be compressed on AzureFrontDoor when requested content is smaller than 1 byte or larger than 1 MB.", + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ruleIsCompressionEnabled", + "modelAsString": true + } + }, + "cacheBehavior": { + "description": "Caching behavior for the requests", + "type": "string", + "enum": [ + "HonorOrigin", + "OverrideAlways", + "OverrideIfOriginMissing" + ], + "x-ms-enum": { + "name": "ruleCacheBehavior", + "modelAsString": true + } + }, + "cacheDuration": { + "description": "The duration for which the content needs to be cached. Allowed format is [d.]hh:mm:ss", + "type": "string" + } + } + }, + "transform": { + "description": "Describes what transforms are applied before matching", + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "x-ms-enum": { + "name": "transform", + "modelAsString": true + } + }, + "SslProtocol": { + "description": "The protocol of an established TLS connection.", + "type": "string", + "enum": [ + "TLSv1", + "TLSv1.1", + "TLSv1.2" + ], + "x-ms-enum": { + "name": "SslProtocol", + "modelAsString": true + } + }, + "DeepCreatedOrigin": { + "description": "The main origin of CDN content which is added when creating a CDN endpoint.", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Origin name which must be unique within the endpoint. ", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DeepCreatedOriginProperties" + } + }, + "x-ms-azure-resource": false + }, + "DeepCreatedOriginProperties": { + "description": "Properties of the origin created on the CDN endpoint.", + "type": "object", + "required": [ + "hostName" + ], + "properties": { + "hostName": { + "description": "The address of the origin. It can be a domain name, IPv4 address, or IPv6 address. This should be unique across all origins in an endpoint.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "type": "integer", + "format": "int32", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "type": "integer", + "format": "int32", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + }, + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default.", + "type": "string" + }, + "priority": { + "description": "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5.", + "type": "integer", + "format": "int32", + "maximum": 5, + "minimum": 1 + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "type": "integer", + "format": "int32", + "maximum": 1000, + "minimum": 1 + }, + "enabled": { + "description": "Origin is enabled for load balancing or not. By default, origin is always enabled.", + "type": "boolean" + }, + "privateLinkAlias": { + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" + }, + "privateLinkLocation": { + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" + }, + "privateLinkApprovalMessage": { + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" + }, + "privateEndpointStatus": { + "description": "The approval status for the connection to the Private Link", + "$ref": "#/definitions/PrivateEndpointStatus", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": false + }, + "DeepCreatedOriginGroup": { + "description": "The origin group for CDN content which is added when creating a CDN endpoint. Traffic is sent to the origins within the origin group based on origin health.", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Origin group name which must be unique within the endpoint.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DeepCreatedOriginGroupProperties" + } + }, + "x-ms-azure-resource": false + }, + "DeepCreatedOriginGroupProperties": { + "description": "Properties of the origin group created on the CDN endpoint.", + "type": "object", + "required": [ + "origins" + ], + "properties": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "type": "object", + "$ref": "#/definitions/HealthProbeParameters" + }, + "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", + "type": "array", + "items": { + "description": "A reference to a origin.", + "$ref": "#/definitions/ResourceReference" + } + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "description": "Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.", + "type": "integer", + "format": "int32", + "maximum": 50, + "minimum": 0 + }, + "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.This property is currently not supported.", + "type": "object", + "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" + } + }, + "x-ms-azure-resource": false + }, + "ResourceReference": { + "properties": { + "id": { + "type": "string", + "description": "Resource ID." + } + }, + "description": "Reference to another resource.", + "x-ms-azure-resource": true + }, + "GeoFilter": { + "description": "Rules defining user's geo access within a CDN endpoint.", + "type": "object", + "required": [ + "relativePath", + "action", + "countryCodes" + ], + "properties": { + "relativePath": { + "description": "Relative path applicable to geo filter. (e.g. '/mypictures', '/mypicture/kitty.jpg', and etc.)", + "type": "string" + }, + "action": { + "description": "Action of the geo filter, i.e. allow or block access.", + "enum": [ + "Block", + "Allow" + ], + "type": "string", + "x-ms-enum": { + "name": "GeoFilterActions", + "modelAsString": false + } + }, + "countryCodes": { + "description": "Two letter country or region codes defining user country or region access in a geo filter, e.g. AU, MX, US.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "PurgeParameters": { + "type": "object", + "description": "Parameters required for content purge.", + "required": [ + "contentPaths" + ], + "properties": { + "contentPaths": { + "description": "The path to the content to be purged. Can describe a file path or a wild card directory.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "UrlSigningKey": { + "description": "Url signing key", + "required": [ + "keyId", + "keySourceParameters" + ], + "properties": { + "keyId": { + "description": "Defines the customer defined key Id. This id will exist in the incoming request to indicate the key used to form the hash.", + "type": "string" + }, + "keySourceParameters": { + "description": "Defines the parameters for using customer key vault for Url Signing Key.", + "$ref": "#/definitions/KeyVaultSigningKeyParameters" + } + } + }, + "KeyVaultSigningKeyParameters": { + "description": "Describes the parameters for using a user's KeyVault for URL Signing Key.", + "required": [ + "typeName", + "subscriptionId", + "resourceGroupName", + "vaultName", + "secretName", + "secretVersion" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "KeyVaultSigningKeyParameters" + ] + }, + "subscriptionId": { + "description": "Subscription Id of the user's Key Vault containing the secret", + "type": "string" + }, + "resourceGroupName": { + "description": "Resource group of the user's Key Vault containing the secret", + "type": "string" + }, + "vaultName": { + "description": "The name of the user's Key Vault containing the secret", + "type": "string" + }, + "secretName": { + "description": "The name of secret in Key Vault.", + "type": "string" + }, + "secretVersion": { + "description": "The version(GUID) of secret in Key Vault.", + "type": "string" + } + } + }, + "LoadParameters": { + "type": "object", + "description": "Parameters required for content load.", + "required": [ + "contentPaths" + ], + "properties": { + "contentPaths": { + "description": "The path to the content to be loaded. Path should be a relative file URL of the origin.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "Origin": { + "description": "CDN origin is the source of the content being delivered via CDN. When the edge nodes represented by an endpoint do not have the requested content cached, they attempt to fetch it from one or more of the configured origins.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OriginProperties" + } + } + }, + "OriginProperties": { + "description": "The JSON object that contains the properties of the origin.", + "required": [ + "hostName" + ], + "allOf": [ + { + "$ref": "#/definitions/OriginUpdatePropertiesParameters" + } + ], + "properties": { + "resourceState": { + "description": "Resource status of the origin.", + "readOnly": true, + "enum": [ + "Creating", + "Active", + "Deleting" + ], + "type": "string", + "x-ms-enum": { + "name": "OriginResourceState", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "description": "Provisioning status of the origin.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Updating", + "Deleting", + "Creating" + ], + "x-ms-enum": { + "name": "OriginProvisioningState", + "modelAsString": true + } + }, + "privateEndpointStatus": { + "description": "The approval status for the connection to the Private Link", + "$ref": "#/definitions/PrivateEndpointStatus", + "type": "string", + "readOnly": true + } + } + }, + "OriginUpdateParameters": { + "type": "object", + "description": "Origin properties needed for origin update.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OriginUpdatePropertiesParameters" + } + }, + "x-ms-azure-resource": true + }, + "OriginUpdatePropertiesParameters": { + "description": "The JSON object that contains the properties of the origin.", + "properties": { + "hostName": { + "description": "The address of the origin. Domain names, IPv4 addresses, and IPv6 addresses are supported.This should be unique across all origins in an endpoint.", + "type": "string" + }, + "httpPort": { + "description": "The value of the HTTP port. Must be between 1 and 65535.", + "type": "integer", + "format": "int32", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + }, + "httpsPort": { + "description": "The value of the HTTPS port. Must be between 1 and 65535.", + "type": "integer", + "format": "int32", + "maximum": 65535, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false + }, + "originHostHeader": { + "description": "The host header value sent to the origin with each request. If you leave this blank, the request hostname determines this value. Azure CDN origins, such as Web Apps, Blob Storage, and Cloud Services require this host header value to match the origin hostname by default. This overrides the host header defined at Endpoint", + "type": "string" + }, + "priority": { + "description": "Priority of origin in given origin group for load balancing. Higher priorities will not be used for load balancing if any lower priority origin is healthy.Must be between 1 and 5", + "type": "integer", + "format": "int32", + "maximum": 5, + "minimum": 1 + }, + "weight": { + "description": "Weight of the origin in given origin group for load balancing. Must be between 1 and 1000", + "type": "integer", + "format": "int32", + "maximum": 1000, + "minimum": 1 + }, + "enabled": { + "description": "Origin is enabled for load balancing or not", + "type": "boolean" + }, + "privateLinkAlias": { + "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'", + "type": "string" + }, + "privateLinkLocation": { + "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated", + "type": "string" + }, + "privateLinkApprovalMessage": { + "description": "A custom message to be included in the approval request to connect to the Private Link.", + "type": "string" + } + } + }, + "OriginListResult": { + "description": "Result of the request to list origins. It contains a list of origin objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Origin" + }, + "description": "List of CDN origins within an endpoint" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of origin objects if there are any." + } + } + }, + "OriginGroup": { + "description": "Origin group comprising of origins is used for load balancing to origins when the content cannot be served from CDN.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OriginGroupProperties" + } + } + }, + "OriginGroupProperties": { + "description": "The JSON object that contains the properties of the origin group.", + "type": "object", + "required": [ + "origins" + ], + "allOf": [ + { + "$ref": "#/definitions/OriginGroupUpdatePropertiesParameters" + } + ], + "properties": { + "resourceState": { + "description": "Resource status of the origin group.", + "readOnly": true, + "enum": [ + "Creating", + "Active", + "Deleting" + ], + "type": "string", + "x-ms-enum": { + "name": "OriginGroupResourceState", + "modelAsString": true + } + }, + "provisioningState": { + "readOnly": true, + "description": "Provisioning status of the origin group.", + "type": "string", + "enum": [ + "Succeeded", + "Failed", + "Updating", + "Deleting", + "Creating" + ], + "x-ms-enum": { + "name": "OriginGroupProvisioningState", + "modelAsString": true + } + } + } + }, + "OriginGroupUpdateParameters": { + "type": "object", + "description": "Origin group properties needed for origin group creation or update.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/OriginGroupUpdatePropertiesParameters" + } + }, + "x-ms-azure-resource": true + }, + "OriginGroupUpdatePropertiesParameters": { + "description": "The JSON object that contains the properties of the origin group.", + "properties": { + "healthProbeSettings": { + "description": "Health probe settings to the origin that is used to determine the health of the origin.", + "type": "object", + "$ref": "#/definitions/HealthProbeParameters" + }, + "origins": { + "description": "The source of the content being delivered via CDN within given origin group.", + "type": "array", + "items": { + "description": "A reference to a origin.", + "$ref": "#/definitions/ResourceReference" + } + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": { + "description": "Time in minutes to shift the traffic to the endpoint gradually when an unhealthy endpoint comes healthy or a new endpoint is added. Default is 10 mins. This property is currently not supported.", + "type": "integer", + "format": "int32", + "maximum": 50, + "minimum": 0 + }, + "responseBasedOriginErrorDetectionSettings": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses. This property is currently not supported.", + "type": "object", + "$ref": "#/definitions/ResponseBasedOriginErrorDetectionParameters" + } + } + }, + "HealthProbeParameters": { + "description": "The JSON object that contains the properties to send health probes to origin.", + "properties": { + "probePath": { + "description": "The path relative to the origin that is used to determine the health of the origin.", + "type": "string" + }, + "probeRequestType": { + "description": "The type of health probe request that is made.", + "enum": [ + "NotSet", + "GET", + "HEAD" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthProbeRequestType", + "modelAsString": false + } + }, + "probeProtocol": { + "description": "Protocol to use for health probe.", + "type": "string", + "enum": [ + "NotSet", + "Http", + "Https" + ], + "x-ms-enum": { + "name": "ProbeProtocol", + "modelAsString": false + } + }, + "probeIntervalInSeconds": { + "description": "The number of seconds between health probes.Default is 240sec.", + "type": "integer", + "format": "int32", + "maximum": 255, + "minimum": 1 + } + } + }, + "ResponseBasedOriginErrorDetectionParameters": { + "description": "The JSON object that contains the properties to determine origin health using real requests/responses.", + "properties": { + "responseBasedDetectedErrorTypes": { + "description": "Type of response errors for real user requests for which origin will be deemed unhealthy", + "type": "string", + "enum": [ + "None", + "TcpErrorsOnly", + "TcpAndHttpErrors" + ], + "x-ms-enum": { + "name": "ResponseBasedDetectedErrorTypes", + "modelAsString": false + } + }, + "responseBasedFailoverThresholdPercentage": { + "description": "The percentage of failed requests in the sample where failover should trigger.", + "type": "integer", + "format": "int32", + "maximum": 100, + "minimum": 0 + }, + "httpErrorRanges": { + "description": "The list of Http status code ranges that are considered as server errors for origin and it is marked as unhealthy.", + "type": "array", + "items": { + "$ref": "#/definitions/HttpErrorRangeParameters" + }, + "x-ms-identifiers": [] + } + } + }, + "HttpErrorRangeParameters": { + "description": "The JSON object that represents the range for http status codes", + "properties": { + "begin": { + "description": "The inclusive start of the http status code range.", + "type": "integer", + "format": "int32", + "maximum": 999, + "minimum": 100 + }, + "end": { + "description": "The inclusive end of the http status code range.", + "type": "integer", + "format": "int32", + "maximum": 999, + "minimum": 100 + } + } + }, + "OriginGroupListResult": { + "description": "Result of the request to list origin groups. It contains a list of origin groups objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OriginGroup" + }, + "description": "List of CDN origin groups within an endpoint" + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of origin objects if there are any." + } + } + }, + "DeepCreatedCustomDomain": { + "description": "Custom domains created on the CDN endpoint.", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "Custom domain name.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DeepCreatedCustomDomainProperties" + } + } + }, + "DeepCreatedCustomDomainProperties": { + "description": "Properties of the custom domain created on the CDN endpoint.", + "type": "object", + "required": [ + "hostName" + ], + "properties": { + "hostName": { + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" + }, + "validationData": { + "description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.", + "type": "string" + } + } + }, + "CustomDomain": { + "description": "Friendly domain name mapping to the endpoint hostname that the customer provides for branding purposes, e.g. www.contoso.com.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomDomainProperties" + } + } + }, + "CustomDomainProperties": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "required": [ + "hostName" + ], + "properties": { + "hostName": { + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" + }, + "resourceState": { + "description": "Resource status of the custom domain.", + "readOnly": true, + "enum": [ + "Creating", + "Active", + "Deleting" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomDomainResourceState", + "modelAsString": true + } + }, + "customHttpsProvisioningState": { + "description": "Provisioning status of the custom domain.", + "readOnly": true, + "enum": [ + "Enabling", + "Enabled", + "Disabling", + "Disabled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomHttpsProvisioningState", + "modelAsString": true + } + }, + "customHttpsProvisioningSubstate": { + "description": "Provisioning substate shows the progress of custom HTTPS enabling/disabling process step by step.", + "readOnly": true, + "enum": [ + "SubmittingDomainControlValidationRequest", + "PendingDomainControlValidationREquestApproval", + "DomainControlValidationRequestApproved", + "DomainControlValidationRequestRejected", + "DomainControlValidationRequestTimedOut", + "IssuingCertificate", + "DeployingCertificate", + "CertificateDeployed", + "DeletingCertificate", + "CertificateDeleted" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomHttpsProvisioningSubstate", + "modelAsString": true + } + }, + "customHttpsParameters": { + "description": "Certificate parameters for securing custom HTTPS", + "$ref": "#/definitions/CustomDomainHttpsParameters" + }, + "validationData": { + "description": "Special validation or data may be required when delivering CDN to some regions due to local compliance reasons. E.g. ICP license number of a custom domain is required to deliver content in China.", + "type": "string" + }, + "provisioningState": { + "description": "Provisioning status of Custom Https of the custom domain.", + "readOnly": true, + "enum": [ + "Enabling", + "Enabled", + "Disabling", + "Disabled", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "CustomHttpsProvisioningState", + "modelAsString": true + } + } + } + }, + "CustomDomainParameters": { + "description": "The customDomain JSON object required for custom domain creation or update.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomDomainPropertiesParameters" + } + } + }, + "CustomDomainPropertiesParameters": { + "description": "The JSON object that contains the properties of the custom domain to create.", + "required": [ + "hostName" + ], + "properties": { + "hostName": { + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" + } + } + }, + "CustomDomainHttpsParameters": { + "description": "The JSON object that contains the properties to secure a custom domain.", + "discriminator": "certificateSource", + "required": [ + "certificateSource", + "protocolType" + ], + "properties": { + "certificateSource": { + "description": "Defines the source of the SSL certificate.", + "enum": [ + "AzureKeyVault", + "Cdn" + ], + "type": "string", + "x-ms-enum": { + "name": "CertificateSource", + "modelAsString": true + } + }, + "protocolType": { + "description": "Defines the TLS extension protocol that is used for secure delivery.", + "enum": [ + "ServerNameIndication", + "IPBased" + ], + "type": "string", + "x-ms-enum": { + "name": "ProtocolType", + "modelAsString": true + } + }, + "minimumTlsVersion": { + "description": "TLS protocol version that will be used for Https", + "enum": [ + "None", + "TLS10", + "TLS12" + ], + "type": "string", + "x-ms-enum": { + "name": "MinimumTlsVersion", + "modelAsString": false + } + } + } + }, + "CdnManagedHttpsParameters": { + "description": "Defines the certificate source parameters using CDN managed certificate for enabling SSL.", + "x-ms-discriminator-value": "Cdn", + "allOf": [ + { + "$ref": "#/definitions/CustomDomainHttpsParameters" + } + ], + "required": [ + "certificateSourceParameters" + ], + "properties": { + "certificateSourceParameters": { + "description": "Defines the certificate source parameters using CDN managed certificate for enabling SSL.", + "$ref": "#/definitions/CdnCertificateSourceParameters" + } + } + }, + "CdnCertificateSourceParameters": { + "description": "Defines the parameters for using CDN managed certificate for securing custom domain.", + "required": [ + "typeName", + "certificateType" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "CdnCertificateSourceParameters" + ] + }, + "certificateType": { + "description": "Type of certificate used", + "enum": [ + "Shared", + "Dedicated" + ], + "type": "string", + "x-ms-enum": { + "name": "CertificateType", + "modelAsString": true + } + } + } + }, + "UserManagedHttpsParameters": { + "description": "Defines the certificate source parameters using user's keyvault certificate for enabling SSL.", + "x-ms-discriminator-value": "AzureKeyVault", + "allOf": [ + { + "$ref": "#/definitions/CustomDomainHttpsParameters" + } + ], + "required": [ + "certificateSourceParameters" + ], + "properties": { + "certificateSourceParameters": { + "description": "Defines the certificate source parameters using user's keyvault certificate for enabling SSL.", + "$ref": "#/definitions/KeyVaultCertificateSourceParameters" + } + } + }, + "KeyVaultCertificateSourceParameters": { + "description": "Describes the parameters for using a user's KeyVault certificate for securing custom domain.", + "required": [ + "typeName", + "subscriptionId", + "resourceGroupName", + "vaultName", + "secretName", + "updateRule", + "deleteRule" + ], + "properties": { + "typeName": { + "type": "string", + "enum": [ + "KeyVaultCertificateSourceParameters" + ] + }, + "subscriptionId": { + "description": "Subscription Id of the user's Key Vault containing the SSL certificate", + "type": "string" + }, + "resourceGroupName": { + "description": "Resource group of the user's Key Vault containing the SSL certificate", + "type": "string" + }, + "vaultName": { + "description": "The name of the user's Key Vault containing the SSL certificate", + "type": "string" + }, + "secretName": { + "description": "The name of Key Vault Secret (representing the full certificate PFX) in Key Vault.", + "type": "string" + }, + "secretVersion": { + "description": "The version(GUID) of Key Vault Secret in Key Vault.", + "type": "string" + }, + "updateRule": { + "description": "Describes the action that shall be taken when the certificate is updated in Key Vault.", + "type": "string", + "enum": [ + "NoAction" + ], + "x-ms-enum": { + "name": "UpdateRule", + "modelAsString": true + } + }, + "deleteRule": { + "description": "Describes the action that shall be taken when the certificate is removed from Key Vault.", + "type": "string", + "enum": [ + "NoAction" + ], + "x-ms-enum": { + "name": "DeleteRule", + "modelAsString": true + } + } + } + }, + "CustomDomainListResult": { + "description": "Result of the request to list custom domains. It contains a list of custom domain objects and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CustomDomain" + }, + "description": "List of CDN CustomDomains within an endpoint." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of custom domain objects if there are any." + } + } + }, + "ValidateCustomDomainInput": { + "description": "Input of the custom domain to be validated for DNS mapping.", + "type": "object", + "required": [ + "hostName" + ], + "properties": { + "hostName": { + "description": "The host name of the custom domain. Must be a domain name.", + "type": "string" + } + } + }, + "ValidateCustomDomainOutput": { + "description": "Output of custom domain validation.", + "type": "object", + "properties": { + "customDomainValidated": { + "description": "Indicates whether the custom domain is valid or not.", + "readOnly": true, + "type": "boolean" + }, + "reason": { + "description": "The reason why the custom domain is not valid.", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "Error message describing why the custom domain is not valid.", + "readOnly": true, + "type": "string" + } + } + }, + "CheckNameAvailabilityInput": { + "description": "Input of CheckNameAvailability API.", + "type": "object", + "required": [ + "name", + "type" + ], + "properties": { + "name": { + "description": "The resource name to validate.", + "type": "string" + }, + "type": { + "description": "The type of the resource whose name is to be validated.", + "$ref": "#/definitions/ResourceType" + } + } + }, + "CheckNameAvailabilityOutput": { + "description": "Output of check name availability API.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "Indicates whether the name is available.", + "readOnly": true, + "type": "boolean" + }, + "reason": { + "description": "The reason why the name is not available.", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "The detailed error message describing why the name is not available.", + "readOnly": true, + "type": "string" + } + } + }, + "ValidateProbeInput": { + "description": "Input of the validate probe API.", + "properties": { + "probeURL": { + "description": "The probe URL to validate.", + "type": "string" + } + }, + "required": [ + "probeURL" + ], + "type": "object" + }, + "ValidateProbeOutput": { + "description": "Output of the validate probe API.", + "properties": { + "isValid": { + "description": "Indicates whether the probe URL is accepted or not.", + "readOnly": true, + "type": "boolean" + }, + "errorCode": { + "description": "Specifies the error code when the probe url is not accepted.", + "readOnly": true, + "type": "string" + }, + "message": { + "description": "The detailed error message describing why the probe URL is not accepted.", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, + "ResourceUsageListResult": { + "description": "Output of check resource usage API.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ResourceUsage" + }, + "x-ms-identifiers": [ + "resourceType" + ], + "description": "List of resource usages." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of custom domain objects if there are any." + } + } + }, + "ResourceUsage": { + "description": "Output of check resource usage API.", + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "readOnly": true, + "description": "Resource type for which the usage is provided." + }, + "unit": { + "type": "string", + "readOnly": true, + "description": "Unit of the usage. e.g. count.", + "enum": [ + "count" + ], + "x-ms-enum": { + "name": "ResourceUsageUnit", + "modelAsString": true + } + }, + "currentValue": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Actual value of usage on the specified resource type." + }, + "limit": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Quota of the specified resource type." + } + } + }, + "ResourceType": { + "description": "Type of CDN resource used in CheckNameAvailability.", + "enum": [ + "Microsoft.Cdn/Profiles/Endpoints", + "Microsoft.Cdn/Profiles/AfdEndpoints" + ], + "type": "string", + "x-ms-enum": { + "name": "ResourceType", + "modelAsString": true + } + }, + "OperationsListResult": { + "description": "Result of the request to list CDN operations. It contains a list of operations and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "List of CDN operations supported by the CDN resource provider." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "Operation": { + "description": "CDN REST API operation", + "type": "object", + "properties": { + "name": { + "description": "Operation name: {provider}/{resource}/{operation}", + "readOnly": true, + "type": "string" + }, + "isDataAction": { + "description": "Indicates whether the operation is a data action", + "type": "boolean" + }, + "display": { + "description": "The object that represents the operation.", + "properties": { + "provider": { + "description": "Service provider: Microsoft.Cdn", + "readOnly": true, + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed: Profile, endpoint, etc.", + "readOnly": true, + "type": "string" + }, + "operation": { + "description": "Operation type: Read, write, delete, etc.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Description of operation.", + "readOnly": true, + "type": "string" + } + } + }, + "origin": { + "type": "string", + "readOnly": true, + "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.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + } + }, + "ServiceSpecification": { + "description": "One property of operation, include log specifications.", + "type": "object", + "properties": { + "logSpecifications": { + "description": "Log specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "metricSpecifications": { + "description": "Metric specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "LogSpecification": { + "description": "Log specification of operation.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of log specification." + }, + "displayName": { + "type": "string", + "description": "Display name of log specification." + }, + "blobDuration": { + "type": "string", + "description": "Blob duration of specification." + }, + "logFilterPattern": { + "type": "string", + "description": "Pattern to filter based on name" + } + } + }, + "MetricSpecification": { + "description": "Metric specification of operation.", + "type": "object", + "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": "The metric unit. Possible values include: 'Bytes', 'Count', 'Milliseconds'." + }, + "aggregationType": { + "type": "string", + "description": "The metric aggregation type. Possible values include: 'Average', 'Count', 'Total'." + }, + "availabilities": { + "description": "Retention policies of a resource metric.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricAvailability" + }, + "x-ms-identifiers": [] + }, + "supportedTimeGrainTypes": { + "type": "array", + "description": "The supported time grain types for the metrics.", + "items": { + "type": "string" + } + }, + "dimensions": { + "type": "array", + "description": "The dimensions of metric", + "items": { + "$ref": "#/definitions/DimensionProperties" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "fillGapWithZero": { + "type": "boolean", + "description": "Property to specify whether to fill gap with zero." + }, + "metricFilterPattern": { + "type": "string", + "description": "Pattern to filter based on name" + }, + "isInternal": { + "type": "boolean", + "description": "Property to specify metric is internal or not." + } + } + }, + "DimensionProperties": { + "description": "Type of operation: get, read, delete, etc.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of dimension." + }, + "internalName": { + "type": "string", + "description": "Internal name of dimension." + } + } + }, + "MetricAvailability": { + "description": "Retention policy of a resource metric.", + "type": "object", + "properties": { + "timeGrain": { + "type": "string" + }, + "blobDuration": { + "type": "string" + } + } + }, + "EdgenodeResult": { + "description": "Result of the request to list CDN edgenodes. It contains a list of ip address group and a URL link to get the next set of results.", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/EdgeNode" + }, + "description": "Edge node of CDN service." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of edgenode list results if there are any." + } + } + }, + "EdgeNode": { + "description": "Edgenode is a global Point of Presence (POP) location used to deliver CDN content to end users.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EdgeNodeProperties" + } + } + }, + "EdgeNodeProperties": { + "description": "The JSON object that contains the properties required to create an edgenode.", + "required": [ + "ipAddressGroups" + ], + "properties": { + "ipAddressGroups": { + "description": "List of ip address groups.", + "type": "array", + "items": { + "$ref": "#/definitions/IpAddressGroup" + }, + "x-ms-identifiers": [ + "deliveryRegion" + ] + } + } + }, + "IpAddressGroup": { + "description": "CDN Ip address group", + "type": "object", + "properties": { + "deliveryRegion": { + "description": "The delivery region of the ip address group", + "type": "string" + }, + "ipv4Addresses": { + "description": "The list of ip v4 addresses.", + "type": "array", + "items": { + "$ref": "#/definitions/cidrIpAddress" + }, + "x-ms-identifiers": [ + "baseIpAddress" + ] + }, + "ipv6Addresses": { + "description": "The list of ip v6 addresses.", + "type": "array", + "items": { + "$ref": "#/definitions/cidrIpAddress" + }, + "x-ms-identifiers": [ + "baseIpAddress" + ] + } + } + }, + "cidrIpAddress": { + "description": "CIDR Ip address", + "type": "object", + "properties": { + "baseIpAddress": { + "description": "Ip address itself.", + "type": "string" + }, + "prefixLength": { + "description": "The length of the prefix of the ip address.", + "type": "integer", + "format": "int32" + } + } + }, + "Resource": { + "description": "The core properties of ARM resources", + "properties": { + "id": { + "description": "Resource ID.", + "readOnly": true, + "type": "string" + }, + "name": { + "description": "Resource name.", + "readOnly": true, + "type": "string" + }, + "type": { + "description": "Resource type.", + "readOnly": true, + "type": "string" + }, + "systemData": { + "$ref": "#/definitions/SystemData", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "SystemData": { + "description": "Read only system data", + "readOnly": true, + "type": "object", + "properties": { + "createdBy": { + "type": "string", + "description": "An identifier for the identity that created the resource" + }, + "createdByType": { + "$ref": "#/definitions/IdentityType", + "description": "The type of identity that created the resource" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource creation (UTC)" + }, + "lastModifiedBy": { + "type": "string", + "description": "An identifier for the identity that last modified the resource" + }, + "lastModifiedByType": { + "$ref": "#/definitions/IdentityType", + "description": "The type of identity that last modified the resource" + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of resource last modification (UTC)" + } + } + }, + "IdentityType": { + "description": "The type of identity that creates/modifies resources", + "type": "string", + "enum": [ + "user", + "application", + "managedIdentity", + "key" + ], + "x-ms-enum": { + "name": "IdentityType", + "modelAsString": true + } + }, + "TrackedResource": { + "description": "The resource model definition for a ARM tracked top level resource.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": { + "location": { + "type": "string", + "description": "Resource location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + } + }, + "required": [ + "location" + ] + }, + "ProxyResource": { + "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags", + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "properties": {} + }, + "QueryStringCachingBehavior": { + "description": "Defines how CDN caches requests that include query strings. You can ignore any query strings when caching, bypass caching to prevent requests that contain query strings from being cached, or cache every request with a unique URL.", + "enum": [ + "IgnoreQueryString", + "BypassCaching", + "UseQueryString", + "NotSet" + ], + "type": "string", + "x-ms-enum": { + "name": "QueryStringCachingBehavior", + "modelAsString": false + } + }, + "PrivateEndpointStatus": { + "description": "The approval status for the connection to the Private Link", + "type": "string", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "x-ms-enum": { + "name": "PrivateEndpointStatus", + "modelAsString": true + } + }, + "Sku": { + "description": "Standard_Verizon = The SKU name for a Standard Verizon CDN profile.\nPremium_Verizon = The SKU name for a Premium Verizon CDN profile.\nCustom_Verizon = The SKU name for a Custom Verizon CDN profile.\nStandard_Akamai = The SKU name for an Akamai CDN profile.\nStandard_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using GB based billing model.\nStandard_Microsoft = The SKU name for a Standard Microsoft CDN profile.\nStandard_AzureFrontDoor = The SKU name for an Azure Front Door Standard profile.\nPremium_AzureFrontDoor = The SKU name for an Azure Front Door Premium profile.\nStandard_955BandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using 95-5 peak bandwidth billing model.\nStandard_AvgBandWidth_ChinaCdn = The SKU name for a China CDN profile for VOD, Web and download scenarios using monthly average peak bandwidth billing model.\nStandardPlus_ChinaCdn = The SKU name for a China CDN profile for live-streaming using GB based billing model.\nStandardPlus_955BandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using 95-5 peak bandwidth billing model.\nStandardPlus_AvgBandWidth_ChinaCdn = The SKU name for a China CDN live-streaming profile using monthly average peak bandwidth billing model.\n", + "properties": { + "name": { + "description": "Name of the pricing tier.", + "enum": [ + "Standard_Verizon", + "Premium_Verizon", + "Custom_Verizon", + "Standard_Akamai", + "Standard_ChinaCdn", + "Standard_Microsoft", + "Standard_AzureFrontDoor", + "Premium_AzureFrontDoor", + "Standard_955BandWidth_ChinaCdn", + "Standard_AvgBandWidth_ChinaCdn", + "StandardPlus_ChinaCdn", + "StandardPlus_955BandWidth_ChinaCdn", + "StandardPlus_AvgBandWidth_ChinaCdn" + ], + "type": "string", + "x-ms-enum": { + "name": "SkuName", + "modelAsString": true + } + } + }, + "type": "object" + }, + "OptimizationType": { + "description": "Specifies what scenario the customer wants this CDN endpoint to optimize, e.g. Download, Media services. With this information we can apply scenario driven optimization.", + "enum": [ + "GeneralWebDelivery", + "GeneralMediaStreaming", + "VideoOnDemandMediaStreaming", + "LargeFileDownload", + "DynamicSiteAcceleration" + ], + "type": "string", + "x-ms-enum": { + "name": "OptimizationType", + "modelAsString": true + } + }, + "ErrorResponse": { + "title": "Error response", + "description": "Error response indicates Azure Front Door Standard or Azure Front Door Premium or CDN service is not able to process the incoming request. The reason is provided in the error message.", + "type": "object", + "properties": { + "error": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorDetail" + } + } + }, + "CdnMigrationToAfdParameters": { + "type": "object", + "description": "Request body for Migrate operation.", + "required": [ + "sku" + ], + "properties": { + "sku": { + "description": "Sku for the migration", + "$ref": "#/definitions/Sku" + }, + "migrationEndpointMappings": { + "description": "A name map between classic CDN endpoints and AFD Premium/Standard endpoints.", + "type": "array", + "items": { + "description": "List of endpoint mappings", + "$ref": "#/definitions/MigrationEndpointMapping" + }, + "x-ms-identifiers": [] + } + }, + "x-ms-azure-resource": true + }, + "MigrationEndpointMapping": { + "description": "CDN Endpoint Mapping.", + "type": "object", + "properties": { + "migratedFrom": { + "description": "The name of the old endpoint.", + "type": "string" + }, + "migratedTo": { + "description": "The name for the new endpoint.", + "type": "string" + } + } + }, + "MigrationResultEmpty": { + "description": "Empty 200 response.", + "type": "object", + "properties": {} + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Azure Subscription ID.", + "required": true, + "type": "string" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request. Current version is 2024-05-01-preview." + }, + "resourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[-\\w\\._\\(\\)]+$", + "minLength": 1, + "maxLength": 90, + "x-ms-parameter-location": "method", + "description": "Name of the Resource group within the Azure subscription." + }, + "profileNameParameter": { + "name": "profileName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$", + "minLength": 1, + "maxLength": 260, + "x-ms-parameter-location": "method", + "description": "Name of the Azure Front Door Standard or Azure Front Door Premium which is unique within the resource group." + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/cdnwebapplicationfirewall.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/cdnwebapplicationfirewall.json new file mode 100644 index 000000000000..f63ae487d275 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/cdnwebapplicationfirewall.json @@ -0,0 +1,977 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "Azure CDN WebApplicationFirewallManagement", + "description": "APIs to manage web application firewall rules for Azure CDN" + }, + "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.Cdn/cdnWebApplicationFirewallPolicies": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Lists all of the protection policies within a resource group.", + "operationId": "Policies_List", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicyList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./cdn.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Policies in a Resource Group": { + "$ref": "./examples/WafListPolicies.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Cdn/cdnWebApplicationFirewallPolicies/{policyName}": { + "get": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Retrieve protection policy with specified name within a resource group.", + "operationId": "Policies_Get", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PolicyNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./cdn.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Policy": { + "$ref": "./examples/WafPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Create or update policy with specified rule set name within a resource group.", + "operationId": "Policies_CreateOrUpdate", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PolicyNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "description": "Policy to be created.", + "in": "body", + "name": "cdnWebApplicationFirewallPolicy", + "required": true, + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" + } + }, + "201": { + "description": "Created. The request has been fulfilled and a new protection policy has been created.", + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./cdn.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Creates specific policy": { + "$ref": "./examples/WafPolicyCreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Update an existing CdnWebApplicationFirewallPolicy with the specified policy name under the specified subscription and resource group", + "operationId": "Policies_Update", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PolicyNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + }, + { + "description": "CdnWebApplicationFirewallPolicy parameters to be patched.", + "in": "body", + "name": "cdnWebApplicationFirewallPolicyPatchParameters", + "required": true, + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicyPatchParameters" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" + } + }, + "202": { + "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.", + "headers": { + "location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/CdnWebApplicationFirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./cdn.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Creates specific policy": { + "$ref": "./examples/WafPatchPolicy.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "WebApplicationFirewallPolicies" + ], + "description": "Deletes Policy", + "operationId": "Policies_Delete", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/PolicyNameParameter" + }, + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "204": { + "description": "No Content. The request has been accepted but the policy was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./cdn.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete protection policy": { + "$ref": "./examples/WafPolicyDelete.json" + } + }, + "x-ms-long-running-operation": false + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Cdn/cdnWebApplicationFirewallManagedRuleSets": { + "get": { + "tags": [ + "WebApplicationFirewallManagedRuleSets" + ], + "description": "Lists all available managed rule sets.", + "operationId": "ManagedRuleSets_List", + "parameters": [ + { + "$ref": "#/parameters/subscriptionIdParameter" + }, + { + "$ref": "#/parameters/apiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of all available web application firewall managed rule sets.", + "schema": { + "$ref": "#/definitions/ManagedRuleSetDefinitionList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./cdn.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List Policies in a Resource Group": { + "$ref": "./examples/WafListManagedRuleSets.json" + } + } + } + } + }, + "definitions": { + "CdnWebApplicationFirewallPolicyList": { + "description": "Defines a list of WebApplicationFirewallPolicies for Azure CDN. 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/CdnWebApplicationFirewallPolicy" + }, + "description": "List of Azure CDN WebApplicationFirewallPolicies within a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of WebApplicationFirewallPolicy objects if there are any." + } + } + }, + "CdnWebApplicationFirewallPolicy": { + "description": "Defines web application firewall policy for Azure CDN.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Properties of the web application firewall policy.", + "$ref": "#/definitions/CdnWebApplicationFirewallPolicyProperties" + }, + "etag": { + "type": "string", + "description": "Gets a unique read-only string that changes whenever the resource is updated." + }, + "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.", + "$ref": "./cdn.json#/definitions/Sku" + } + }, + "required": [ + "sku" + ], + "allOf": [ + { + "$ref": "./cdn.json#/definitions/TrackedResource" + } + ] + }, + "CdnWebApplicationFirewallPolicyPatchParameters": { + "type": "object", + "description": "Properties required to update a CdnWebApplicationFirewallPolicy.", + "properties": { + "tags": { + "description": "CdnWebApplicationFirewallPolicy tags", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + }, + "x-ms-azure-resource": true + }, + "CdnWebApplicationFirewallPolicyProperties": { + "description": "Defines CDN web application firewall policy properties.", + "properties": { + "policySettings": { + "description": "Describes policySettings for policy", + "$ref": "#/definitions/policySettings" + }, + "rateLimitRules": { + "description": "Describes rate limit rules inside the policy.", + "$ref": "#/definitions/RateLimitRuleList" + }, + "customRules": { + "description": "Describes custom rules inside the policy.", + "$ref": "#/definitions/CustomRuleList" + }, + "managedRules": { + "description": "Describes managed rules inside the policy.", + "$ref": "#/definitions/ManagedRuleSetList" + }, + "endpointLinks": { + "description": "Describes Azure CDN endpoints associated with this Web Application Firewall policy.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/CdnEndpoint" + } + }, + "extendedProperties": { + "description": "Key-Value pair representing additional properties for Web Application Firewall policy.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state of the WebApplicationFirewallPolicy.", + "enum": [ + "Creating", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "resourceState": { + "title": "Resource status of the policy.", + "readOnly": true, + "enum": [ + "Creating", + "Enabling", + "Enabled", + "Disabling", + "Disabled", + "Deleting" + ], + "type": "string", + "x-ms-enum": { + "name": "PolicyResourceState", + "modelAsString": true + } + } + } + }, + "policySettings": { + "description": "Defines contents of a web application firewall global configuration", + "properties": { + "enabledState": { + "description": "describes if the policy is in enabled state or disabled state", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "PolicyEnabledState", + "modelAsString": true + } + }, + "mode": { + "description": "Describes if it is in detection mode or prevention mode at policy level.", + "type": "string", + "enum": [ + "Prevention", + "Detection" + ], + "x-ms-enum": { + "name": "PolicyMode", + "modelAsString": true + } + }, + "defaultRedirectUrl": { + "description": "If action type is redirect, this field represents the default redirect URL for the client.", + "type": "string" + }, + "defaultCustomBlockResponseStatusCode": { + "description": "If the action type is block, this field defines the default customer overridable http response status code.", + "type": "integer", + "format": "int32", + "enum": [ + 200, + 403, + 405, + 406, + 429 + ] + }, + "defaultCustomBlockResponseBody": { + "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})$" + } + } + }, + "CdnEndpoint": { + "description": "Defines the ARM Resource ID for the linked endpoints", + "type": "object", + "readOnly": true, + "properties": { + "id": { + "type": "string", + "description": "ARM Resource ID string." + } + } + }, + "CustomRuleList": { + "description": "Defines contents of custom rules", + "properties": { + "rules": { + "description": "List of rules", + "type": "array", + "items": { + "$ref": "#/definitions/CustomRule" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "CustomRule": { + "description": "Defines the common attributes for a custom rule that can be included in a waf policy", + "type": "object", + "required": [ + "name", + "priority", + "matchConditions", + "action" + ], + "properties": { + "name": { + "description": "Defines the name of the custom rule", + "type": "string" + }, + "enabledState": { + "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": "CustomRuleEnabledState", + "modelAsString": true + } + }, + "priority": { + "description": "Defines in what order this rule be evaluated in the overall list of custom rules", + "type": "integer", + "format": "int32", + "maximum": 1000, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false + }, + "matchConditions": { + "description": "List of match conditions.", + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + }, + "x-ms-identifiers": [] + }, + "action": { + "description": "Describes what action to be applied when rule matches", + "$ref": "#/definitions/ActionType" + } + } + }, + "RateLimitRuleList": { + "description": "Defines contents of rate limit rules", + "properties": { + "rules": { + "description": "List of rules", + "type": "array", + "items": { + "$ref": "#/definitions/RateLimitRule" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "RateLimitRule": { + "description": "Defines a rate limiting rule that can be included in a waf policy", + "type": "object", + "required": [ + "rateLimitThreshold", + "rateLimitDurationInMinutes" + ], + "properties": { + "rateLimitThreshold": { + "description": "Defines rate limit threshold.", + "type": "integer", + "format": "int32", + "minimum": 0, + "exclusiveMinimum": false + }, + "rateLimitDurationInMinutes": { + "description": "Defines rate limit duration. Default is 1 minute.", + "type": "integer", + "format": "int32", + "maximum": 60, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false + } + }, + "allOf": [ + { + "$ref": "#/definitions/CustomRule" + } + ] + }, + "MatchCondition": { + "description": "Define match conditions", + "required": [ + "matchVariable", + "operator", + "matchValue" + ], + "properties": { + "matchVariable": { + "description": "Match variable to compare against.", + "type": "string", + "enum": [ + "RemoteAddr", + "SocketAddr", + "RequestMethod", + "RequestHeader", + "RequestUri", + "QueryString", + "RequestBody", + "Cookies", + "PostArgs" + ], + "x-ms-enum": { + "name": "WafMatchVariable", + "modelAsString": true + } + }, + "selector": { + "description": "Selector can used to match a specific key for QueryString, Cookies, RequestHeader or PostArgs.", + "type": "string" + }, + "operator": { + "description": "Describes operator to be matched", + "type": "string", + "enum": [ + "Any", + "IPMatch", + "GeoMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "RegEx" + ], + "x-ms-enum": { + "name": "operator", + "modelAsString": true + } + }, + "negateCondition": { + "description": "Describes if the result of this condition should be negated.", + "type": "boolean" + }, + "matchValue": { + "description": "List of possible match values.", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms.", + "type": "array", + "items": { + "$ref": "#/definitions/TransformType" + } + } + } + }, + "TransformType": { + "description": "Describes what transforms were applied before matching.", + "type": "string", + "enum": [ + "Lowercase", + "Uppercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls" + ], + "x-ms-enum": { + "name": "TransformType", + "modelAsString": true + } + }, + "ManagedRuleSetList": { + "description": "Defines the list of managed rule sets for the policy.", + "properties": { + "managedRuleSets": { + "description": "List of rule sets.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleSet" + }, + "x-ms-identifiers": [ + "ruleSetType", + "ruleSetVersion" + ] + } + } + }, + "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" + }, + "anomalyScore": { + "description": "Verizon only : If the rule set supports anomaly detection mode, this describes the threshold for blocking requests.", + "type": "integer", + "format": "int32", + "maximum": 20, + "exclusiveMaximum": false, + "minimum": 0, + "exclusiveMinimum": false + }, + "ruleGroupOverrides": { + "description": "Defines the rule overrides to apply to the rule set.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleGroupOverride" + }, + "x-ms-identifiers": [ + "ruleGroupName" + ] + } + } + }, + "ManagedRuleGroupOverride": { + "description": "Defines a managed rule group override setting.", + "required": [ + "ruleGroupName" + ], + "properties": { + "ruleGroupName": { + "description": "Describes the managed rule group within the rule set to override", + "type": "string" + }, + "rules": { + "description": "List of rules that will be enabled. If none specified, all rules in the group will be disabled.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleOverride" + }, + "x-ms-identifiers": [ + "ruleId" + ] + } + } + }, + "ManagedRuleOverride": { + "description": "Defines a managed rule group override setting.", + "required": [ + "ruleId" + ], + "properties": { + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + }, + "enabledState": { + "description": "Describes if the managed rule is in enabled or disabled state. 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" + } + } + }, + "ManagedRuleSetDefinitionList": { + "description": "List of managed rule set definitions available for use in a policy.", + "properties": { + "value": { + "description": "List of managed rule set definitions.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleSetDefinition" + } + }, + "nextLink": { + "type": "string", + "description": "URL to retrieve next set of managed rule set definitions." + } + } + }, + "ManagedRuleSetDefinition": { + "description": "Describes a managed rule set definition.", + "properties": { + "properties": { + "description": "Describes managed rule set definition properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagedRuleSetDefinitionProperties" + }, + "sku": { + "description": "The pricing tier (defines a CDN provider, feature list and rate) of the CdnWebApplicationFirewallPolicy.", + "$ref": "./cdn.json#/definitions/Sku" + } + }, + "allOf": [ + { + "$ref": "./cdn.json#/definitions/Resource" + } + ] + }, + "ManagedRuleSetDefinitionProperties": { + "description": "Properties for a managed rule set definition.", + "properties": { + "provisioningState": { + "type": "string", + "readOnly": true, + "description": "Provisioning state of the managed rule set." + }, + "ruleSetType": { + "type": "string", + "readOnly": true, + "description": "Type of the managed rule set." + }, + "ruleSetVersion": { + "type": "string", + "readOnly": true, + "description": "Version of the managed rule set type." + }, + "ruleGroups": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ManagedRuleGroupDefinition" + }, + "x-ms-identifiers": [ + "ruleGroupName" + ], + "description": "Rule groups of the managed rule set." + } + } + }, + "ManagedRuleGroupDefinition": { + "description": "Describes a managed rule group.", + "properties": { + "ruleGroupName": { + "type": "string", + "readOnly": true, + "description": "Name of the managed rule group." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Description of the managed rule group." + }, + "rules": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/ManagedRuleDefinition" + }, + "x-ms-identifiers": [ + "ruleId" + ], + "description": "List of rules within the managed rule group." + } + } + }, + "ManagedRuleDefinition": { + "description": "Describes a managed rule definition.", + "properties": { + "ruleId": { + "description": "Identifier for the managed rule.", + "readOnly": true, + "type": "string" + }, + "description": { + "description": "Describes the functionality of the managed rule.", + "readOnly": true, + "type": "string" + } + } + }, + "ActionType": { + "description": "Defines the action to take on rule match.", + "type": "string", + "enum": [ + "Allow", + "Block", + "Log", + "Redirect" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true + } + } + }, + "parameters": { + "subscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "description": "Azure Subscription ID.", + "required": true, + "type": "string" + }, + "apiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Version of the API to be used with the client request. Current version is 2024-05-01-preview." + }, + "PolicyNameParameter": { + "name": "policyName", + "in": "path", + "required": true, + "type": "string", + "maxLength": 128, + "x-ms-parameter-location": "method", + "description": "The name of the CdnWebApplicationFirewallPolicy." + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$", + "minLength": 1, + "maxLength": 80, + "x-ms-parameter-location": "method", + "description": "Name of the Resource group within the Azure subscription." + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_Create.json new file mode 100644 index 000000000000..42591d243fa6 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_Create.json @@ -0,0 +1,213 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "customDomainName": "domain1", + "customDomain": { + "properties": { + "hostName": "www.someDomain.net", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "cipherSuiteSetType": "Customized", + "minimumTlsVersion": "TLS12", + "customizedCipherSuiteSet": { + "cipherSuiteSetForTls10": [], + "cipherSuiteSetForTls12": [ + "ECDHE_RSA_AES128_GCM_SHA256" + ], + "cipherSuiteSetForTls13": [ + "TLS_AES_128_GCM_SHA256", + "TLS_AES_256_GCM_SHA384" + ] + } + }, + "mtlsSettings": { + "secrets": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name2" + } + ], + "otherAllowedFqdn": [ + "foo.contoso.com" + ] + }, + "azureDnsZone": { + "id": "" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/domain1", + "name": "domain1", + "type": "Microsoft.Cdn/profiles/customdomains", + "properties": { + "profileName": "profile1", + "hostName": "www.contoso.com", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "cipherSuiteSetType": "Customized", + "minimumTlsVersion": "TLS12", + "customizedCipherSuiteSet": { + "cipherSuiteSetForTls10": [], + "cipherSuiteSetForTls12": [ + "ECDHE_RSA_AES128_GCM_SHA256" + ], + "cipherSuiteSetForTls13": [ + "TLS_AES_128_GCM_SHA256", + "TLS_AES_256_GCM_SHA384" + ] + }, + "secret": { + "id": "" + } + }, + "mtlsSettings": { + "secrets": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name2" + } + ], + "otherAllowedFqdn": [ + "foo.contoso.com" + ], + "certificateValidation": "Enabled", + "certificatePassthrough": "Disabled", + "ocsp": "Enabled" + }, + "azureDnsZone": { + "id": "" + }, + "preValidatedCustomDomainResourceId": { + "id": "" + }, + "validationProperties": { + "validationToken": "", + "expirationDate": "" + }, + "domainValidationState": "Submitting", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/domain1", + "name": "domain1", + "type": "Microsoft.Cdn/profiles/customdomains", + "properties": { + "profileName": "profile1", + "hostName": "www.contoso.com", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "cipherSuiteSetType": "Customized", + "minimumTlsVersion": "TLS12", + "customizedCipherSuiteSet": { + "cipherSuiteSetForTls10": [], + "cipherSuiteSetForTls12": [ + "ECDHE_RSA_AES128_GCM_SHA256" + ], + "cipherSuiteSetForTls13": [ + "TLS_AES_128_GCM_SHA256", + "TLS_AES_256_GCM_SHA384" + ] + }, + "secret": { + "id": "" + } + }, + "mtlsSettings": { + "secrets": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name2" + } + ], + "otherAllowedFqdn": [ + "foo.contoso.com" + ], + "certificateValidation": "Enabled", + "certificatePassthrough": "Disabled", + "ocsp": "Enabled" + }, + "azureDnsZone": { + "id": "" + }, + "preValidatedCustomDomainResourceId": { + "id": "" + }, + "validationProperties": { + "validationToken": "", + "expirationDate": "" + }, + "domainValidationState": "Submitting", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/domain1", + "name": "domain1", + "type": "Microsoft.Cdn/profiles/customdomains", + "properties": { + "profileName": "profile1", + "hostName": "www.contoso.com", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "minimumTlsVersion": "TLS12", + "secret": { + "id": "" + } + }, + "mtlsSettings": { + "secrets": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name2" + } + ], + "otherAllowedFqdn": [ + "foo.contoso.com" + ], + "certificateValidation": "Enabled", + "certificatePassthrough": "Disabled", + "ocsp": "Enabled" + }, + "azureDnsZone": { + "id": "" + }, + "preValidatedCustomDomainResourceId": { + "id": "" + }, + "validationProperties": { + "validationToken": "", + "expirationDate": "" + }, + "domainValidationState": "Submitting", + "provisioningState": "Creating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_Delete.json new file mode 100644 index 000000000000..38df30ebb86e --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "customDomainName": "domain1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_Get.json new file mode 100644 index 000000000000..77442da48334 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_Get.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "customDomainName": "domain1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/domain1", + "name": "domain1", + "type": "Microsoft.Cdn/profiles/customdomains", + "properties": { + "profileName": "profile1", + "hostName": "www.contoso.com", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "minimumTlsVersion": "TLS12", + "secret": { + "id": "" + } + }, + "mtlsSettings": { + "secrets": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name2" + } + ], + "otherAllowedFqdn": [ + "foo.contoso.com" + ], + "certificateValidation": "Enabled", + "certificatePassthrough": "Disabled", + "ocsp": "Enabled" + }, + "azureDnsZone": { + "id": "" + }, + "preValidatedCustomDomainResourceId": { + "id": "" + }, + "validationProperties": { + "validationToken": "8c9912db-c615-4eeb-8465", + "expirationDate": "2009-06-15T13:45:43.0000000Z" + }, + "domainValidationState": "Pending", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_ListByProfile.json new file mode 100644 index 000000000000..9c261edf102c --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_ListByProfile.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/domain1", + "name": "domain1", + "type": "Microsoft.Cdn/profiles/customdomains", + "properties": { + "profileName": "profile1", + "hostName": "www.contoso.com", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "minimumTlsVersion": "TLS12", + "secret": { + "id": "" + } + }, + "mtlsSettings": { + "secrets": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name2" + } + ], + "otherAllowedFqdn": [ + "foo.contoso.com" + ], + "certificateValidation": "Enabled", + "certificatePassthrough": "Disabled", + "ocsp": "Enabled" + }, + "azureDnsZone": { + "id": "" + }, + "preValidatedCustomDomainResourceId": { + "id": "" + }, + "validationProperties": { + "validationToken": "8c9912db-c615-4eeb-8465", + "expirationDate": "2009-06-15T13:45:43.0000000Z" + }, + "domainValidationState": "Pending", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_RefreshValidationToken.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_RefreshValidationToken.json new file mode 100644 index 000000000000..0292445a78d6 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_RefreshValidationToken.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "customDomainName": "domain1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_Update.json new file mode 100644 index 000000000000..e912d3125cdc --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDCustomDomains_Update.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "customDomainName": "domain1", + "customDomainUpdateProperties": { + "properties": { + "tlsSettings": { + "certificateType": "CustomerCertificate", + "minimumTlsVersion": "TLS12" + }, + "mtlsSettings": { + "secrets": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name2" + } + ], + "otherAllowedFqdn": [ + "foo.contoso.com" + ], + "certificateValidation": "Enabled", + "certificatePassthrough": "Disabled", + "ocsp": "Enabled" + }, + "azureDnsZone": { + "id": "" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/domain1", + "name": "domain1", + "type": "Microsoft.Cdn/profiles/customdomains", + "properties": { + "profileName": "profile1", + "hostName": "www.contoso.com", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "minimumTlsVersion": "TLS12", + "secret": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/mysecert" + } + }, + "mtlsSettings": { + "secrets": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name2" + } + ], + "otherAllowedFqdn": [ + "foo.contoso.com" + ], + "certificateValidation": "Enabled", + "certificatePassthrough": "Disabled", + "ocsp": "Enabled" + }, + "azureDnsZone": { + "id": "" + }, + "preValidatedCustomDomainResourceId": { + "id": "" + }, + "validationProperties": { + "validationToken": "8c9912db-c615-4eeb-8465", + "expirationDate": "2009-06-15T13:45:43.0000000Z" + }, + "domainValidationState": "Approved", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/domain1", + "name": "domain1", + "type": "Microsoft.Cdn/profiles/customdomains", + "properties": { + "profileName": "profile1", + "hostName": "www.contoso.com", + "tlsSettings": { + "certificateType": "ManagedCertificate", + "minimumTlsVersion": "TLS12", + "secret": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/mysecert" + } + }, + "mtlsSettings": { + "secrets": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/name2" + } + ], + "otherAllowedFqdn": [ + "foo.contoso.com" + ], + "certificateValidation": "Enabled", + "certificatePassthrough": "Disabled", + "ocsp": "Enabled" + }, + "azureDnsZone": { + "id": "" + }, + "preValidatedCustomDomainResourceId": { + "id": "" + }, + "validationProperties": { + "validationToken": "8c9912db-c615-4eeb-8465", + "expirationDate": "2009-06-15T13:45:43.0000000Z" + }, + "domainValidationState": "Approved", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_Create.json new file mode 100644 index 000000000000..894b8ffd41a7 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_Create.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "endpoint": { + "tags": {}, + "location": "global", + "properties": { + "enabledState": "Enabled", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + }, + "responses": { + "200": { + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/afdendpoints", + "tags": {}, + "location": "global", + "properties": { + "hostName": "endpoint1-abcdefghijklmnop.z01.azurefd.net", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + }, + "201": { + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/afdendpoints", + "tags": {}, + "location": "global", + "properties": { + "hostName": "endpoint1-abcdefghijklmnop.z01.azurefd.net", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/afdendpoints", + "tags": {}, + "location": "global", + "properties": { + "hostName": "endpoint1-abcdefghijklmnop.z01.azurefd.net", + "enabledState": "Enabled", + "provisioningState": "Creating", + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_Delete.json new file mode 100644 index 000000000000..cd695aee7f2c --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_Get.json new file mode 100644 index 000000000000..26c625951cd7 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/afdendpoints", + "tags": {}, + "location": "global", + "properties": { + "hostName": "endpoint1-abcdefghijklmnop.z01.azurefd.net", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_ListByProfile.json new file mode 100644 index 000000000000..09c63c297ae8 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_ListByProfile.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/afdendpoints", + "tags": {}, + "location": "global", + "properties": { + "hostName": "endpoint1-abcdefghijklmnop.z01.azurefd.net", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_ListResourceUsage.json new file mode 100644 index 000000000000..5c0f0cb82af5 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_ListResourceUsage.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 0, + "limit": 25, + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "name": { + "value": "route", + "localizedValue": "route" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_PurgeContent.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_PurgeContent.json new file mode 100644 index 000000000000..ca4354bc39c0 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_PurgeContent.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "contents": { + "contentPaths": [ + "/folder1" + ], + "domains": [ + "endpoint1-abcdefghijklmnop.z01.azurefd.net" + ] + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_Update.json new file mode 100644 index 000000000000..5bfd6fe74f79 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_Update.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "endpointUpdateProperties": { + "tags": {}, + "properties": { + "enabledState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/afdendpoints", + "tags": {}, + "location": "global", + "properties": { + "hostName": "endpoint1-ezh7ddcmguaeajfu.z01.azureedge.net", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/afdendpoints", + "tags": {}, + "location": "global", + "properties": { + "hostName": "endpoint1-abcdefghijklmnop.z01.azurefd.net", + "enabledState": "Enabled", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_ValidateCustomDomain.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_ValidateCustomDomain.json new file mode 100644 index 000000000000..9c1880f6f11e --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDEndpoints_ValidateCustomDomain.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainProperties": { + "hostName": "www.someDomain.com" + } + }, + "responses": { + "200": { + "body": { + "customDomainValidated": true, + "message": null, + "reason": null + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_Create.json new file mode 100644 index 000000000000..6334997db41f --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_Create.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1", + "originGroup": { + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path2", + "probeRequestType": "NotSet", + "probeProtocol": "NotSet", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1", + "type": "Microsoft.Cdn/profiles/origingroups", + "name": "origingroup1", + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path1", + "probeRequestType": "HEAD", + "probeProtocol": "Http", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1", + "type": "Microsoft.Cdn/profiles/origingroups", + "name": "origingroup1", + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path1", + "probeRequestType": "HEAD", + "probeProtocol": "Http", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1", + "type": "Microsoft.Cdn/profiles/origingroups", + "name": "origingroup1", + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path1", + "probeRequestType": "HEAD", + "probeProtocol": "Http", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, + "provisioningState": "Creating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_Delete.json new file mode 100644 index 000000000000..cff6e02a0cb6 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_Get.json new file mode 100644 index 000000000000..a1a72abbba06 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1", + "type": "Microsoft.Cdn/profiles/origingroups", + "name": "origingroup1", + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path1", + "probeRequestType": "HEAD", + "probeProtocol": "Http", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_ListByProfile.json new file mode 100644 index 000000000000..63156fe69e27 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_ListByProfile.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1", + "type": "Microsoft.Cdn/profiles/origingroups", + "name": "origingroup1", + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path1", + "probeRequestType": "HEAD", + "probeProtocol": "Http", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_ListResourceUsage.json new file mode 100644 index 000000000000..aa71a25478bf --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_ListResourceUsage.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 0, + "limit": 25, + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "name": { + "value": "origin", + "localizedValue": "origin" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_Update.json new file mode 100644 index 000000000000..c8bccbc8e5d7 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOriginGroups_Update.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1", + "originGroupUpdateProperties": { + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path2", + "probeRequestType": "NotSet", + "probeProtocol": "NotSet", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1", + "type": "Microsoft.Cdn/profiles/origingroups", + "name": "origingroup1", + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path1", + "probeRequestType": "HEAD", + "probeProtocol": "Http", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1", + "type": "Microsoft.Cdn/profiles/origingroups", + "name": "origingroup1", + "properties": { + "loadBalancingSettings": { + "sampleSize": 3, + "successfulSamplesRequired": 3, + "additionalLatencyInMilliseconds": 1000 + }, + "healthProbeSettings": { + "probePath": "/path1", + "probeRequestType": "HEAD", + "probeProtocol": "Http", + "probeIntervalInSeconds": 10 + }, + "trafficRestorationTimeToHealedOrNewEndpointsInMinutes": 5, + "provisioningState": "Updating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOrigins_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOrigins_Create.json new file mode 100644 index 000000000000..5ec5cff5dfdb --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOrigins_Create.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1", + "originName": "origin1", + "origin": { + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "enabledState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "type": "Microsoft.Cdn/profiles/origingroups/origins", + "name": "origin1", + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "priority": null, + "weight": null, + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "originGroupName": "origingroup1", + "sharedPrivateLinkResource": null, + "enforceCertificateNameCheck": true + } + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "type": "Microsoft.Cdn/profiles/origingroups/origins", + "name": "origin1", + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "priority": null, + "weight": null, + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "originGroupName": "origingroup1", + "sharedPrivateLinkResource": null, + "enforceCertificateNameCheck": true + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "type": "Microsoft.Cdn/profiles/origingroups/origins", + "name": "origin1", + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "priority": null, + "weight": null, + "enabledState": "Enabled", + "provisioningState": "Creating", + "deploymentStatus": "NotStarted", + "originGroupName": "origingroup1", + "sharedPrivateLinkResource": null, + "enforceCertificateNameCheck": true + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOrigins_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOrigins_Delete.json new file mode 100644 index 000000000000..5c72f691a5cc --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOrigins_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1", + "originName": "origin1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOrigins_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOrigins_Get.json new file mode 100644 index 000000000000..36b782e5660c --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOrigins_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1", + "originName": "origin1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "type": "Microsoft.Cdn/profiles/origingroups/origins", + "name": "origin1", + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "priority": null, + "weight": null, + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "originGroupName": "origingroup1", + "sharedPrivateLinkResource": null, + "enforceCertificateNameCheck": true + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOrigins_ListByOriginGroup.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOrigins_ListByOriginGroup.json new file mode 100644 index 000000000000..4edf4ab90da0 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOrigins_ListByOriginGroup.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "type": "Microsoft.Cdn/profiles/origingroups/origins", + "name": "origin1", + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "priority": null, + "weight": null, + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "originGroupName": "origingroup1", + "sharedPrivateLinkResource": null, + "enforceCertificateNameCheck": true + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOrigins_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOrigins_Update.json new file mode 100644 index 000000000000..b3eb0b023e7b --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDOrigins_Update.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "originGroupName": "origingroup1", + "originName": "origin1", + "originUpdateProperties": { + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "enabledState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "type": "Microsoft.Cdn/profiles/origingroups/origins", + "name": "origin1", + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "priority": null, + "weight": null, + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "originGroupName": "origingroup1", + "sharedPrivateLinkResource": null, + "enforceCertificateNameCheck": true + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/origingroups/origingroup1/origins/origin1", + "type": "Microsoft.Cdn/profiles/origingroups/origins", + "name": "origin1", + "properties": { + "hostName": "host1.blob.core.windows.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "host1.foo.com", + "priority": null, + "weight": null, + "enabledState": "Enabled", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted", + "originGroupName": "origingroup1", + "sharedPrivateLinkResource": null, + "enforceCertificateNameCheck": true + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDProfiles_CheckEndpointNameAvailability.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDProfiles_CheckEndpointNameAvailability.json new file mode 100644 index 000000000000..a27289fbaf40 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDProfiles_CheckEndpointNameAvailability.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "myResourceGroup", + "profileName": "profile1", + "checkEndpointNameAvailabilityInput": { + "name": "sampleName", + "type": "Microsoft.Cdn/Profiles/AfdEndpoints", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "Name is already in use", + "message": "Name not available", + "availableHostname": "" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDProfiles_CheckHostNameAvailability.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDProfiles_CheckHostNameAvailability.json new file mode 100644 index 000000000000..bdce7392c2ba --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDProfiles_CheckHostNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "checkHostNameAvailabilityInput": { + "hostName": "www.someDomain.net" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "Conflict", + "message": "The hostname 'www.someDomain.net' is already owned by another profile." + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDProfiles_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDProfiles_ListResourceUsage.json new file mode 100644 index 000000000000..abcaedbc6694 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDProfiles_ListResourceUsage.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 0, + "limit": 25, + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1", + "name": { + "value": "afdendpoint", + "localizedValue": "afdendpoint" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDProfiles_Upgrade.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDProfiles_Upgrade.json new file mode 100644 index 000000000000..81f1e0324b7a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDProfiles_Upgrade.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "profileUpgradeParameters": { + "wafMappingList": [ + { + "securityPolicyName": "securityPolicy1", + "changeToWafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/waf2" + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "name": "profile1", + "location": "Global", + "kind": "frontdoor", + "tags": {}, + "sku": { + "name": "Standard_AzureFrontDoor" + }, + "properties": { + "extendedProperties": {}, + "frontDoorId": "id", + "originResponseTimeoutSeconds": 60, + "provisioningState": "Succeeded", + "resourceState": "Enabled" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "name": "profile1", + "location": "Global", + "kind": "frontdoor", + "tags": {}, + "sku": { + "name": "Standard_AzureFrontDoor" + }, + "properties": { + "originResponseTimeoutSeconds": 60, + "frontDoorId": "id", + "extendedProperties": {}, + "resourceState": "Upgrading", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDProfiles_ValidateSecret.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDProfiles_ValidateSecret.json new file mode 100644 index 000000000000..2b84bc734267 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/AFDProfiles_ValidateSecret.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "validateSecretInput": { + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/kvName/certificate/certName" + }, + "secretType": "CustomerCertificate" + } + }, + "responses": { + "200": { + "body": { + "status": "Valid", + "message": null + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CdnProfiles_CanMigrate.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CdnProfiles_CanMigrate.json new file mode 100644 index 000000000000..3f4426cc8bb9 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CdnProfiles_CanMigrate.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationid/profileresults/profile1/canmigrateresults/profile1", + "type": "Microsoft.Cdn/profiles/canmigrate", + "properties": { + "canMigrate": true, + "defaultSku": "Standard_AzureFrontDoor", + "errors": null + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CdnProfiles_Migrate.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CdnProfiles_Migrate.json new file mode 100644 index 000000000000..0e9394d82ea8 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CdnProfiles_Migrate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "RG", + "profileName": "profile1", + "migrationParameters": { + "sku": { + "name": "Standard_AzureFrontDoor" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/operationresults/operationid/profileresults/profile1/migrateresults/profile1", + "type": "Microsoft.Cdn/profiles/migrate", + "properties": { + "migratedProfileResourceId": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1" + } + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CheckEndpointNameAvailability.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CheckEndpointNameAvailability.json new file mode 100644 index 000000000000..b5f05290643e --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CheckEndpointNameAvailability.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "myResourceGroup", + "checkEndpointNameAvailabilityInput": { + "name": "sampleName", + "type": "Microsoft.Cdn/Profiles/AfdEndpoints", + "autoGeneratedDomainNameLabelScope": "TenantReuse" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "Name is already in use", + "message": "Name not available", + "availableHostname": "" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CheckNameAvailability.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..7b97a922b1c7 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CheckNameAvailability.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "checkNameAvailabilityInput": { + "name": "sampleName", + "type": "Microsoft.Cdn/Profiles/Endpoints" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "Name is already in use", + "message": "Name not available" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CheckNameAvailabilityWithSubscription.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CheckNameAvailabilityWithSubscription.json new file mode 100644 index 000000000000..088c4afbcde8 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CheckNameAvailabilityWithSubscription.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "checkNameAvailabilityInput": { + "name": "sampleName", + "type": "Microsoft.Cdn/Profiles/Endpoints" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "Name is already in use", + "message": "Name not available" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_Create.json new file mode 100644 index 000000000000..0b39c77a906a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_Create.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainName": "www-someDomain-net", + "customDomainProperties": { + "properties": { + "hostName": "www.someDomain.net" + } + } + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabling", + "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval", + "validationData": null + } + } + }, + "201": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabling", + "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval", + "validationData": null + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabling", + "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval", + "validationData": null + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_Delete.json new file mode 100644 index 000000000000..d5f083b51eac --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_Delete.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainName": "www-someDomain-net" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabling", + "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval", + "validationData": null + } + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_DisableCustomHttps.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_DisableCustomHttps.json new file mode 100644 index 000000000000..56bfa8c5449b --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_DisableCustomHttps.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainName": "www-someDomain-net" + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Disabled", + "customHttpsProvisioningSubstate": "CertificateDeleted", + "validationData": null + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabling", + "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval", + "validationData": null + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json new file mode 100644 index 000000000000..46396c82d8d6 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_EnableCustomHttpsUsingBYOC.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainName": "www-someDomain-net", + "customHttpsParameters": { + "MinimumTLSVersion": "TLS12", + "certificateSource": "AzureKeyVault", + "protocolType": "ServerNameIndication", + "certificateSourceParameters": { + "typeName": "KeyVaultCertificateSourceParameters", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "vaultName": "kv", + "secretName": "secret1", + "secretVersion": "00000000-0000-0000-0000-000000000000", + "updateRule": "NoAction", + "deleteRule": "NoAction" + } + } + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabled", + "customHttpsProvisioningSubstate": "CertificateDeployed", + "validationData": "validationdata" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabling", + "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval", + "validationData": "validationdata" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json new file mode 100644 index 000000000000..5b16f5f259bb --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_EnableCustomHttpsUsingCDNManagedCertificate.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainName": "www-someDomain-net", + "customHttpsParameters": { + "MinimumTLSVersion": "TLS12", + "certificateSource": "Cdn", + "protocolType": "ServerNameIndication", + "certificateSourceParameters": { + "typeName": "CdnCertificateSourceParameters", + "certificateType": "Shared" + } + } + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabled", + "customHttpsProvisioningSubstate": "CertificateDeployed", + "validationData": "validationdata" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Enabling", + "customHttpsProvisioningSubstate": "PendingDomainControlValidationREquestApproval", + "validationData": "validationdata" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_Get.json new file mode 100644 index 000000000000..7765c01482f0 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainName": "www-someDomain-net" + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Disabled", + "customHttpsProvisioningSubstate": "None", + "validationData": null + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_ListByEndpoint.json new file mode 100644 index 000000000000..ff24ec956fb6 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/CustomDomains_ListByEndpoint.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/customdomains/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/customdomains", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "customHttpsProvisioningState": "Disabled", + "customHttpsProvisioningSubstate": "None", + "validationData": null + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/EdgeNodes_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/EdgeNodes_List.json new file mode 100644 index 000000000000..a8f15391e296 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/EdgeNodes_List.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Standard_Verizon", + "id": "/providers/Microsoft.Cdn/edgenodes/Standard_Verizon", + "type": "Microsoft.Cdn/edgenodes", + "properties": { + "ipAddressGroups": [ + { + "deliveryRegion": "All", + "ipv4Addresses": [ + { + "baseIpAddress": "192.229.176.0", + "prefixLength": 24 + }, + { + "baseIpAddress": "180.240.184.128", + "prefixLength": 25 + }, + { + "baseIpAddress": "152.195.27.0", + "prefixLength": 24 + } + ], + "ipv6Addresses": [ + { + "baseIpAddress": "2606:2800:60f2::", + "prefixLength": 48 + }, + { + "baseIpAddress": "2606:2800:700c::", + "prefixLength": 48 + } + ] + } + ] + } + }, + { + "name": "Premium_Verizon", + "id": "/providers/Microsoft.Cdn/edgenodes/Premium_Verizon", + "type": "Microsoft.Cdn/edgenodes", + "properties": { + "ipAddressGroups": [ + { + "deliveryRegion": "All", + "ipv4Addresses": [ + { + "baseIpAddress": "192.229.176.0", + "prefixLength": 24 + }, + { + "baseIpAddress": "152.195.27.0", + "prefixLength": 24 + } + ], + "ipv6Addresses": [ + { + "baseIpAddress": "2606:2800:60f2::", + "prefixLength": 48 + }, + { + "baseIpAddress": "2606:2800:700c::", + "prefixLength": 48 + } + ] + } + ] + } + }, + { + "name": "Custom_Verizon", + "id": "/providers/Microsoft.Cdn/edgenodes/Custom_Verizon", + "type": "Microsoft.Cdn/edgenodes", + "properties": { + "ipAddressGroups": [ + { + "deliveryRegion": "All", + "ipv4Addresses": [ + { + "baseIpAddress": "192.229.176.0", + "prefixLength": 24 + }, + { + "baseIpAddress": "2606:2800:420b::", + "prefixLength": 48 + }, + { + "baseIpAddress": "2606:2800:700c::", + "prefixLength": 48 + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Create.json new file mode 100644 index 000000000000..371482c94297 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Create.json @@ -0,0 +1,546 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "endpoint": { + "location": "WestUs", + "tags": { + "key1": "value1" + }, + "properties": { + "originHostHeader": "www.bing.com", + "originPath": "/photos", + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true, + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "BypassCaching", + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + }, + "deliveryPolicy": { + "description": "Test description for a policy.", + "rules": [ + { + "name": "rule1", + "order": 1, + "conditions": [ + { + "name": "RemoteAddress", + "parameters": { + "operator": "IPMatch", + "negateCondition": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "typeName": "DeliveryRuleRemoteAddressConditionParameters" + } + } + ], + "actions": [ + { + "name": "CacheExpiration", + "parameters": { + "cacheBehavior": "Override", + "cacheDuration": "10:10:09", + "typeName": "DeliveryRuleCacheExpirationActionParameters", + "cacheType": "All" + } + }, + { + "name": "ModifyResponseHeader", + "parameters": { + "headerAction": "Overwrite", + "headerName": "Access-Control-Allow-Origin", + "value": "*", + "typeName": "DeliveryRuleHeaderActionParameters" + } + }, + { + "name": "ModifyRequestHeader", + "parameters": { + "headerAction": "Overwrite", + "headerName": "Accept-Encoding", + "value": "gzip", + "typeName": "DeliveryRuleHeaderActionParameters" + } + } + ] + } + ] + }, + "origins": [ + { + "name": "origin1", + "properties": { + "hostName": "www.someDomain1.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain1.net", + "priority": 1, + "weight": 50, + "enabled": true + } + }, + { + "name": "origin2", + "properties": { + "hostName": "www.someDomain2.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + }, + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "endpoint4899", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "kay1": "value1" + }, + "location": "WestUs", + "properties": { + "hostName": "endpoint4899.azureedge-test.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Creating", + "resourceState": "Creating", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "BypassCaching", + "originPath": "/photos", + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + }, + "origins": [ + { + "name": "origin1", + "properties": { + "hostName": "www.someDomain1.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain1.net", + "priority": 1, + "weight": 50, + "enabled": true + } + }, + { + "name": "origin2", + "properties": { + "hostName": "www.someDomain2.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + }, + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + ], + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true, + "optimizationType": null, + "probePath": null, + "geoFilters": [], + "deliveryPolicy": { + "description": "Test description for a policy.", + "rules": [ + { + "name": "rule1", + "order": 1, + "conditions": [ + { + "name": "RemoteAddress", + "parameters": { + "typeName": "DeliveryRuleRemoteAddressConditionParameters", + "operator": "IPMatch", + "negateCondition": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + } + ], + "actions": [ + { + "name": "CacheExpiration", + "parameters": { + "typeName": "DeliveryRuleCacheExpirationActionParameters", + "cacheBehavior": "Override", + "cacheDuration": "10:10:09", + "cacheType": "All" + } + }, + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Access-Control-Allow-Origin", + "value": "*" + } + }, + { + "name": "ModifyRequestHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Accept-Encoding", + "value": "gzip" + } + } + ] + } + ] + } + } + } + }, + "201": { + "body": { + "name": "endpoint4899", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "kay1": "value1" + }, + "location": "WestUs", + "properties": { + "hostName": "endpoint4899.azureedge-test.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Creating", + "resourceState": "Creating", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "BypassCaching", + "originPath": "/photos", + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + }, + "origins": [ + { + "name": "origin1", + "properties": { + "hostName": "www.someDomain1.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain1.net", + "priority": 1, + "weight": 50, + "enabled": true + } + }, + { + "name": "origin2", + "properties": { + "hostName": "www.someDomain2.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + }, + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + ], + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true, + "optimizationType": null, + "probePath": null, + "geoFilters": [], + "deliveryPolicy": { + "description": "Test description for a policy.", + "rules": [ + { + "name": "rule1", + "order": 1, + "conditions": [ + { + "name": "RemoteAddress", + "parameters": { + "typeName": "DeliveryRuleRemoteAddressConditionParameters", + "operator": "IPMatch", + "negateCondition": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + } + ], + "actions": [ + { + "name": "CacheExpiration", + "parameters": { + "typeName": "DeliveryRuleCacheExpirationActionParameters", + "cacheBehavior": "Override", + "cacheDuration": "10:10:09", + "cacheType": "All" + } + }, + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Access-Control-Allow-Origin", + "value": "*" + } + }, + { + "name": "ModifyRequestHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Accept-Encoding", + "value": "gzip" + } + } + ] + } + ] + } + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "endpoint4899", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "kay1": "value1" + }, + "location": "WestUs", + "properties": { + "hostName": "endpoint4899.azureedge-test.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Creating", + "resourceState": "Creating", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "BypassCaching", + "originPath": "/photos", + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + }, + "origins": [ + { + "name": "origin1", + "properties": { + "hostName": "www.someDomain1.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain1.net", + "priority": 1, + "weight": 50, + "enabled": true + } + }, + { + "name": "origin2", + "properties": { + "hostName": "www.someDomain2.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + }, + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + ], + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true, + "optimizationType": null, + "probePath": null, + "geoFilters": [], + "deliveryPolicy": { + "description": "Test description for a policy.", + "rules": [ + { + "name": "rule1", + "order": 1, + "conditions": [ + { + "name": "RemoteAddress", + "parameters": { + "typeName": "DeliveryRuleRemoteAddressConditionParameters", + "operator": "IPMatch", + "negateCondition": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + } + ], + "actions": [ + { + "name": "CacheExpiration", + "parameters": { + "typeName": "DeliveryRuleCacheExpirationActionParameters", + "cacheBehavior": "Override", + "cacheDuration": "10:10:09", + "cacheType": "All" + } + }, + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Access-Control-Allow-Origin", + "value": "*" + } + }, + { + "name": "ModifyRequestHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "Accept-Encoding", + "value": "gzip" + } + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Delete.json new file mode 100644 index 000000000000..cd695aee7f2c --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Get.json new file mode 100644 index 000000000000..b6f8f8484194 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Get.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": {}, + "location": "CentralUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Succeeded", + "resourceState": "Running", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "NotSet", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com" + } + ] + } + } + ], + "customDomains": [ + { + "name": "www-someDomain-net", + "properties": { + "hostName": "www.someDomain.Net", + "validationData": null + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": "DynamicSiteAcceleration", + "probePath": "/image", + "geoFilters": [], + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + } + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_ListByProfile.json new file mode 100644 index 000000000000..9393b2b56cfe --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_ListByProfile.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": {}, + "location": "CentralUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Succeeded", + "resourceState": "Running", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "NotSet", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + ], + "customDomains": [ + { + "name": "www-someDomain-net", + "properties": { + "hostName": "www.someDomain.Net", + "validationData": null + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": "DynamicSiteAcceleration", + "probePath": "/image", + "geoFilters": [], + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + } + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_ListResourceUsage.json new file mode 100644 index 000000000000..19fb66ca77bf --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_ListResourceUsage.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "customdomain", + "unit": "count", + "currentValue": 1, + "limit": 20 + }, + { + "resourceType": "geofilter", + "unit": "count", + "currentValue": 0, + "limit": 25 + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_LoadContent.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_LoadContent.json new file mode 100644 index 000000000000..10b442049490 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_LoadContent.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "contentFilePaths": { + "contentPaths": [ + "/folder1" + ] + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_PurgeContent.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_PurgeContent.json new file mode 100644 index 000000000000..10b442049490 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_PurgeContent.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "contentFilePaths": { + "contentPaths": [ + "/folder1" + ] + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Start.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Start.json new file mode 100644 index 000000000000..ccc55d39f970 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Start.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "name": "endpoint4899", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "kay1": "value1" + }, + "location": "WestUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Succeeded", + "resourceState": "Starting", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "NotSet", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443 + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": "DynamicSiteAcceleration", + "probePath": "/image", + "geoFilters": [] + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "endpoint4899", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "kay1": "value1" + }, + "location": "WestUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Succeeded", + "resourceState": "Starting", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "NotSet", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443 + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": "DynamicSiteAcceleration", + "probePath": "/image", + "geoFilters": [] + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Stop.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Stop.json new file mode 100644 index 000000000000..a44780328284 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Stop.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "name": "endpoint4899", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "kay1": "value1" + }, + "location": "WestUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Succeeded", + "resourceState": "Stopping", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "NotSet", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443 + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": "DynamicSiteAcceleration", + "probePath": "/image", + "geoFilters": [] + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "endpoint4899", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "kay1": "value1" + }, + "location": "WestUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": "www.bing.com", + "provisioningState": "Succeeded", + "resourceState": "Stopping", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "NotSet", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443 + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": "DynamicSiteAcceleration", + "probePath": "/image", + "geoFilters": [] + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Update.json new file mode 100644 index 000000000000..beaaa0af55c2 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_Update.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "endpointUpdateProperties": { + "tags": { + "additionalProperties": "Tag1" + } + } + }, + "responses": { + "200": { + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "additionalProperties": "Tag1" + }, + "location": "WestCentralUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": null, + "provisioningState": "Creating", + "resourceState": "Creating", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "IgnoreQueryString", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com" + } + ] + } + } + ], + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + }, + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": null, + "probePath": null, + "geoFilters": [] + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "endpoint1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1", + "type": "Microsoft.Cdn/profiles/endpoints", + "tags": { + "additionalProperties": "Tag1" + }, + "location": "WestCentralUs", + "properties": { + "hostName": "endpoint1.azureedge.net", + "originHostHeader": null, + "provisioningState": "Creating", + "resourceState": "Creating", + "isHttpAllowed": true, + "isHttpsAllowed": true, + "queryStringCachingBehavior": "IgnoreQueryString", + "originPath": null, + "origins": [ + { + "name": "www-bing-com", + "properties": { + "hostName": "www.bing.com", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain2.net", + "priority": 2, + "weight": 50, + "enabled": true + } + } + ], + "originGroups": [ + { + "name": "originGroup1", + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-bing-com" + } + ] + } + } + ], + "contentTypesToCompress": [], + "isCompressionEnabled": false, + "optimizationType": null, + "probePath": null, + "geoFilters": [], + "defaultOriginGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1" + } + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_ValidateCustomDomain.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_ValidateCustomDomain.json new file mode 100644 index 000000000000..9c1880f6f11e --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Endpoints_ValidateCustomDomain.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "customDomainProperties": { + "hostName": "www.someDomain.com" + } + }, + "responses": { + "200": { + "body": { + "customDomainValidated": true, + "message": null, + "reason": null + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/KeyGroups_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/KeyGroups_Create.json new file mode 100644 index 000000000000..b872aef3291a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/KeyGroups_Create.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "RG", + "profileName": "profile1", + "keyGroupName": "kg1", + "keyGroup": { + "properties": { + "keyReferences": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret2" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret3" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/keyGroups/kg1", + "name": "kg1", + "type": "Microsoft.Cdn/profiles/keygroups", + "properties": { + "keyReferences": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret2" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret3" + } + ], + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/keyGroups/kg1", + "name": "kg1", + "type": "Microsoft.Cdn/profiles/keygroups", + "properties": { + "keyReferences": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret2" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret3" + } + ], + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/KeyGroups_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/KeyGroups_Delete.json new file mode 100644 index 000000000000..d670f1e8cdbe --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/KeyGroups_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "RG", + "profileName": "profile1", + "keyGroupName": "kg1" + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/KeyGroups_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/KeyGroups_Get.json new file mode 100644 index 000000000000..86927e551688 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/KeyGroups_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "RG", + "profileName": "profile1", + "keyGroupName": "kg1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/keyGroups/kg1", + "name": "kg1", + "type": "Microsoft.Cdn/profiles/keygroups", + "properties": { + "keyReferences": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret2" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret3" + } + ], + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/KeyGroups_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/KeyGroups_ListByProfile.json new file mode 100644 index 000000000000..7b3340e56bcc --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/KeyGroups_ListByProfile.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/keyGroups/kg1", + "name": "kg1", + "type": "Microsoft.Cdn/profiles/keygroups", + "properties": { + "keyReferences": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret2" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret3" + } + ], + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/keyGroups/kg2", + "name": "kg2", + "type": "Microsoft.Cdn/profiles/keygroups", + "properties": { + "keyReferences": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret2" + } + ], + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/keyGroups/kg-at-max-capacity", + "name": "kg-at-max-capacity", + "type": "Microsoft.Cdn/profiles/keygroups", + "properties": { + "keyReferences": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret2" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret3" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret4" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret5" + } + ], + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetLogAnalyticsLocations.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetLogAnalyticsLocations.json new file mode 100644 index 000000000000..93c24e943ec1 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetLogAnalyticsLocations.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "metrics": "clientRequestCount", + "granularity": "PT5M", + "groupBy": "httpStatusCode", + "dateTimeBegin": "2020-11-04T05:00:00.000Z", + "dateTimeEnd": "2020-11-04T06:00:00.000Z" + }, + "responses": { + "200": { + "body": { + "continents": [ + { + "id": "africa" + }, + { + "id": "antarctica" + }, + { + "id": "asia" + }, + { + "id": "europe" + }, + { + "id": "northAmerica" + }, + { + "id": "oceania" + }, + { + "id": "southAmerica" + } + ], + "countryOrRegions": [ + { + "id": "dz", + "continentId": "africa" + }, + { + "id": "ao", + "continentId": "africa" + }, + { + "id": "bw", + "continentId": "africa" + }, + { + "id": "bi", + "continentId": "africa" + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetLogAnalyticsMetrics.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetLogAnalyticsMetrics.json new file mode 100644 index 000000000000..5e89c7c9d34b --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetLogAnalyticsMetrics.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "metrics": [ + "clientRequestCount" + ], + "granularity": "PT5M", + "groupBy": [ + "protocol" + ], + "dateTimeBegin": "2020-11-04T04:30:00.000Z", + "dateTimeEnd": "2020-11-04T05:00:00.000Z", + "customDomains": [ + "customdomain1.azurecdn.net", + "customdomain2.azurecdn.net" + ], + "protocols": [ + "https" + ] + }, + "responses": { + "200": { + "body": { + "dateTimeBegin": "2020-11-04T12:30:27.554+08:00", + "dateTimeEnd": "2020-11-04T13:00:27.554+08:00", + "granularity": "PT5M", + "series": [ + { + "metric": "clientRequestCount", + "unit": "count", + "groups": [ + { + "name": "protocol", + "value": "https" + } + ], + "data": [ + { + "dateTime": "2020-11-04T04:35:00+00:00", + "value": 4250 + }, + { + "dateTime": "2020-11-04T04:40:00+00:00", + "value": 3120 + }, + { + "dateTime": "2020-11-04T04:45:00+00:00", + "value": 2221 + }, + { + "dateTime": "2020-11-04T04:50:00+00:00", + "value": 2466 + }, + { + "dateTime": "2020-11-04T04:55:00+00:00", + "value": 2654 + }, + { + "dateTime": "2020-11-04T05:00:00+00:00", + "value": 3565 + } + ] + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetLogAnalyticsRankings.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetLogAnalyticsRankings.json new file mode 100644 index 000000000000..760ac2499ab8 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetLogAnalyticsRankings.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "rankings": [ + "url" + ], + "metrics": [ + "clientRequestCount" + ], + "maxRanking": "5", + "dateTimeBegin": "2020-11-04T06:49:27.554Z", + "dateTimeEnd": "2020-11-04T09:49:27.554Z" + }, + "responses": { + "200": { + "body": { + "dateTimeBegin": "2020-11-04T14:49:27.554+08:00", + "dateTimeEnd": "2020-11-04T17:49:27.554+08:00", + "tables": [ + { + "ranking": "url", + "data": [ + { + "name": "https://testdomain.com/favicon.png", + "metrics": [ + { + "metric": "clientRequestCount", + "value": 2336, + "percentage": 8.28133862733976 + } + ] + }, + { + "name": "https://testdomain.com/js/app.js", + "metrics": [ + { + "metric": "clientRequestCount", + "value": 2140, + "percentage": 7.586500283607488 + } + ] + }, + { + "name": "https://testdomain.com/js/lang/en.js", + "metrics": [ + { + "metric": "clientRequestCount", + "value": 1536, + "percentage": 5.445263754963131 + } + ] + }, + { + "name": "https://testdomain.com/js/lib.js", + "metrics": [ + { + "metric": "clientRequestCount", + "value": 1480, + "percentage": 5.246738513896767 + } + ] + }, + { + "name": "https://cdn.exam.net/css/lib.css", + "metrics": [ + { + "metric": "clientRequestCount", + "value": 1452, + "percentage": 5.147475893363584 + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetLogAnalyticsResources.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetLogAnalyticsResources.json new file mode 100644 index 000000000000..2bb1d747e3be --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetLogAnalyticsResources.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "endpoints": [ + { + "id": "endpoint1", + "name": "endpoint1.azureedge.net", + "history": false, + "customDomains": [ + { + "id": "customdomain1.azurecdn.net", + "name": "customdomain1.azurecdn.net", + "endpointId": "enbdpiont1", + "history": true + }, + { + "id": "customdomain2.azurecdn.net", + "name": "customdomain2.azurecdn.net", + "endpointId": null, + "history": true + } + ] + } + ], + "customDomains": [ + { + "id": "customdomain1.azurecdn.net", + "name": "customdomain1.azurecdn.net", + "endpointId": null, + "history": true + }, + { + "id": "customdomain2.azurecdn.net", + "name": "customdomain2.azurecdn.net", + "endpointId": null, + "history": true + }, + { + "id": "customdomain3.azurecdn.net", + "name": "customdomain3.azurecdn.net", + "endpointId": null, + "history": true + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetWafLogAnalyticsMetrics.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetWafLogAnalyticsMetrics.json new file mode 100644 index 000000000000..db977a1f40c3 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetWafLogAnalyticsMetrics.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "metrics": [ + "clientRequestCount" + ], + "dateTimeBegin": "2020-11-04T06:49:27.554Z", + "dateTimeEnd": "2020-11-04T09:49:27.554Z", + "actions": [ + "block", + "log" + ], + "granularity": "PT5M" + }, + "responses": { + "200": { + "body": { + "dateTimeBegin": "2020-11-04T14:30:27.554+08:00", + "dateTimeEnd": "2020-11-04T17:00:27.554+08:00", + "granularity": "PT5M", + "series": [ + { + "metric": "clientRequestCount", + "unit": "count", + "groups": [], + "data": [ + { + "dateTime": "2020-11-04T07:05:00+00:00", + "value": 2 + }, + { + "dateTime": "2020-11-04T07:10:00+00:00", + "value": 32 + }, + { + "dateTime": "2020-11-04T07:15:00+00:00", + "value": 31 + }, + { + "dateTime": "2020-11-04T07:20:00+00:00", + "value": 63 + }, + { + "dateTime": "2020-11-04T07:25:00+00:00", + "value": 50 + }, + { + "dateTime": "2020-11-04T07:30:00+00:00", + "value": 12 + }, + { + "dateTime": "2020-11-04T07:35:00+00:00", + "value": 8 + }, + { + "dateTime": "2020-11-04T07:40:00+00:00", + "value": 21 + }, + { + "dateTime": "2020-11-04T07:45:00+00:00", + "value": 30 + }, + { + "dateTime": "2020-11-04T07:50:00+00:00", + "value": 18 + }, + { + "dateTime": "2020-11-04T07:55:00+00:00", + "value": 28 + }, + { + "dateTime": "2020-11-04T08:00:00+00:00", + "value": 3 + }, + { + "dateTime": "2020-11-04T08:05:00+00:00", + "value": 58 + }, + { + "dateTime": "2020-11-04T08:10:00+00:00", + "value": 42 + }, + { + "dateTime": "2020-11-04T08:15:00+00:00", + "value": 17 + }, + { + "dateTime": "2020-11-04T08:20:00+00:00", + "value": 21 + }, + { + "dateTime": "2020-11-04T08:25:00+00:00", + "value": 41 + }, + { + "dateTime": "2020-11-04T08:30:00+00:00", + "value": 8 + }, + { + "dateTime": "2020-11-04T08:35:00+00:00", + "value": 15 + }, + { + "dateTime": "2020-11-04T08:40:00+00:00", + "value": 25 + }, + { + "dateTime": "2020-11-04T08:45:00+00:00", + "value": 13 + }, + { + "dateTime": "2020-11-04T08:50:00+00:00", + "value": 17 + }, + { + "dateTime": "2020-11-04T08:55:00+00:00", + "value": 29 + }, + { + "dateTime": "2020-11-04T09:00:00+00:00", + "value": 17 + } + ] + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetWafLogAnalyticsRankings.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetWafLogAnalyticsRankings.json new file mode 100644 index 000000000000..48a669361510 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/LogAnalytics_GetWafLogAnalyticsRankings.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "rankings": [ + "ruleId" + ], + "metrics": [ + "clientRequestCount" + ], + "maxRanking": "5", + "dateTimeBegin": "2020-11-04T06:49:27.554Z", + "dateTimeEnd": "2020-11-04T09:49:27.554Z" + }, + "responses": { + "200": { + "body": { + "dateTimeBegin": "2020-11-04T14:49:27.554+08:00", + "dateTimeEnd": "2020-11-04T17:49:27.554+08:00", + "groups": [ + "ruleId" + ], + "data": [ + { + "groupValues": [ + "BlockRateLimit" + ], + "metrics": [ + { + "metric": "clientRequestCount", + "value": 1268, + "percentage": 0 + } + ] + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Operations_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..b7185146a68e --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Operations_List.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Cdn/register/action", + "display": { + "provider": "Microsoft.Cdn", + "resource": "Microsoft.Cdn Resource Provider", + "operation": "Registers the Microsoft.Cdn Resource Provider" + } + }, + { + "name": "Microsoft.Cdn/edgenodes/read", + "display": { + "provider": "Microsoft.Cdn", + "resource": "EdgeNode", + "operation": "read" + } + }, + { + "name": "Microsoft.Cdn/edgenodes/write", + "display": { + "provider": "Microsoft.Cdn", + "resource": "EdgeNode", + "operation": "write" + } + }, + { + "name": "Microsoft.Cdn/edgenodes/delete", + "display": { + "provider": "Microsoft.Cdn", + "resource": "EdgeNode", + "operation": "delete" + } + }, + { + "name": "Microsoft.Cdn/profiles/read", + "display": { + "provider": "Microsoft.Cdn", + "resource": "Profile", + "operation": "read" + } + }, + { + "name": "Microsoft.Cdn/profiles/write", + "display": { + "provider": "Microsoft.Cdn", + "resource": "Profile", + "operation": "write" + } + }, + { + "name": "Microsoft.Cdn/operationresults/profileresults/write", + "display": { + "provider": "Microsoft.Cdn", + "resource": "Profile", + "operation": "write" + } + }, + { + "name": "Microsoft.Cdn/operationresults/profileresults/delete", + "display": { + "provider": "Microsoft.Cdn", + "resource": "Profile", + "operation": "delete" + } + }, + { + "name": "Microsoft.Cdn/operationresults/profileresults/CheckResourceUsage/action", + "display": { + "provider": "Microsoft.Cdn", + "resource": "Profile", + "operation": "CheckResourceUsage" + } + }, + { + "name": "Microsoft.Cdn/operationresults/profileresults/GenerateSsoUri/action", + "display": { + "provider": "Microsoft.Cdn", + "resource": "Profile", + "operation": "GenerateSsoUri" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/OriginGroups_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/OriginGroups_Create.json new file mode 100644 index 000000000000..ae4fbe5c3355 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/OriginGroups_Create.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originGroupName": "origingroup1", + "originGroup": { + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "origingroup1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1", + "type": "Microsoft.Cdn/profiles/endpoints/origingroups", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + }, + "201": { + "body": { + "name": "origingroup1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1", + "type": "Microsoft.Cdn/profiles/endpoints/origingroups", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "originGroup1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1", + "type": "Microsoft.Cdn/profiles/endpoints/origingroups", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/OriginGroups_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/OriginGroups_Delete.json new file mode 100644 index 000000000000..abaf8dd6a4b7 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/OriginGroups_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originGroupName": "originGroup1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/OriginGroups_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/OriginGroups_Get.json new file mode 100644 index 000000000000..16db83f967ef --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/OriginGroups_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originGroupName": "originGroup1" + }, + "responses": { + "200": { + "body": { + "name": "origingroup1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1", + "type": "Microsoft.Cdn/profiles/endpoints/origingroups", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpAndHttpErrors", + "responseBasedFailoverThresholdPercentage": 10, + "httpErrorRanges": [ + { + "begin": 500, + "end": 505 + } + ] + } + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/OriginGroups_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/OriginGroups_ListByEndpoint.json new file mode 100644 index 000000000000..d86b47a3b4c8 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/OriginGroups_ListByEndpoint.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "origingroup1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/originGroups/originGroup1", + "type": "Microsoft.Cdn/profiles/endpoints/origingroups", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin1" + } + ], + "responseBasedOriginErrorDetectionSettings": { + "responseBasedDetectedErrorTypes": "TcpErrorsOnly", + "responseBasedFailoverThresholdPercentage": 10 + } + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/OriginGroups_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/OriginGroups_Update.json new file mode 100644 index 000000000000..1cae396cf8b5 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/OriginGroups_Update.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originGroupName": "originGroup1", + "originGroupUpdateProperties": { + "properties": { + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2" + } + ] + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "healthProbeSettings": { + "probePath": "/health.aspx", + "probeRequestType": "GET", + "probeProtocol": "Http", + "probeIntervalInSeconds": 120 + }, + "origins": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/origin2" + } + ] + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Origins_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Origins_Create.json new file mode 100644 index 000000000000..f42e67214cc2 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Origins_Create.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originName": "www-someDomain-net", + "origin": { + "properties": { + "hostName": "www.someDomain.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link" + } + } + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateEndpointStatus": "Pending", + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link" + } + } + }, + "201": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateEndpointStatus": "Pending", + "privateLinkApprovalMessage": "", + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "httpPort": 80, + "httpsPort": 443, + "originHostHeader": "www.someDomain.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateEndpointStatus": "Pending", + "privateLinkApprovalMessage": "", + "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1", + "privateLinkLocation": "eastus" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Origins_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Origins_Delete.json new file mode 100644 index 000000000000..fc16b92f8170 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Origins_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originName": "origin1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Origins_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Origins_Get.json new file mode 100644 index 000000000000..898856fc629c --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Origins_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originName": "www-someDomain-net" + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "httpPort": null, + "httpsPort": null, + "originHostHeader": "www.someDomain.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateEndpointStatus": "Pending", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link", + "privateLinkAlias": "APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Origins_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Origins_ListByEndpoint.json new file mode 100644 index 000000000000..c2a82bb3060a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Origins_ListByEndpoint.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "httpPort": null, + "httpsPort": null, + "originHostHeader": "www.someDomain.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateEndpointStatus": "Pending", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link", + "privateLinkAlias": "APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Origins_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Origins_Update.json new file mode 100644 index 000000000000..6d3fc2fedd77 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Origins_Update.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "originName": "www-someDomain-net", + "originUpdateProperties": { + "properties": { + "httpPort": 42, + "httpsPort": 43, + "originHostHeader": "www.someDomain2.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateLinkAlias": "APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice" + } + } + }, + "responses": { + "200": { + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "httpPort": 42, + "httpsPort": 43, + "originHostHeader": "www.someDomain2.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateEndpointStatus": "Pending", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link", + "privateLinkAlias": "APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "www-someDomain-net", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net", + "type": "Microsoft.Cdn/profiles/endpoints/origins", + "properties": { + "provisioningState": "Succeeded", + "resourceState": "Active", + "hostName": "www.someDomain.net", + "httpPort": 42, + "httpsPort": 43, + "originHostHeader": "www.someDomain2.net", + "priority": 1, + "weight": 50, + "enabled": true, + "privateEndpointStatus": "Pending", + "privateLinkApprovalMessage": "Please approve the connection request for this Private Link", + "privateLinkAlias": "APPSERVER.d84e61f0-0870-4d24-9746-7438fa0019d1.westus2.azure.privatelinkservice" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_CanMigrate.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_CanMigrate.json new file mode 100644 index 000000000000..723820fbfb0a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_CanMigrate.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "canMigrateParameters": { + "classicResourceReference": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoors/frontdoorname" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/yaoshitest/providers/Microsoft.Cdn/operationresults/operationid/profileresults/DummyProfile/canmigrateresults/DummyProfile", + "type": "Microsoft.Cdn/canmigrate", + "properties": { + "canMigrate": true, + "defaultSku": "Standard_AzureFrontDoor", + "errors": null + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_Create.json new file mode 100644 index 000000000000..1d625236f31a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_Create.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "profile": { + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + } + } + }, + "responses": { + "200": { + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + }, + "201": { + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [ + { + "matchVariable": "RequestIPAddress", + "selectorMatchOperator": "EqualsAny", + "selector": null, + "state": "Enabled" + } + ] + }, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [ + { + "matchVariable": "RequestIPAddress", + "selectorMatchOperator": "EqualsAny", + "selector": null, + "state": "Enabled" + } + ] + }, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Creating", + "resourceState": "Creating" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_Delete.json new file mode 100644 index 000000000000..5392d7b48d09 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_GenerateSsoUri.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_GenerateSsoUri.json new file mode 100644 index 000000000000..dcf7427b4b52 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_GenerateSsoUri.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "ssoUriValue": "https://someuri.com" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_Get.json new file mode 100644 index 000000000000..fe19a71e9acf --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [] + }, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_List.json new file mode 100644 index 000000000000..ac4bdbbe107a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_List.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG1/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [] + }, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + }, + { + "name": "profile2", + "id": "/subscriptions/subid/resourcegroups/RG1/providers/Microsoft.Cdn/profiles/profile2", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [] + }, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_ListByResourceGroup.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_ListByResourceGroup.json new file mode 100644 index 000000000000..5ce64f1ec608 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_ListByResourceGroup.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [] + }, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + }, + { + "name": "profile2", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile2", + "type": "Microsoft.Cdn/profiles", + "tags": {}, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [] + }, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_ListResourceUsage.json new file mode 100644 index 000000000000..0dd6f3ddfad2 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_ListResourceUsage.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "endpoint", + "unit": "count", + "currentValue": 0, + "limit": 25 + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_ListSupportedOptimizationTypes.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_ListSupportedOptimizationTypes.json new file mode 100644 index 000000000000..6e299d6ce6f2 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_ListSupportedOptimizationTypes.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "supportedOptimizationTypes": [ + "GeneralWebDelivery", + "DynamicSiteAcceleration" + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_Migrate.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_Migrate.json new file mode 100644 index 000000000000..269c15a689c2 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_Migrate.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "migrationParameters": { + "sku": { + "name": "Standard_AzureFrontDoor" + }, + "classicResourceReference": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoors/frontdoorname" + }, + "profileName": "profile1" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/operationresults/operationid/profileresults/profile1/migrateresults/profile1", + "type": "Microsoft.Cdn/migrate", + "properties": { + "migratedProfileResourceId": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1" + } + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/operationresults/operationid/profileresults/profile1/migrateresults/profile1", + "type": "Microsoft.Cdn/migrate", + "properties": { + "migratedProfileResourceId": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1" + } + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_MigrationAbort.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_MigrationAbort.json new file mode 100644 index 000000000000..f3b777ba33cb --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_MigrationAbort.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": {} + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_MigrationCommit.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_MigrationCommit.json new file mode 100644 index 000000000000..9febfdb5f112 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_MigrationCommit.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_Update.json new file mode 100644 index 000000000000..bbd1790c87a3 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Profiles_Update.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "profileUpdateParameters": { + "tags": { + "additionalProperties": "Tag1" + } + } + }, + "responses": { + "200": { + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": { + "additionalProperties": "Tag1" + }, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [] + }, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Succeeded", + "resourceState": "Active" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "profile1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1", + "type": "Microsoft.Cdn/profiles", + "tags": { + "additionalProperties": "Tag1" + }, + "location": "global", + "sku": { + "name": "Premium_AzureFrontDoor" + }, + "kind": "frontdoor", + "properties": { + "originResponseTimeoutSeconds": 30, + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [] + }, + "frontDoorId": "3b4682da-b3e2-47a1-96ca-08ab3cb7294e", + "provisioningState": "Updating", + "resourceState": "Active" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/ResourceUsage_List.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/ResourceUsage_List.json new file mode 100644 index 000000000000..8fa798284245 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/ResourceUsage_List.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "profile", + "unit": "count", + "currentValue": 31, + "limit": 200 + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Routes_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Routes_Create.json new file mode 100644 index 000000000000..ae0dd98600ce --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Routes_Create.json @@ -0,0 +1,200 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "routeName": "route1", + "route": { + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreSpecifiedQueryStrings", + "queryParameters": "querystring=test" + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "grpcState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "type": "Microsoft.Cdn/profiles/afdendpoints/routes", + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreSpecifiedQueryStrings", + "queryParameters": "querystring=test" + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "grpcState": "Enabled" + } + } + }, + "201": { + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "type": "Microsoft.Cdn/profiles/afdendpoints/routes", + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreSpecifiedQueryStrings", + "queryParameters": "querystring=test" + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "grpcState": "Enabled" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "type": "Microsoft.Cdn/profiles/afdendpoints/routes", + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreSpecifiedQueryStrings", + "queryParameters": "querystring=test" + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "provisioningState": "Creating", + "deploymentStatus": "NotStarted", + "grpcState": "Enabled" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Routes_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Routes_Delete.json new file mode 100644 index 000000000000..07d6ccf51ca9 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Routes_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "routeName": "route1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Routes_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Routes_Get.json new file mode 100644 index 000000000000..18ca702b85e3 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Routes_Get.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "routeName": "route1" + }, + "responses": { + "200": { + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "type": "Microsoft.Cdn/profiles/afdendpoints/routes", + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreQueryString", + "queryParameters": null + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "grpcState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Routes_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Routes_ListByEndpoint.json new file mode 100644 index 000000000000..3b3505828277 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Routes_ListByEndpoint.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "route1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "type": "Microsoft.Cdn/profiles/afdendpoints/routes", + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreQueryString", + "queryParameters": null + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "grpcState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Routes_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Routes_Update.json new file mode 100644 index 000000000000..71c741c820f1 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Routes_Update.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "endpointName": "endpoint1", + "routeName": "route1", + "routeUpdateProperties": { + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreQueryString" + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "grpcState": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "type": "Microsoft.Cdn/profiles/afdendpoints/routes", + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreQueryString", + "queryParameters": null + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted", + "grpcState": "Enabled" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "route1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/afdendpoints/endpoint1/routes/route1", + "type": "Microsoft.Cdn/profiles/afdendpoints/routes", + "properties": { + "customDomains": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/customDomains/domain1" + } + ], + "originGroup": { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/originGroups/originGroup1" + }, + "originPath": null, + "ruleSets": [ + { + "id": "/subscriptions/subid/resourceGroups/RG/providers/Microsoft.Cdn/profiles/profile1/ruleSets/ruleSet1" + } + ], + "supportedProtocols": [ + "Https", + "Http" + ], + "patternsToMatch": [ + "/*" + ], + "cacheConfiguration": { + "compressionSettings": { + "contentTypesToCompress": [ + "text/html", + "application/octet-stream" + ], + "isCompressionEnabled": true + }, + "queryStringCachingBehavior": "IgnoreQueryString", + "queryParameters": null + }, + "forwardingProtocol": "MatchRequest", + "linkToDefaultDomain": "Enabled", + "httpsRedirect": "Enabled", + "enabledState": "Enabled", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted", + "grpcState": "Enabled" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/RuleSets_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/RuleSets_Create.json new file mode 100644 index 000000000000..4bec01f6245d --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/RuleSets_Create.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1" + }, + "responses": { + "200": { + "body": { + "name": "ruleSet1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1", + "type": "Microsoft.Cdn/profiles/rulesets", + "properties": { + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "201": { + "body": { + "name": "ruleSet1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1", + "type": "Microsoft.Cdn/profiles/rulesets", + "properties": { + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/RuleSets_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/RuleSets_Delete.json new file mode 100644 index 000000000000..ecd14da93a4f --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/RuleSets_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/RuleSets_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/RuleSets_Get.json new file mode 100644 index 000000000000..b52cde0228ef --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/RuleSets_Get.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1" + }, + "responses": { + "200": { + "body": { + "name": "ruleSet1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1", + "type": "Microsoft.Cdn/profiles/rulesets", + "properties": { + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/RuleSets_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/RuleSets_ListByProfile.json new file mode 100644 index 000000000000..5bce8246a1b1 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/RuleSets_ListByProfile.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "ruleSet1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1", + "type": "Microsoft.Cdn/profiles/rulesets", + "properties": { + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/RuleSets_ListResourceUsage.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/RuleSets_ListResourceUsage.json new file mode 100644 index 000000000000..900710d696e7 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/RuleSets_ListResourceUsage.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 0, + "limit": 25, + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "name": { + "value": "rule", + "localizedValue": "rule" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_Create.json new file mode 100644 index 000000000000..7da1449c96f7 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_Create.json @@ -0,0 +1,158 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1", + "ruleName": "rule1", + "rule": { + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false, + "transforms": [] + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "201": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false, + "transforms": [] + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false, + "transforms": [] + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Creating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_Create_AfdUrlSigningAction.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_Create_AfdUrlSigningAction.json new file mode 100644 index 000000000000..f176bfbccc59 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_Create_AfdUrlSigningAction.json @@ -0,0 +1,196 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1", + "ruleName": "rule1", + "rule": { + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false + } + } + ], + "actions": [ + { + "name": "AfdUrlSigning", + "parameters": { + "typeName": "DeliveryRuleAfdUrlSigningActionParameters", + "keyGroupReference": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/keygroups/kg1" + }, + "algorithm": "SHA256", + "parameterNameOverride": [ + { + "paramIndicator": "Expires", + "paramName": "Expiration-Date" + }, + { + "paramIndicator": "Signature", + "paramName": "Sig-Hash" + } + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false + } + } + ], + "actions": [ + { + "name": "AfdUrlSigning", + "parameters": { + "typeName": "DeliveryRuleAfdUrlSigningActionParameters", + "keyGroupReference": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/keygroups/kg1" + }, + "algorithm": "SHA256", + "parameterNameOverride": [ + { + "paramIndicator": "Expires", + "paramName": "Expiration-Date" + }, + { + "paramIndicator": "Signature", + "paramName": "Sig-Hash" + } + ] + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "201": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false + } + } + ], + "actions": [ + { + "name": "AfdUrlSigning", + "parameters": { + "typeName": "DeliveryRuleAfdUrlSigningActionParameters", + "keyGroupReference": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/keygroups/kg1" + }, + "algorithm": "SHA256", + "parameterNameOverride": [ + { + "paramIndicator": "Expires", + "paramName": "Expiration-Date" + }, + { + "paramIndicator": "Signature", + "paramName": "Sig-Hash" + } + ] + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false + } + } + ], + "actions": [ + { + "name": "AfdUrlSigning", + "parameters": { + "typeName": "DeliveryRuleAfdUrlSigningActionParameters", + "keyGroupReference": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/keygroups/kg1" + }, + "algorithm": "SHA256", + "parameterNameOverride": [ + { + "paramIndicator": "Expires", + "paramName": "Expiration-Date" + }, + { + "paramIndicator": "Signature", + "paramName": "Sig-Hash" + } + ] + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Creating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_Delete.json new file mode 100644 index 000000000000..b71f730e6055 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1", + "ruleName": "rule1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_Get.json new file mode 100644 index 000000000000..802eaec865d0 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_Get.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1", + "ruleName": "rule1" + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false, + "transforms": [] + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_ListByRuleSet.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_ListByRuleSet.json new file mode 100644 index 000000000000..bf3ebc624af2 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_ListByRuleSet.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false, + "transforms": [] + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_Update.json new file mode 100644 index 000000000000..5226f38205fd --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Rules_Update.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "ruleSetName": "ruleSet1", + "ruleName": "rule1", + "ruleUpdateProperties": { + "properties": { + "order": 1, + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false, + "transforms": [] + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/rulesets/ruleSet1/rules/rule1", + "type": "Microsoft.Cdn/profiles/rulesets/rules", + "properties": { + "order": 1, + "conditions": [ + { + "name": "RequestMethod", + "parameters": { + "typeName": "DeliveryRuleRequestMethodConditionParameters", + "operator": "Equal", + "matchValues": [ + "GET" + ], + "negateCondition": false, + "transforms": [] + } + } + ], + "actions": [ + { + "name": "ModifyResponseHeader", + "parameters": { + "typeName": "DeliveryRuleHeaderActionParameters", + "headerAction": "Overwrite", + "headerName": "X-CDN", + "value": "MSFT" + } + } + ], + "matchProcessingBehavior": "Continue", + "provisioningState": "Updating", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_CreateCustomerCertificateType.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_CreateCustomerCertificateType.json new file mode 100644 index 000000000000..156190a399d3 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_CreateCustomerCertificateType.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "secretName": "secret1", + "secret": { + "properties": { + "parameters": { + "type": "CustomerCertificate", + "secretVersion": "abcdef1234578900abcdef1234567890", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/kvName/secrets/certificatename" + }, + "useLatestVersion": false + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "CustomerCertificate", + "subject": "*.contoso.com", + "certificateAuthority": "Symantec", + "expirationDate": "2025-01-01T00:00:00-00:00", + "thumbprint": "ABCDEF1234567890ABCDEF1234567890ABCDEF12", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/keyvaultname/secrets/certificatename" + }, + "secretVersion": "abcdef1234578900abcdef1234567890", + "useLatestVersion": true, + "subjectAlternativeNames": [ + "foo.contoso.com", + "www3.foo.contoso.com" + ] + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "201": { + "body": { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "CustomerCertificate", + "subject": "*.contoso.com", + "certificateAuthority": "Symantec", + "expirationDate": "2025-01-01T00:00:00-00:00", + "thumbprint": "ABCDEF1234567890ABCDEF1234567890ABCDEF12", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/keyvaultname/secrets/certificatename" + }, + "secretVersion": "abcdef1234578900abcdef1234567890", + "useLatestVersion": true, + "subjectAlternativeNames": [ + "foo.contoso.com", + "www3.foo.contoso.com" + ] + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "CustomerCertificate", + "subject": "*.contoso.com", + "certificateAuthority": "Symantec", + "expirationDate": "2025-01-01T00:00:00-00:00", + "thumbprint": "ABCDEF1234567890ABCDEF1234567890ABCDEF12", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/keyvaultname/secrets/certificatename" + }, + "secretVersion": "abcdef1234578900abcdef1234567890", + "useLatestVersion": true, + "subjectAlternativeNames": [ + "foo.contoso.com", + "www3.foo.contoso.com" + ] + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_CreateMtlsCertificateChainType.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_CreateMtlsCertificateChainType.json new file mode 100644 index 000000000000..eb3f24800831 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_CreateMtlsCertificateChainType.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "secretName": "secret1", + "secret": { + "properties": { + "parameters": { + "type": "MtlsCertificateChain", + "secretVersion": "abcdef1234578900abcdef1234567890", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/kvName/secrets/mTLSCertificateChainname" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "MtlsCertificateChain", + "secretVersion": "abcdef1234578900abcdef1234567890", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/kvName/secrets/mTLSCertificateChainName" + }, + "expirationDate": "2025-01-01T00:00:00-00:00" + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "201": { + "body": { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "MtlsCertificateChain", + "secretVersion": "abcdef1234578900abcdef1234567890", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/kvName/secrets/mTLSCertificateChainName" + }, + "expirationDate": "2025-01-01T00:00:00-00:00" + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "body": { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "MtlsCertificateChain", + "secretVersion": "abcdef1234578900abcdef1234567890", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/kvName/secrets/mTLSCertificateChainName" + }, + "expirationDate": "2025-01-01T00:00:00-00:00" + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_CreateUrlSigningKeyType.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_CreateUrlSigningKeyType.json new file mode 100644 index 000000000000..797ed423dfe2 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_CreateUrlSigningKeyType.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "secretName": "secret1", + "secret": { + "properties": { + "parameters": { + "type": "UrlSigningKey", + "secretVersion": "abcdef1234578900abcdef1234567890", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/kvName/secrets/urlsigningkeyname" + }, + "keyId": "customKeyId" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "UrlSigningKey", + "secretVersion": "abcdef1234578900abcdef1234567890", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/kvName/secrets/urlsigningkeyname" + }, + "keyId": "customKeyId" + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "201": { + "body": { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "UrlSigningKey", + "secretVersion": "abcdef1234578900abcdef1234567890", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/kvName/secrets/urlsigningkeyname" + }, + "keyId": "customKeyId" + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + }, + "202": { + "body": { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "UrlSigningKey", + "secretVersion": "abcdef1234578900abcdef1234567890", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/kvName/secrets/urlsigningkeyname" + }, + "keyId": "customKeyId" + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_Delete.json new file mode 100644 index 000000000000..9064ae4cae97 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "secretName": "secret1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_Get.json new file mode 100644 index 000000000000..48cd02c088d1 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "secretName": "secret1" + }, + "responses": { + "200": { + "body": { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "CustomerCertificate", + "subject": "*.contoso.com", + "certificateAuthority": "Symantec", + "expirationDate": "2025-01-01T00:00:00-00:00", + "thumbprint": "ABCDEF1234567890ABCDEF1234567890ABCDEF12", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/keyvaultname/secrets/certificatename" + }, + "secretVersion": "abcdef1234578900abcdef1234567890", + "useLatestVersion": true, + "subjectAlternativeNames": [ + "foo.contoso.com", + "www3.foo.contoso.com" + ] + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_ListByProfile.json new file mode 100644 index 000000000000..81a368190ff6 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/Secrets_ListByProfile.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "secret1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/secret1", + "type": "Microsoft.Cdn/profiles/secrets", + "properties": { + "parameters": { + "type": "CustomerCertificate", + "subject": "*.contoso.com", + "certificateAuthority": "Symantec", + "expirationDate": "2025-01-01T00:00:00-00:00", + "thumbprint": "ABCDEF1234567890ABCDEF1234567890ABCDEF12", + "secretSource": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.KeyVault/vaults/keyvaultname/secrets/certificatename" + }, + "secretVersion": "abcdef1234578900abcdef1234567890", + "useLatestVersion": true, + "subjectAlternativeNames": [ + "foo.contoso.com", + "www3.foo.contoso.com" + ] + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/secrets/autogenerated_secret_name", + "type": "Microsoft.Cdn/profiles/secrets", + "name": "69f05517-6aaf-4a1e-a96d-f8c02f66c756-test12-afdx-test-domains-azfdtest-xyz", + "properties": { + "parameters": { + "type": "ManagedCertificate", + "subject": "bar.contoso.com", + "expirationDate": "2025-01-01T00:00:00-00:00" + }, + "provisioningState": "Succeeded", + "deploymentStatus": "NotStarted" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/SecurityPolicies_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/SecurityPolicies_Create.json new file mode 100644 index 000000000000..3b8845d1855b --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/SecurityPolicies_Create.json @@ -0,0 +1,135 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "securityPolicyName": "securityPolicy1", + "securityPolicy": { + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "securityPolicy1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/securitypolicies/securityPolicy1", + "type": "Microsoft.Cdn/profiles/securitypolicies", + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + }, + "deploymentStatus": "NotStarted", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "body": { + "name": "securityPolicy1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/securitypolicies/securityPolicy1", + "type": "Microsoft.Cdn/profiles/securitypolicies", + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + }, + "deploymentStatus": "NotStarted", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "securityPolicy1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/securitypolicies/securityPolicy1", + "type": "Microsoft.Cdn/profiles/securitypolicies", + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + }, + "deploymentStatus": "NotStarted", + "provisioningState": "Creating" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/SecurityPolicies_Delete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/SecurityPolicies_Delete.json new file mode 100644 index 000000000000..6e60a4b9d665 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/SecurityPolicies_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "securityPolicyName": "securityPolicy1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/SecurityPolicies_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/SecurityPolicies_Get.json new file mode 100644 index 000000000000..815230eff030 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/SecurityPolicies_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "securityPolicyName": "securityPolicy1" + }, + "responses": { + "200": { + "body": { + "name": "securityPolicy1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/securitypolicies/securityPolicy1", + "type": "Microsoft.Cdn/profiles/securitypolicies", + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + }, + "deploymentStatus": "NotStarted", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/SecurityPolicies_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/SecurityPolicies_ListByProfile.json new file mode 100644 index 000000000000..2c6951d41253 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/SecurityPolicies_ListByProfile.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "securityPolicy1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/securitypolicies/securityPolicy1", + "type": "Microsoft.Cdn/profiles/securitypolicies", + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + }, + "deploymentStatus": "NotStarted", + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/SecurityPolicies_Patch.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/SecurityPolicies_Patch.json new file mode 100644 index 000000000000..c7e6834c0e0a --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/SecurityPolicies_Patch.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "RG", + "profileName": "profile1", + "securityPolicyName": "securityPolicy1", + "securityPolicyUpdateProperties": { + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "securityPolicy1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/securitypolicies/securityPolicy1", + "type": "Microsoft.Cdn/profiles/securitypolicies", + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + }, + "deploymentStatus": "NotStarted", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "securityPolicy1", + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/securitypolicies/securityPolicy1", + "type": "Microsoft.Cdn/profiles/securitypolicies", + "properties": { + "parameters": { + "type": "WebApplicationFirewall", + "wafPolicy": { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Network/frontdoorwebapplicationfirewallpolicies/wafTest" + }, + "associations": [ + { + "domains": [ + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain1" + }, + { + "id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/customdomains/testdomain2" + } + ], + "patternsToMatch": [ + "/*" + ] + } + ] + }, + "deploymentStatus": "NotStarted", + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/ValidateProbe.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/ValidateProbe.json new file mode 100644 index 000000000000..f7cb48c58052 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/ValidateProbe.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "validateProbeInput": { + "probeURL": "https://www.bing.com/image" + } + }, + "responses": { + "200": { + "body": { + "isValid": true, + "errorCode": "None", + "message": null + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafListManagedRuleSets.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafListManagedRuleSets.json new file mode 100644 index 000000000000..2f4be6c384fd --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafListManagedRuleSets.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "DefaultRuleSet_1.0", + "id": "/subscriptions/subid/providers/Microsoft.Cdn/CdnWebApplicationFirewallManagedRuleSets", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallmanagedrulesets", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "provisioningState": "Succeeded", + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroups": [ + { + "ruleGroupName": "Group1", + "description": "Description for rule group 1.", + "rules": [ + { + "ruleId": "GROUP1-0001", + "description": "Generic managed web application firewall rule." + }, + { + "ruleId": "GROUP1-0002", + "description": "Generic managed web application firewall rule." + } + ] + }, + { + "ruleGroupName": "Group2", + "description": "Description for rule group 2.", + "rules": [ + { + "ruleId": "GROUP2-0001", + "description": "Generic managed web application firewall rule." + } + ] + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafListPolicies.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafListPolicies.json new file mode 100644 index 000000000000..15bbbb7104f0 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafListPolicies.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "MicrosoftCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 429, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2" + } + ] + } + }, + { + "name": "VerizonStandardCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/VerizonStandardCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Verizon" + }, + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 429, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "ECRS", + "ruleSetVersion": "2018-11-2", + "ruleGroupOverrides": [ + { + "ruleGroupName": "XSS", + "rules": [ + { + "ruleId": "XSS-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "XSS-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint3" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafPatchPolicy.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafPatchPolicy.json new file mode 100644 index 000000000000..211483b02c11 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafPatchPolicy.json @@ -0,0 +1,275 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "MicrosoftCdnWafPolicy", + "cdnWebApplicationFirewallPolicyPatchParameters": { + "tags": { + "foo": "bar" + } + } + }, + "responses": { + "200": { + "body": { + "name": "MicrosoftCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "foo": "bar" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 403, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2" + } + ] + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "MicrosoftCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "resourceState": "Creating", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 403, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2" + } + ] + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafPolicyCreateOrUpdate.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafPolicyCreateOrUpdate.json new file mode 100644 index 000000000000..8016e485e87f --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafPolicyCreateOrUpdate.json @@ -0,0 +1,508 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "MicrosoftCdnWafPolicy", + "cdnWebApplicationFirewallPolicy": { + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "policySettings": { + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 200, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "MicrosoftCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 200, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2" + } + ] + } + } + }, + "201": { + "body": { + "name": "MicrosoftCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 200, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2" + } + ] + } + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourcegroups/resourceGroupName/providers/Microsoft.Cdn/operationresults/operationId?api-version=2024-05-01-preview" + }, + "body": { + "name": "MicrosoftCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "resourceState": "Creating", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 200, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 3, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2" + } + ] + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafPolicyDelete.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafPolicyDelete.json new file mode 100644 index 000000000000..0b26ce66fa99 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafPolicyDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafPolicyGet.json b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafPolicyGet.json new file mode 100644 index 000000000000..a2ded5a64068 --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/examples/WafPolicyGet.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "MicrosoftCdnWafPolicy" + }, + "responses": { + "200": { + "body": { + "name": "MicrosoftCdnWafPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/CdnWebApplicationFirewallPolicies/MicrosoftCdnWafPolicy", + "type": "Microsoft.Cdn/cdnwebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "sku": { + "name": "Standard_Microsoft" + }, + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "enabledState": "Enabled", + "mode": "Prevention", + "defaultRedirectUrl": "http://www.bing.com", + "defaultCustomBlockResponseStatusCode": 429, + "defaultCustomBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg==" + }, + "rateLimitRules": { + "rules": [ + { + "name": "RateLimitRule1", + "priority": 1, + "enabledState": "Enabled", + "rateLimitDurationInMinutes": 0, + "rateLimitThreshold": 1000, + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "IPMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "action": "Block" + } + ] + }, + "customRules": { + "rules": [ + { + "name": "CustomRule1", + "priority": 2, + "enabledState": "Enabled", + "matchConditions": [ + { + "matchVariable": "RemoteAddr", + "selector": null, + "operator": "GeoMatch", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "CH" + ] + }, + { + "matchVariable": "RequestHeader", + "selector": "UserAgent", + "operator": "Contains", + "negateCondition": false, + "transforms": [], + "matchValue": [ + "windows" + ] + }, + { + "matchVariable": "QueryString", + "selector": "search", + "operator": "Contains", + "negateCondition": false, + "transforms": [ + "UrlDecode", + "Lowercase" + ], + "matchValue": [ + "" + ] + } + ], + "action": "Block" + } + ] + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "DefaultRuleSet", + "ruleSetVersion": "preview-1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "Group1", + "rules": [ + { + "ruleId": "GROUP1-0001", + "enabledState": "Enabled", + "action": "Redirect" + }, + { + "ruleId": "GROUP1-0002", + "enabledState": "Disabled" + } + ] + } + ] + } + ] + }, + "endpointLinks": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Cdn/profiles/profile1/endpoints/testEndpoint2" + } + ] + } + } + } + } +} diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/scenarios/AFDProfiles_Upgrade_WithoutWaf.yaml b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/scenarios/AFDProfiles_Upgrade_WithoutWaf.yaml new file mode 100644 index 000000000000..7259132992bd --- /dev/null +++ b/specification/cdn/resource-manager/Microsoft.Cdn/preview/2024-05-01-preview/scenarios/AFDProfiles_Upgrade_WithoutWaf.yaml @@ -0,0 +1,28 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/Azure/azure-rest-api-specs/main/documentation/api-scenario/references/v1.2/schema.json +scope: ResourceGroup +variables: + afdprofileName: + type: string + prefix: afdprofile +scenarios: + - scenario: GeneratedScenario + steps: + - step: CheckNameAvailabilityWithSubscription + operationId: CheckNameAvailabilityWithSubscription + exampleFile: ../examples/CheckNameAvailabilityWithSubscription.json + - step: AFDProfiles_Create + operationId: Profiles_Create + parameters: + profileName: $(afdprofileName) + profile: + location: "global" + sku: + name: Standard_AzureFrontDoor + identity: + type: "SystemAssigned" + - step: AFDProfiles_Upgrade + operationId: AFDProfiles_Upgrade + parameters: + profileName: $(afdprofileName) + profileUpgradeParameters: + wafMappingList: [] diff --git a/specification/cdn/resource-manager/readme.md b/specification/cdn/resource-manager/readme.md index 63200494df5b..67dd1ebba94f 100644 --- a/specification/cdn/resource-manager/readme.md +++ b/specification/cdn/resource-manager/readme.md @@ -33,6 +33,17 @@ tag: package-2024-02 ``` +### Tag: package-preview-2024-05 + +These settings apply only when `--tag=package-preview-2024-05` is specified on the command line. + +```yaml $(tag) == 'package-preview-2024-05' +input-file: + - Microsoft.Cdn/preview/2024-05-01-preview/afdx.json + - Microsoft.Cdn/preview/2024-05-01-preview/cdn.json + - Microsoft.Cdn/preview/2024-05-01-preview/cdnwebapplicationfirewall.json +``` + ### Tag: package-2024-02 These settings apply only when `--tag=package-2024-02` is specified on the command line. diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-09-01-preview/operationStatuses.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-09-01-preview/operationStatuses.json index 80e2420ea956..430239e53037 100644 --- a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-09-01-preview/operationStatuses.json +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-09-01-preview/operationStatuses.json @@ -105,11 +105,15 @@ }, "startTime": { "type": "string", - "description": "The start time of the operation." + "description": "The start time of the operation.", + "format": "date-time", + "readOnly": true }, "endTime": { "type": "string", - "description": "The end time of the operation." + "description": "The end time of the operation.", + "format": "date-time", + "readOnly": true }, "status": { "type": "string", diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/operationStatuses.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/operationStatuses.json index d82fefad4301..b3e50dbd461b 100644 --- a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/operationStatuses.json +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2023-10-27-preview/operationStatuses.json @@ -105,11 +105,15 @@ }, "startTime": { "type": "string", - "description": "The start time of the operation." + "description": "The start time of the operation.", + "format": "date-time", + "readOnly": true }, "endTime": { "type": "string", - "description": "The end time of the operation." + "description": "The end time of the operation.", + "format": "date-time", + "readOnly": true }, "status": { "type": "string", diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/operationStatuses.json b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/operationStatuses.json index 4c24791fa440..d403ffba3906 100644 --- a/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/operationStatuses.json +++ b/specification/chaos/resource-manager/Microsoft.Chaos/preview/2024-03-22-preview/operationStatuses.json @@ -101,11 +101,15 @@ }, "startTime": { "type": "string", - "description": "The start time of the operation." + "description": "The start time of the operation.", + "format": "date-time", + "readOnly": true }, "endTime": { "type": "string", - "description": "The end time of the operation." + "description": "The end time of the operation.", + "format": "date-time", + "readOnly": true }, "status": { "type": "string", diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operationStatuses.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operationStatuses.json index 4aa5918a3f47..6daf68c7ffa3 100644 --- a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operationStatuses.json +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2023-11-01/operationStatuses.json @@ -101,11 +101,15 @@ }, "startTime": { "type": "string", - "description": "The start time of the operation." + "description": "The start time of the operation.", + "format": "date-time", + "readOnly": true }, "endTime": { "type": "string", - "description": "The end time of the operation." + "description": "The end time of the operation.", + "format": "date-time", + "readOnly": true }, "status": { "type": "string", diff --git a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/operationStatuses.json b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/operationStatuses.json index ec92a2d3ea50..9660b7c68d07 100644 --- a/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/operationStatuses.json +++ b/specification/chaos/resource-manager/Microsoft.Chaos/stable/2024-01-01/operationStatuses.json @@ -101,11 +101,15 @@ }, "startTime": { "type": "string", - "description": "The start time of the operation." + "description": "The start time of the operation.", + "format": "date-time", + "readOnly": true }, "endTime": { "type": "string", - "description": "The end time of the operation." + "description": "The end time of the operation.", + "format": "date-time", + "readOnly": true }, "status": { "type": "string", diff --git a/specification/codesigning/CodeSigning.Management/CertificateProfile.tsp b/specification/codesigning/CodeSigning.Management/CertificateProfile.tsp index 55ebaa3d6001..fdcb066344e6 100644 --- a/specification/codesigning/CodeSigning.Management/CertificateProfile.tsp +++ b/specification/codesigning/CodeSigning.Management/CertificateProfile.tsp @@ -27,8 +27,13 @@ interface CertificateProfiles { @doc("Get details of a certificate profile.") get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("Create a certificate profile.") - create is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrReplaceAsync< + CertificateProfile, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("Delete a certificate profile.") delete is ArmResourceDeleteWithoutOkAsync; diff --git a/specification/codesigning/CodeSigning.Management/CodeSigningAccount.tsp b/specification/codesigning/CodeSigning.Management/CodeSigningAccount.tsp index 4355346b7284..2ba44542c4ba 100644 --- a/specification/codesigning/CodeSigning.Management/CodeSigningAccount.tsp +++ b/specification/codesigning/CodeSigning.Management/CodeSigningAccount.tsp @@ -25,8 +25,13 @@ interface CodeSigningAccounts { @doc("Get a trusted Signing Account.") get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("Create a trusted Signing Account.") - create is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrReplaceAsync< + CodeSigningAccount, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("Update a trusted signing account.") @parameterVisibility diff --git a/specification/codesigning/resource-manager/Microsoft.CodeSigning/preview/2024-02-05-preview/codeSigningAccount.json b/specification/codesigning/resource-manager/Microsoft.CodeSigning/preview/2024-02-05-preview/codeSigningAccount.json index c39c884ded31..123faa923f38 100644 --- a/specification/codesigning/resource-manager/Microsoft.CodeSigning/preview/2024-02-05-preview/codeSigningAccount.json +++ b/specification/codesigning/resource-manager/Microsoft.CodeSigning/preview/2024-02-05-preview/codeSigningAccount.json @@ -832,11 +832,7 @@ "properties": { "$ref": "#/definitions/CertificateProfileProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1074,11 +1070,7 @@ "properties": { "$ref": "#/definitions/CodeSigningAccountProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/cognitiveservices/AnomalyDetector/main.tsp b/specification/cognitiveservices/AnomalyDetector/main.tsp index 5172ffb61695..896abafe657d 100644 --- a/specification/cognitiveservices/AnomalyDetector/main.tsp +++ b/specification/cognitiveservices/AnomalyDetector/main.tsp @@ -18,9 +18,9 @@ using TypeSpec.Versioning; "The Anomaly Detector API detects anomalies automatically in time series data. It supports two kinds of mode, one is for stateless using, another is for stateful using. In stateless mode, there are three functionalities. Entire Detect is for detecting the whole series with model trained by the time series, Last Detect is detecting last point with model trained by points before. ChangePoint Detect is for detecting trend changes in time series. In stateful mode, user can store time series, the stored time series will be used for detection anomalies. Under this mode, user can still use the above three functionalities by only giving a time range without preparing time series in client side. Besides the above three functionalities, stateful model also provide group based detection and labeling service. By leveraging labeling service user can provide labels for each detection result, these labels will be used for retuning or regenerating detection models. Inconsistency detection is a kind of group based detection, this detection will find inconsistency ones in a set of time series. By using anomaly detector service, business customers can discover incidents and establish a logic flow for root cause analysis.", { @doc(""" -Supported Azure Cognitive Services endpoints (protocol and host name, such as -https://westus2.api.cognitive.microsoft.com). -""") + Supported Azure Cognitive Services endpoints (protocol and host name, such as + https://westus2.api.cognitive.microsoft.com). + """) Endpoint: string, @doc("Api Version") @@ -29,23 +29,23 @@ https://westus2.api.cognitive.microsoft.com). } ) @doc(""" -The Anomaly Detector API detects anomalies automatically in time series data. -It supports both a stateless detection mode and a -stateful detection mode. In stateless mode, there are three functionalities. Entire -Detect is for detecting the whole series, with the model trained by the time series. -Last Detect is for detecting the last point, with the model trained by points before. -ChangePoint Detect is for detecting trend changes in the time series. In stateful -mode, the user can store time series. The stored time series will be used for -detection anomalies. In this mode, the user can still use the preceding three -functionalities by only giving a time range without preparing time series on the -client side. Besides the preceding three functionalities, the stateful model -provides group-based detection and labeling services. By using the labeling -service, the user can provide labels for each detection result. These labels will be -used for retuning or regenerating detection models. Inconsistency detection is -a kind of group-based detection that finds inconsistencies in -a set of time series. By using the anomaly detector service, business customers can -discover incidents and establish a logic flow for root cause analysis. -""") + The Anomaly Detector API detects anomalies automatically in time series data. + It supports both a stateless detection mode and a + stateful detection mode. In stateless mode, there are three functionalities. Entire + Detect is for detecting the whole series, with the model trained by the time series. + Last Detect is for detecting the last point, with the model trained by points before. + ChangePoint Detect is for detecting trend changes in the time series. In stateful + mode, the user can store time series. The stored time series will be used for + detection anomalies. In this mode, the user can still use the preceding three + functionalities by only giving a time range without preparing time series on the + client side. Besides the preceding three functionalities, the stateful model + provides group-based detection and labeling services. By using the labeling + service, the user can provide labels for each detection result. These labels will be + used for retuning or regenerating detection models. Inconsistency detection is + a kind of group-based detection that finds inconsistencies in + a set of time series. By using the anomaly detector service, business customers can + discover incidents and establish a logic flow for root cause analysis. + """) namespace AnomalyDetector; @doc("The secret key for your Azure Cognitive Services subscription.") diff --git a/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp b/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp index 2c07097dba56..e7e03d667745 100644 --- a/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp +++ b/specification/cognitiveservices/AnomalyDetector/multivariate/models.tsp @@ -90,9 +90,9 @@ model MultivariateBatchDetectionResultSummary { variableStates?: VariableState[]; @doc(""" -Detection request for batch inference. This is an asynchronous inference that -will need another API to get detection results. -""") + Detection request for batch inference. This is an asynchronous inference that + will need another API to get detection results. + """) setupInfo: MultivariateBatchDetectionOptions; } @@ -128,35 +128,35 @@ model VariableState { } @doc(""" -Detection request for batch inference. This is an asynchronous inference that -will need another API to get detection results. -""") + Detection request for batch inference. This is an asynchronous inference that + will need another API to get detection results. + """) model MultivariateBatchDetectionOptions { @doc(""" -Source link to the input data to indicate an accessible Azure Storage URI. -It either points to an Azure Blob Storage folder or points to a CSV file in -Azure Blob Storage, based on your data schema selection. The data schema should -be exactly the same as those used in the training phase. The input data must -contain at least slidingWindow entries preceding the start time of the data -to be detected. -""") + Source link to the input data to indicate an accessible Azure Storage URI. + It either points to an Azure Blob Storage folder or points to a CSV file in + Azure Blob Storage, based on your data schema selection. The data schema should + be exactly the same as those used in the training phase. The input data must + contain at least slidingWindow entries preceding the start time of the data + to be detected. + """) dataSource: url; @doc(""" -Number of top contributed variables for one anomalous time stamp in the response. -""") + Number of top contributed variables for one anomalous time stamp in the response. + """) topContributorCount?: int32 = 10; @doc(""" -Start date/time of data for detection, which should -be in ISO 8601 format. -""") + Start date/time of data for detection, which should + be in ISO 8601 format. + """) startTime: utcDateTime; @doc(""" -End date/time of data for detection, which should -be in ISO 8601 format. -""") + End date/time of data for detection, which should + be in ISO 8601 format. + """) endTime: utcDateTime; } @@ -178,16 +178,16 @@ model AnomalyValue { isAnomaly: boolean; @doc(""" -Indicates the significance of the anomaly. The higher the severity, the more -significant the anomaly is. -""") + Indicates the significance of the anomaly. The higher the severity, the more + significant the anomaly is. + """) @minValue(0.0) @maxValue(1.0) severity: float32; @doc(""" -Raw anomaly score of severity, to help indicate the degree of abnormality. -""") + Raw anomaly score of severity, to help indicate the degree of abnormality. + """) @minValue(0.0) @maxValue(2.0) score: float32; @@ -202,9 +202,9 @@ model AnomalyInterpretation { variable?: string; @doc(""" -This score shows the percentage that contributes to the anomalous time stamp. It's a -number between 0 and 1. -""") + This score shows the percentage that contributes to the anomalous time stamp. It's a + number between 0 and 1. + """) contributionScore?: float32; @doc("Correlation changes among the anomalous variables.") @@ -218,46 +218,46 @@ model CorrelationChanges { } @doc(""" -Training result of a model, including its status, errors, and diagnostics -information. -""") + Training result of a model, including its status, errors, and diagnostics + information. + """) model ModelInfo { @doc(""" -Source link to the input data to indicate an accessible Azure Storage URI. -It either points to an Azure Blob Storage folder or points to a CSV file in -Azure Blob Storage, based on your data schema selection. -""") + Source link to the input data to indicate an accessible Azure Storage URI. + It either points to an Azure Blob Storage folder or points to a CSV file in + Azure Blob Storage, based on your data schema selection. + """) dataSource: url; @doc(""" -Data schema of the input data source. The default -is OneTable. -""") + Data schema of the input data source. The default + is OneTable. + """) dataSchema?: DataSchema; @doc(""" -Start date/time of training data, which should be -in ISO 8601 format. -""") + Start date/time of training data, which should be + in ISO 8601 format. + """) startTime: utcDateTime; @doc(""" -End date/time of training data, which should be -in ISO 8601 format. -""") + End date/time of training data, which should be + in ISO 8601 format. + """) endTime: utcDateTime; @doc(""" -Display name of the model. Maximum length is 24 -characters. -""") + Display name of the model. Maximum length is 24 + characters. + """) @maxLength(24) displayName?: string; @doc(""" -Number of previous time stamps that will be used to -detect whether the time stamp is an anomaly or not. -""") + Number of previous time stamps that will be used to + detect whether the time stamp is an anomaly or not. + """) slidingWindow?: int32; @doc("Manner of aligning multiple variables.") @@ -279,15 +279,15 @@ detect whether the time stamp is an anomaly or not. @doc("Manner of aligning multiple variables.") model AlignPolicy { @doc(""" -Field that indicates how to align different variables to the same -time range. -""") + Field that indicates how to align different variables to the same + time range. + """) alignMode?: AlignMode; #suppress "@azure-tools/typespec-azure-core/casing-style" "Service uppercases common acronyms like NA." @doc(""" -Field that indicates how missing values will be filled. -""") + Field that indicates how missing values will be filled. + """) fillNAMethod?: FillNAMethod; @doc("Field that's required when fillNAMethod is Fixed.") @@ -306,21 +306,21 @@ model DiagnosticsInfo { @doc("Model status.") model ModelState { @doc(""" -Number of passes of the entire training dataset that the -algorithm has completed. -""") + Number of passes of the entire training dataset that the + algorithm has completed. + """) epochIds?: int32[]; @doc(""" -List of metrics used to assess how the model fits the training data for each -epoch. -""") + List of metrics used to assess how the model fits the training data for each + epoch. + """) trainLosses?: float32[]; @doc(""" -List of metrics used to assess how the model fits the validation set for each -epoch. -""") + List of metrics used to assess how the model fits the validation set for each + epoch. + """) validationLosses?: float32[]; @doc("Latency for each epoch.") @@ -342,9 +342,9 @@ model AnomalyDetectionModel { lastUpdatedTime: utcDateTime; @doc(""" -Training result of a model, including its status, errors, and diagnostics -information. -""") + Training result of a model, including its status, errors, and diagnostics + information. + """) modelInfo?: ModelInfo; } @@ -369,16 +369,16 @@ model ModelList { @doc("Request of the last detection.") model MultivariateLastDetectionOptions { @doc(""" -Contains the inference data, including the name, time stamps (ISO 8601), and -values of variables. -""") + Contains the inference data, including the name, time stamps (ISO 8601), and + values of variables. + """) variables: VariableValues[]; @doc(""" -Number of top contributed -variables for one anomalous time stamp in the response. The default is -10. -""") + Number of top contributed + variables for one anomalous time stamp in the response. The default is + 10. + """) topContributorCount?: int32 = 10; } diff --git a/specification/cognitiveservices/AnomalyDetector/multivariate/routes.tsp b/specification/cognitiveservices/AnomalyDetector/multivariate/routes.tsp index 9ef969f400c8..2540235fb63e 100644 --- a/specification/cognitiveservices/AnomalyDetector/multivariate/routes.tsp +++ b/specification/cognitiveservices/AnomalyDetector/multivariate/routes.tsp @@ -28,9 +28,9 @@ op MultivariateServiceAction( @route("/multivariate/detect-batch/{resultId}") @summary("Get Multivariate Anomaly Detection Result") @doc(""" -For asynchronous inference, get a multivariate anomaly detection result based on the -resultId value that the BatchDetectAnomaly API returns. -""") + For asynchronous inference, get a multivariate anomaly detection result based on the + resultId value that the BatchDetectAnomaly API returns. + """) op getMultivariateBatchDetectionResult( @doc("ID of a batch detection result.") @path @@ -42,17 +42,17 @@ op getMultivariateBatchDetectionResult( @route("/multivariate/models") @summary("Train a Multivariate Anomaly Detection Model") @doc(""" -Create and train a multivariate anomaly detection model. The request must -include a source parameter to indicate an Azure Blob -Storage URI that's accessible to the service. There are two types of data input. The Blob Storage URI can point to an Azure Blob -Storage folder that contains multiple CSV files, where each CSV file has -two 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 -time stamp column. -The model object will be created and returned in the response, but the -training process happens asynchronously. To check the training status, call -GetMultivariateModel with the modelId value and check the status field in the -modelInfo object. -""") + Create and train a multivariate anomaly detection model. The request must + include a source parameter to indicate an Azure Blob + Storage URI that's accessible to the service. There are two types of data input. The Blob Storage URI can point to an Azure Blob + Storage folder that contains multiple CSV files, where each CSV file has + two 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 + time stamp column. + The model object will be created and returned in the response, but the + training process happens asynchronously. To check the training status, call + GetMultivariateModel with the modelId value and check the status field in the + modelInfo object. + """) op trainMultivariateModel is MultivariateServiceAction< // TParams { @@ -111,9 +111,9 @@ op deleteMultivariateModel( // it does not support an api-version in the path defined in the @server decorator. @summary("Get Multivariate Model") @doc(""" -Get detailed information about the multivariate model, including the training status -and variables used in the model. -""") + Get detailed information about the multivariate model, including the training status + and variables used in the model. + """) @get @route("/multivariate/models/{modelId}") op getMultivariateModel( @@ -130,13 +130,13 @@ op getMultivariateModel( @route("/multivariate/models/{modelId}:detect-batch") @summary("Detect Multivariate Anomaly") @doc(""" -Submit a multivariate anomaly detection task with the modelId value of a trained model -and inference data. The input schema should be the same with the training -request. The request will finish asynchronously and return a resultId value to -query the detection result. The request should be a source link to indicate an -externally accessible Azure Storage URI that either points to an Azure Blob -Storage folder or points to a CSV file in Azure Blob Storage. -""") + Submit a multivariate anomaly detection task with the modelId value of a trained model + and inference data. The input schema should be the same with the training + request. The request will finish asynchronously and return a resultId value to + query the detection result. The request should be a source link to indicate an + externally accessible Azure Storage URI that either points to an Azure Blob + Storage folder or points to a CSV file in Azure Blob Storage. + """) op detectMultivariateBatchAnomaly( @doc("Model identifier.") @path @@ -166,11 +166,11 @@ op detectMultivariateBatchAnomaly( @route("/multivariate/models/{modelId}:detect-last") @summary("Detect anomalies in the last point of the request body") @doc(""" -Submit a multivariate anomaly detection task with the modelId value of a trained model -and inference data. The inference data should be put into the request body in -JSON format. The request will finish synchronously and return the detection -immediately in the response body. -""") + Submit a multivariate anomaly detection task with the modelId value of a trained model + and inference data. The inference data should be put into the request body in + JSON format. The request will finish synchronously and return the detection + immediately in the response body. + """) op detectMultivariateLastAnomaly( @doc("Model identifier.") @path diff --git a/specification/cognitiveservices/AnomalyDetector/tspconfig.yaml b/specification/cognitiveservices/AnomalyDetector/tspconfig.yaml index 7350f3561ad4..eee7c0c25c1d 100644 --- a/specification/cognitiveservices/AnomalyDetector/tspconfig.yaml +++ b/specification/cognitiveservices/AnomalyDetector/tspconfig.yaml @@ -17,6 +17,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" examples-directory: examples omit-unreachable-types: true output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" diff --git a/specification/cognitiveservices/AnomalyDetector/univariate/models.tsp b/specification/cognitiveservices/AnomalyDetector/univariate/models.tsp index 002e80226f66..0415bf4a4538 100644 --- a/specification/cognitiveservices/AnomalyDetector/univariate/models.tsp +++ b/specification/cognitiveservices/AnomalyDetector/univariate/models.tsp @@ -52,53 +52,53 @@ union TimeGranularity { @doc("Request of the entire or last anomaly detection.") model UnivariateDetectionOptions { @doc(""" -Time series data points. Points should be sorted by time stamp in ascending -order to match the anomaly detection result. If the data is not sorted -correctly or there's a duplicated time stamp, the API won't work. In such -a case, an error message is returned. -""") + Time series data points. Points should be sorted by time stamp in ascending + order to match the anomaly detection result. If the data is not sorted + correctly or there's a duplicated time stamp, the API won't work. In such + a case, an error message is returned. + """) series: TimeSeriesPoint[]; @doc(""" -Argument that indicates time granularity. If granularity is not present, the value -is none by default. If granularity is none, the time stamp property in the time -series point can be absent. -""") + Argument that indicates time granularity. If granularity is not present, the value + is none by default. If granularity is none, the time stamp property in the time + series point can be absent. + """) granularity?: TimeGranularity; @doc(""" -A custom interval is used to set a nonstandard time interval. For example, if the -series is 5 minutes, the request can be set as {"granularity":"minutely", -"customInterval":5}. -""") + A custom interval is used to set a nonstandard time interval. For example, if the + series is 5 minutes, the request can be set as {"granularity":"minutely", + "customInterval":5}. + """) customInterval?: int32; @doc(""" -Argument that indicates the periodic value of a time series. If the value is null or -is not present, the API determines the period automatically. -""") + Argument that indicates the periodic value of a time series. If the value is null or + is not present, the API determines the period automatically. + """) period?: int32; @doc("Argument that indicates an advanced model parameter. It's the maximum anomaly ratio in a time series.") maxAnomalyRatio?: float32; @doc(""" -Argument that indicates an advanced model parameter between 0 and 99. The lower the value -is, the larger the margin value is, which means fewer anomalies will be -accepted. -""") + Argument that indicates an advanced model parameter between 0 and 99. The lower the value + is, the larger the margin value is, which means fewer anomalies will be + accepted. + """) sensitivity?: int32; @doc(""" -Specifies how to deal with missing values in the input series. It's used -when granularity is not \"none\". -""") + Specifies how to deal with missing values in the input series. It's used + when granularity is not \"none\". + """) imputeMode?: ImputeMode; @doc(""" -Specifies the value to fill. It's used when granularity is not \"none\" -and imputeMode is \"fixed\". -""") + Specifies the value to fill. It's used when granularity is not \"none\" + and imputeMode is \"fixed\". + """) imputeFixedValue?: float32; } @@ -114,63 +114,63 @@ model TimeSeriesPoint { @doc("Response of the entire anomaly detection.") model UnivariateEntireDetectionResult { @doc(""" -Frequency extracted from the series. Zero means no recurrent pattern has been -found. -""") + Frequency extracted from the series. Zero means no recurrent pattern has been + found. + """) period: int32; @doc(""" -Expected value for each input point. The index of the -array is consistent with the input series. -""") + Expected value for each input point. The index of the + array is consistent with the input series. + """) expectedValues: float32[]; @doc(""" -Upper margin of each input point. UpperMargin is used to -calculate upperBoundary, which is equal to expectedValue + (100 - -marginScale)*upperMargin. Anomalies in the response can be filtered by -upperBoundary and lowerBoundary. Adjusting the marginScale value can help filter less -significant anomalies on the client side. The index of the array is -consistent with the input series. -""") + Upper margin of each input point. UpperMargin is used to + calculate upperBoundary, which is equal to expectedValue + (100 - + marginScale)*upperMargin. Anomalies in the response can be filtered by + upperBoundary and lowerBoundary. Adjusting the marginScale value can help filter less + significant anomalies on the client side. The index of the array is + consistent with the input series. + """) upperMargins: float32[]; @doc(""" -Lower margin of each input point. LowerMargin is used to -calculate lowerBoundary, which is equal to expectedValue - (100 - -marginScale)*lowerMargin. Points between the boundary can be marked as normal -ones on the client side. The index of the array is consistent with the input -series. -""") + Lower margin of each input point. LowerMargin is used to + calculate lowerBoundary, which is equal to expectedValue - (100 - + marginScale)*lowerMargin. Points between the boundary can be marked as normal + ones on the client side. The index of the array is consistent with the input + series. + """) lowerMargins: float32[]; @doc(""" -Anomaly properties for each input point. True means an -anomaly (either negative or positive) has been detected. The index of the array -is consistent with the input series. -""") + Anomaly properties for each input point. True means an + anomaly (either negative or positive) has been detected. The index of the array + is consistent with the input series. + """) isAnomaly: boolean[]; @doc(""" -Anomaly status in a negative direction for each input -point. True means a negative anomaly has been detected. A negative anomaly -means the point is detected as an anomaly and its real value is smaller than -the expected one. The index of the array is consistent with the input series. -""") + Anomaly status in a negative direction for each input + point. True means a negative anomaly has been detected. A negative anomaly + means the point is detected as an anomaly and its real value is smaller than + the expected one. The index of the array is consistent with the input series. + """) isNegativeAnomaly: boolean[]; @doc(""" -Anomaly status in a positive direction for each input -point. True means a positive anomaly has been detected. A positive anomaly -means the point is detected as an anomaly and its real value is larger than the -expected one. The index of the array is consistent with the input series. -""") + Anomaly status in a positive direction for each input + point. True means a positive anomaly has been detected. A positive anomaly + means the point is detected as an anomaly and its real value is larger than the + expected one. The index of the array is consistent with the input series. + """) isPositiveAnomaly: boolean[]; @doc(""" -Severity score for each input point. The larger the value is, the more -severe the anomaly is. For normal points, the severity is always 0. -""") + Severity score for each input point. The larger the value is, the more + severe the anomaly is. For normal points, the severity is always 0. + """) severity?: float32[]; } @@ -191,9 +191,9 @@ model AnomalyDetectorError { @doc("Response of the last anomaly detection.") model UnivariateLastDetectionResult { @doc(""" -Frequency extracted from the series. Zero means no recurrent pattern has been -found. -""") + Frequency extracted from the series. Zero means no recurrent pattern has been + found. + """) period: int32; @doc("Suggested input series points needed for detecting the latest point.") @@ -203,99 +203,99 @@ found. expectedValue: float32; @doc(""" -Upper margin of the latest point. UpperMargin is used to calculate -upperBoundary, which is equal to expectedValue + (100 - marginScale)*upperMargin. -If the value of latest point is between upperBoundary and lowerBoundary, it -should be treated as a normal value. Adjusting the marginScale value enables the anomaly -status of the latest point to be changed. -""") + Upper margin of the latest point. UpperMargin is used to calculate + upperBoundary, which is equal to expectedValue + (100 - marginScale)*upperMargin. + If the value of latest point is between upperBoundary and lowerBoundary, it + should be treated as a normal value. Adjusting the marginScale value enables the anomaly + status of the latest point to be changed. + """) upperMargin: float32; @doc(""" -Lower margin of the latest point. LowerMargin is used to calculate -lowerBoundary, which is equal to expectedValue - (100 - marginScale)*lowerMargin. -""") + Lower margin of the latest point. LowerMargin is used to calculate + lowerBoundary, which is equal to expectedValue - (100 - marginScale)*lowerMargin. + """) lowerMargin: float32; @doc(""" -Anomaly status of the latest point. True means the latest point is an anomaly, -either in the negative direction or in the positive direction. -""") + Anomaly status of the latest point. True means the latest point is an anomaly, + either in the negative direction or in the positive direction. + """) isAnomaly: boolean; @doc(""" -Anomaly status of the latest point in a negative direction. True means the latest -point is an anomaly and its real value is smaller than the expected one. -""") + Anomaly status of the latest point in a negative direction. True means the latest + point is an anomaly and its real value is smaller than the expected one. + """) isNegativeAnomaly: boolean; @doc(""" -Anomaly status of the latest point in a positive direction. True means the latest -point is an anomaly and its real value is larger than the expected one. -""") + Anomaly status of the latest point in a positive direction. True means the latest + point is an anomaly and its real value is larger than the expected one. + """) isPositiveAnomaly: boolean; @doc(""" -Severity score for the last input point. The larger the value is, the more -severe the anomaly is. For normal points, the severity is always 0. -""") + Severity score for the last input point. The larger the value is, the more + severe the anomaly is. For normal points, the severity is always 0. + """) severity?: float32; } @doc("Request of change point detection.") model UnivariateChangePointDetectionOptions { @doc(""" -Time series data points. Points should be sorted by time stamp in ascending -order to match the change point detection result. -""") + Time series data points. Points should be sorted by time stamp in ascending + order to match the change point detection result. + """) series: TimeSeriesPoint[]; @doc(""" -Granularity is used to verify whether the input series is valid. -""") + Granularity is used to verify whether the input series is valid. + """) granularity: TimeGranularity; @doc(""" -A custom interval is used to set a nonstandard time interval. For example, if the -series is 5 minutes, the request can be set as {"granularity":"minutely", -"customInterval":5}. -""") + A custom interval is used to set a nonstandard time interval. For example, if the + series is 5 minutes, the request can be set as {"granularity":"minutely", + "customInterval":5}. + """) customInterval?: int32; @doc(""" -Argument that indicates the periodic value of a time series. If the value is null or -not present, the API will determine the period automatically. -""") + Argument that indicates the periodic value of a time series. If the value is null or + not present, the API will determine the period automatically. + """) period?: int32; @doc(""" -Argument that indicates an advanced model parameter. A default stableTrendWindow value will -be used in detection. -""") + Argument that indicates an advanced model parameter. A default stableTrendWindow value will + be used in detection. + """) stableTrendWindow?: int32; @doc(""" -Argument that indicates an advanced model parameter between 0.0 and 1.0. The lower the -value is, the larger the trend error is, which means less change point will -be accepted. -""") + Argument that indicates an advanced model parameter between 0.0 and 1.0. The lower the + value is, the larger the trend error is, which means less change point will + be accepted. + """) threshold?: float32; } @doc("Response of change point detection.") model UnivariateChangePointDetectionResult { @doc(""" -Frequency extracted from the series. Zero means no recurrent pattern has been -found. -""") + Frequency extracted from the series. Zero means no recurrent pattern has been + found. + """) @visibility("read") period?: int32; @doc(""" -Change point properties for each input point. True means -an anomaly (either negative or positive) has been detected. The index of the -array is consistent with the input series. -""") + Change point properties for each input point. True means + an anomaly (either negative or positive) has been detected. The index of the + array is consistent with the input series. + """) isChangePoint?: boolean[]; @doc("Change point confidence of each point.") diff --git a/specification/cognitiveservices/AnomalyDetector/univariate/routes.tsp b/specification/cognitiveservices/AnomalyDetector/univariate/routes.tsp index 8dd789808bd0..a27284739ded 100644 --- a/specification/cognitiveservices/AnomalyDetector/univariate/routes.tsp +++ b/specification/cognitiveservices/AnomalyDetector/univariate/routes.tsp @@ -20,11 +20,11 @@ op UnivariateServiceAction( @route("timeseries/entire/detect") @summary("Detect anomalies for the entire series in batch.") @doc(""" -This operation generates a model with an entire series. Each point is detected -with the same model. With this method, points before and after a certain point -are used to determine whether it's an anomaly. The entire detection can give the -user an overall status of the time series. -""") + This operation generates a model with an entire series. Each point is detected + with the same model. With this method, points before and after a certain point + are used to determine whether it's an anomaly. The entire detection can give the + user an overall status of the time series. + """) op detectUnivariateEntireSeries is UnivariateServiceAction< // TParams { @@ -41,9 +41,9 @@ op detectUnivariateEntireSeries is UnivariateServiceAction< @route("timeseries/last/detect") @summary("Detect anomaly status of the latest point in time series.") @doc(""" -This operation generates a model by using the points that you sent in to the API -and based on all data to determine whether the last point is anomalous. -""") + This operation generates a model by using the points that you sent in to the API + and based on all data to determine whether the last point is anomalous. + """) op detectUnivariateLastPoint is UnivariateServiceAction< // TParams { diff --git a/specification/cognitiveservices/ContentSafety/main.tsp b/specification/cognitiveservices/ContentSafety/main.tsp index 0624fff0c638..935309543c5c 100644 --- a/specification/cognitiveservices/ContentSafety/main.tsp +++ b/specification/cognitiveservices/ContentSafety/main.tsp @@ -28,9 +28,9 @@ using Azure.Core; "Analyze harmful content", { @doc(""" -Supported Cognitive Services endpoints (protocol and hostname, for example: -https://.cognitiveservices.azure.com). -""") + Supported Cognitive Services endpoints (protocol and hostname, for example: + https://.cognitiveservices.azure.com). + """) endpoint: string, } ) diff --git a/specification/cognitiveservices/ContentSafety/models.tsp b/specification/cognitiveservices/ContentSafety/models.tsp index 00ec88b0f0e9..29746094d9c9 100644 --- a/specification/cognitiveservices/ContentSafety/models.tsp +++ b/specification/cognitiveservices/ContentSafety/models.tsp @@ -293,21 +293,21 @@ model LLMResource { @doc("The request of groundedness detection.") model AnalyzeTextGroundednessOptions { @doc(""" - The domain of the text for analysis. Allowed values: Medical, Generic. - This field is optional, with a default value of Generic. - """) + The domain of the text for analysis. Allowed values: Medical, Generic. + This field is optional, with a default value of Generic. + """) domain?: GroundednessDomain = GroundednessDomain.Generic; @doc(""" - The task type for the text analysis. Type of task: QnA, Summarization. - This field is optional, with a default value of Summarization. - """) + The task type for the text analysis. Type of task: QnA, Summarization. + This field is optional, with a default value of Summarization. + """) task?: GroundednessTask = GroundednessTask.Summarization; @doc(""" - The user's question input in a QnA scenario. - This field is optional, but if the task type is set to QnA, it becomes required. - """) + The user's question input in a QnA scenario. + This field is optional, but if the task type is set to QnA, it becomes required. + """) qna?: QnAOptions; @doc("The specific text that needs to be checked.") @@ -315,21 +315,21 @@ model AnalyzeTextGroundednessOptions { text: string; @doc(""" - Leverages a vast array of grounding sources to validate AI-generated text. - Limit: Restrictions on the total amount of grounding sources that can be analyzed in a single request are 55K characters. - """) + Leverages a vast array of grounding sources to validate AI-generated text. + Limit: Restrictions on the total amount of grounding sources that can be analyzed in a single request are 55K characters. + """) groundingSources: string[]; @doc(""" - A value indicating if the output includes an explanation for the identified groundedness. - This field is optional, with a default value of false. - """) + A value indicating if the output includes an explanation for the identified groundedness. + This field is optional, with a default value of false. + """) reasoning?: boolean; @doc(""" - Connection details for the LLM resource. - This field will be used only when the 'reasoning' field is set to true; otherwise, it will be ignored. - """) + Connection details for the LLM resource. + This field will be used only when the 'reasoning' field is set to true; otherwise, it will be ignored. + """) llmResource?: LLMResource; } @@ -359,9 +359,9 @@ model UngroundednessDetails { length: IndexDetails; @doc(""" - The explanation for detected ungroundedness, enhancing understanding. - Only when the 'reasoning' field in the input is set to true 'reason' field will be returned. - """) + The explanation for detected ungroundedness, enhancing understanding. + Only when the 'reasoning' field in the input is set to true 'reason' field will be returned. + """) reason?: string; } @@ -372,10 +372,10 @@ model AnalyzeTextGroundednessResult { ungroundedDetected: boolean; @doc(""" - Specifies the proportion of the text identified as ungrounded, - expressed as a decimal between 0 and 1, - where 0 indicates no grounded content and 1 indicates entirely grounded content.. - """) + Specifies the proportion of the text identified as ungrounded, + expressed as a decimal between 0 and 1, + where 0 indicates no grounded content and 1 indicates entirely grounded content.. + """) ungroundedPercentage: float32; @doc("Provides insights into ungrounded content with specific examples and percentages.") diff --git a/specification/cognitiveservices/ContentSafety/tspconfig.yaml b/specification/cognitiveservices/ContentSafety/tspconfig.yaml index f3c9fb98dec7..53e30575b6ce 100644 --- a/specification/cognitiveservices/ContentSafety/tspconfig.yaml +++ b/specification/cognitiveservices/ContentSafety/tspconfig.yaml @@ -11,6 +11,7 @@ options: emitter-output-dir: "{project-root}/../" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/contentsafety.json" azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" examples-directory: ./examples omit-unreachable-types: true "@azure-tools/typespec-python": diff --git a/specification/cognitiveservices/Language.AnalyzeText/tspconfig.yaml b/specification/cognitiveservices/Language.AnalyzeText/tspconfig.yaml index ac7c86eb9562..1dd04139383f 100644 --- a/specification/cognitiveservices/Language.AnalyzeText/tspconfig.yaml +++ b/specification/cognitiveservices/Language.AnalyzeText/tspconfig.yaml @@ -10,6 +10,7 @@ options: "@azure-tools/typespec-autorest": omit-unreachable-types: true azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/Language/{version-status}/{version}/analyzetext.json" diff --git a/specification/cognitiveservices/Language.Conversations/tspconfig.yaml b/specification/cognitiveservices/Language.Conversations/tspconfig.yaml index 4d16c73d3258..f6fec2779b39 100644 --- a/specification/cognitiveservices/Language.Conversations/tspconfig.yaml +++ b/specification/cognitiveservices/Language.Conversations/tspconfig.yaml @@ -10,6 +10,7 @@ options: "@azure-tools/typespec-autorest": omit-unreachable-types: true azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/Language/{version-status}/{version}/analyzeconversations.json" diff --git a/specification/cognitiveservices/OpenAI.Inference/main.tsp b/specification/cognitiveservices/OpenAI.Inference/main.tsp index a8421a3f7fbf..8ab85d3186ad 100644 --- a/specification/cognitiveservices/OpenAI.Inference/main.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/main.tsp @@ -30,9 +30,9 @@ using TypeSpec.Versioning; "Azure OpenAI APIs for completions and search", { @doc(""" -Supported Cognitive Services endpoints (protocol and hostname, for example: -https://westus.api.cognitive.microsoft.com). -""") + Supported Cognitive Services endpoints (protocol and hostname, for example: + https://westus.api.cognitive.microsoft.com). + """) endpoint: string, } ) diff --git a/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_speech.tsp b/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_speech.tsp index c6c28276b3ba..ffd791b045f6 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_speech.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_speech.tsp @@ -78,8 +78,8 @@ model SpeechGenerationOptions { speed?: float32 = 1.0; @doc(""" - The model to use for this text-to-speech request. - """) + The model to use for this text-to-speech request. + """) // Implementation note: developer-facing specification of deployment or model by clients should be controlled either // via an operation parameter or by this request body field -- but only one of those. This field should be hidden by // clients if operation parameters are used and populated into the request body on an as-needed basis. diff --git a/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_transcription.tsp b/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_transcription.tsp index bed16d4c7338..97b7963aa9ff 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_transcription.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_transcription.tsp @@ -39,78 +39,78 @@ union AudioTranscriptionTimestampGranularity { string, @doc(""" - Indicates that responses should include timing information about each transcribed word. Note that generating word - timestamp information will incur additional response latency. - """) + Indicates that responses should include timing information about each transcribed word. Note that generating word + timestamp information will incur additional response latency. + """) word: "word", @doc(""" - Indicates that responses should include timing and other information about each transcribed audio segment. Audio - segment timestamp information does not incur any additional latency. - """) + Indicates that responses should include timing and other information about each transcribed audio segment. Audio + segment timestamp information does not incur any additional latency. + """) segment: "segment", } @doc(""" -The configuration information for an audio transcription request. -""") + The configuration information for an audio transcription request. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model AudioTranscriptionOptions { @doc(""" - The audio data to transcribe. This must be the binary content of a file in one of the supported media formats: - flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm. - """) + The audio data to transcribe. This must be the binary content of a file in one of the supported media formats: + flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm. + """) @clientName("AudioData", "csharp") file: bytes; @doc(""" - The optional filename or descriptive identifier to associate with with the audio data. - """) + The optional filename or descriptive identifier to associate with with the audio data. + """) // Note: although this isn't explicitly part of the request schema per documentation, it is present via the encoded // content-disposition header for the binary section of the multipart/form-data content. filename?: string; @doc(""" - The requested format of the transcription response data, which will influence the content and detail of the result. - """) + The requested format of the transcription response data, which will influence the content and detail of the result. + """) @encodedName("application/json", "response_format") responseFormat?: AudioTranscriptionFormat; @doc(""" - The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code - such as 'en' or 'fr'. - Providing this known input language is optional but may improve the accuracy and/or latency of transcription. - """) + The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code + such as 'en' or 'fr'. + Providing this known input language is optional but may improve the accuracy and/or latency of transcription. + """) language?: string; @doc(""" - An optional hint to guide the model's style or continue from a prior audio segment. The written language of the - prompt should match the primary spoken language of the audio data. - """) + An optional hint to guide the model's style or continue from a prior audio segment. The written language of the + prompt should match the primary spoken language of the audio data. + """) prompt?: string; @doc(""" - The sampling temperature, between 0 and 1. - Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. - If set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit. - """) + The sampling temperature, between 0 and 1. + Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. + If set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit. + """) temperature?: float32; @doc(""" - The timestamp granularities to populate for this transcription. - `response_format` must be set `verbose_json` to use timestamp granularities. - Either or both of these options are supported: `word`, or `segment`. - Note: There is no additional latency for segment timestamps, but generating word timestamps incurs additional latency. - """) + The timestamp granularities to populate for this transcription. + `response_format` must be set `verbose_json` to use timestamp granularities. + Either or both of these options are supported: `word`, or `segment`. + Note: There is no additional latency for segment timestamps, but generating word timestamps incurs additional latency. + """) @added(ServiceApiVersions.v2024_04_01_Preview) @encodedName("application/json", "timestamp_granularities") - timestampGranularities?: AudioTranscriptionTimestampGranularity[] = [ + timestampGranularities?: AudioTranscriptionTimestampGranularity[] = #[ AudioTranscriptionTimestampGranularity.segment ]; @doc(""" - The model to use for this transcription request. - """) + The model to use for this transcription request. + """) // Implementation note: developer-facing specification of deployment or model by clients should be controlled either // via an operation parameter or by this request body field -- but only one of those. This field should be hidden by // clients if operation parameters are used and populated into the request body on an as-needed basis. @@ -119,10 +119,10 @@ model AudioTranscriptionOptions { } @doc(""" -Extended information about a single segment of transcribed audio data. -Segments generally represent roughly 5-10 seconds of speech. Segment boundaries typically occur between words but not -necessarily sentences. -""") + Extended information about a single segment of transcribed audio data. + Segments generally represent roughly 5-10 seconds of speech. Segment boundaries typically occur between words but not + necessarily sentences. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model AudioTranscriptionSegment { @doc("The 0-based index of this segment within a transcription.") @@ -160,12 +160,12 @@ model AudioTranscriptionSegment { tokens: int32[]; @doc(""" - The seek position associated with the processing of this audio segment. - Seek positions are expressed as hundredths of seconds. - The model may process several segments from a single seek position, so while the seek position will never represent - a later time than the segment's start, the segment's start may represent a significantly later time than the - segment's associated seek position. - """) + The seek position associated with the processing of this audio segment. + Seek positions are expressed as hundredths of seconds. + The model may process several segments from a single seek position, so while the seek position will never represent + a later time than the segment's start, the segment's start may represent a significantly later time than the + segment's associated seek position. + """) seek: int32; } @@ -195,9 +195,9 @@ model AudioTranscription { task?: AudioTaskLabel; @doc(""" - The spoken language that was detected in the transcribed audio data. - This is expressed as a two-letter ISO-639-1 language code like 'en' or 'fr'. - """) + The spoken language that was detected in the transcribed audio data. + This is expressed as a two-letter ISO-639-1 language code like 'en' or 'fr'. + """) language?: string; @doc("The total duration of the audio processed to produce accompanying transcription information.") @@ -205,13 +205,13 @@ model AudioTranscription { duration?: duration; @doc(""" - A collection of information about the timing, probabilities, and other detail of each processed audio segment. - """) + A collection of information about the timing, probabilities, and other detail of each processed audio segment. + """) segments?: AudioTranscriptionSegment[]; @doc(""" - A collection of information about the timing of each processed word. - """) + A collection of information about the timing of each processed word. + """) @added(ServiceApiVersions.v2024_04_01_Preview) words?: AudioTranscriptionWord[]; } diff --git a/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_translation.tsp b/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_translation.tsp index 35bc3ee58384..9c9733e9135d 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_translation.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/audio/audio_translation.tsp @@ -34,46 +34,46 @@ union AudioTranslationFormat { } @doc(""" -The configuration information for an audio translation request. -""") + The configuration information for an audio translation request. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model AudioTranslationOptions { @doc(""" - The audio data to translate. This must be the binary content of a file in one of the supported media formats: - flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm. - """) + The audio data to translate. This must be the binary content of a file in one of the supported media formats: + flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm. + """) @clientName("AudioData", "csharp") file: bytes; @doc(""" - The optional filename or descriptive identifier to associate with with the audio data. - """) + The optional filename or descriptive identifier to associate with with the audio data. + """) // Note: although this isn't explicitly part of the request schema per documentation, it is present via the encoded // content-disposition header for the binary section of the multipart/form-data content. filename?: string; @doc(""" - The requested format of the translation response data, which will influence the content and detail of the result. - """) + The requested format of the translation response data, which will influence the content and detail of the result. + """) @encodedName("application/json", "response_format") responseFormat?: AudioTranslationFormat; @doc(""" - An optional hint to guide the model's style or continue from a prior audio segment. The written language of the - prompt should match the primary spoken language of the audio data. - """) + An optional hint to guide the model's style or continue from a prior audio segment. The written language of the + prompt should match the primary spoken language of the audio data. + """) prompt?: string; @doc(""" - The sampling temperature, between 0 and 1. - Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. - If set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit. - """) + The sampling temperature, between 0 and 1. + Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. + If set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit. + """) temperature?: float32; @doc(""" - The model to use for this translation request. - """) + The model to use for this translation request. + """) // Implementation note: developer-facing specification of deployment or model by clients should be controlled either // via an operation parameter or by this request body field -- but only one of those. This field should be hidden by // clients if operation parameters are used and populated into the request body on an as-needed basis. @@ -82,10 +82,10 @@ model AudioTranslationOptions { } @doc(""" -Extended information about a single segment of translated audio data. -Segments generally represent roughly 5-10 seconds of speech. Segment boundaries typically occur between words but not -necessarily sentences. -""") + Extended information about a single segment of translated audio data. + Segments generally represent roughly 5-10 seconds of speech. Segment boundaries typically occur between words but not + necessarily sentences. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model AudioTranslationSegment { @doc("The 0-based index of this segment within a translation.") @@ -123,12 +123,12 @@ model AudioTranslationSegment { tokens: int32[]; @doc(""" - The seek position associated with the processing of this audio segment. - Seek positions are expressed as hundredths of seconds. - The model may process several segments from a single seek position, so while the seek position will never represent - a later time than the segment's start, the segment's start may represent a significantly later time than the - segment's associated seek position. - """) + The seek position associated with the processing of this audio segment. + Seek positions are expressed as hundredths of seconds. + The model may process several segments from a single seek position, so while the seek position will never represent + a later time than the segment's start, the segment's start may represent a significantly later time than the + segment's associated seek position. + """) seek: int32; } @@ -143,9 +143,9 @@ model AudioTranslation { task?: AudioTaskLabel; @doc(""" - The spoken language that was detected in the translated audio data. - This is expressed as a two-letter ISO-639-1 language code like 'en' or 'fr'. - """) + The spoken language that was detected in the translated audio data. + This is expressed as a two-letter ISO-639-1 language code like 'en' or 'fr'. + """) language?: string; @doc("The total duration of the audio processed to produce accompanying translation information.") @@ -153,7 +153,7 @@ model AudioTranslation { duration?: duration; @doc(""" - A collection of information about the timing, probabilities, and other detail of each processed audio segment. - """) + A collection of information about the timing, probabilities, and other detail of each processed audio segment. + """) segments?: AudioTranslationSegment[]; } diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_chat_extensions.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_chat_extensions.tsp index 3f30a4ccced3..cd837e3976a5 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_chat_extensions.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_chat_extensions.tsp @@ -13,10 +13,10 @@ using TypeSpec.Versioning; @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" - A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat - completions request that should use Azure OpenAI chat extensions to augment the response behavior. - The use of this configuration is compatible only with Azure OpenAI. -""") + A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat + completions request that should use Azure OpenAI chat extensions to augment the response behavior. + The use of this configuration is compatible only with Azure OpenAI. + """) union AzureChatExtensionType { string, @@ -39,31 +39,31 @@ union AzureChatExtensionType { @discriminator("type") @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" - A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat - completions request that should use Azure OpenAI chat extensions to augment the response behavior. - The use of this configuration is compatible only with Azure OpenAI. -""") + A representation of configuration data for a single Azure OpenAI chat extension. This will be used by a chat + completions request that should use Azure OpenAI chat extensions to augment the response behavior. + The use of this configuration is compatible only with Azure OpenAI. + """) model AzureChatExtensionConfiguration { @doc(""" - The label for the type of an Azure chat extension. This typically corresponds to a matching Azure resource. - Azure chat extensions are only compatible with Azure OpenAI. - """) + The label for the type of an Azure chat extension. This typically corresponds to a matching Azure resource. + Azure chat extensions are only compatible with Azure OpenAI. + """) type: AzureChatExtensionType; } @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" - A representation of the additional context information available when Azure OpenAI chat extensions are involved - in the generation of a corresponding chat completions response. This context information is only populated when - using an Azure OpenAI request configured to use a matching extension. -""") + A representation of the additional context information available when Azure OpenAI chat extensions are involved + in the generation of a corresponding chat completions response. This context information is only populated when + using an Azure OpenAI request configured to use a matching extension. + """) model AzureChatExtensionsMessageContext { @doc(""" - The contextual information associated with the Azure chat extensions used for a chat completions request. - These messages describe the data source retrievals, plugin invocations, and other intermediate steps taken in the - course of generating a chat completions response that was augmented by capabilities from Azure OpenAI chat - extensions. - """) + The contextual information associated with the Azure chat extensions used for a chat completions request. + These messages describe the data source retrievals, plugin invocations, and other intermediate steps taken in the + course of generating a chat completions response that was augmented by capabilities from Azure OpenAI chat + extensions. + """) citations?: AzureChatExtensionDataSourceResponseCitation[]; @doc("The detected intent from the chat history, used to pass to the next turn to carry over the context.") @@ -77,10 +77,10 @@ model AzureChatExtensionsMessageContext { @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -A single instance of additional context information available when Azure OpenAI chat extensions are involved -in the generation of a corresponding chat completions response. This context information is only populated when -using an Azure OpenAI request configured to use a matching extension. -""") + A single instance of additional context information available when Azure OpenAI chat extensions are involved + in the generation of a corresponding chat completions response. This context information is only populated when + using an Azure OpenAI request configured to use a matching extension. + """) model AzureChatExtensionDataSourceResponseCitation { @doc("The content of the citation.") content: string; @@ -170,9 +170,9 @@ model AzureChatEnhancementConfiguration { @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -Represents the output results of Azure enhancements to chat completions, as configured via the matching input provided -in the request. -""") + Represents the output results of Azure enhancements to chat completions, as configured via the matching input provided + in the request. + """) model AzureChatEnhancements { @doc("The grounding enhancement that returns the bounding box of the objects detected in the image.") grounding?: AzureGroundingEnhancement; @@ -202,9 +202,9 @@ model AzureGroundingEnhancementLineSpan { text: string; @doc(""" - The character offset within the text where the span begins. This offset is defined as the position of the first - character of the span, counting from the start of the text as Unicode codepoints. - """) + The character offset within the text where the span begins. This offset is defined as the position of the first + character of the span, counting from the start of the text as Unicode codepoints. + """) offset: int32; @doc("The length of the span in characters, measured in Unicode codepoints.") diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_content_filtering.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_content_filtering.tsp index 75bfaad1ed13..1b5be626f6cc 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_content_filtering.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/azure_content_filtering.tsp @@ -15,32 +15,32 @@ union ContentFilterSeverity { string, @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. - """) + 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. - """) + 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. - """) + 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. - """) + 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", } @@ -60,32 +60,32 @@ alias FilteredResultBase = { alias ContentFilterResultsBase = { @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. - """) + 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. - """) + 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. - """) + 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. - """) + Describes language related to physical actions intended to purposely hurt, injure, + or damage one’s body, or kill oneself. + """) @encodedName("application/json", "self_harm") selfHarm?: ContentFilterResult; @@ -103,9 +103,9 @@ alias ContentFilterResultsBase = { customBlocklists?: ContentFilterDetailedResults; @doc(""" - Describes an error returned if the content filtering system is - down or otherwise unable to complete the operation in time. - """) + Describes an error returned if the content filtering system is + down or otherwise unable to complete the operation in time. + """) error?: Azure.Core.Foundations.Error; }; @@ -142,8 +142,8 @@ model ContentFilterResultsForChoice { @added(ServiceApiVersions.v2023_06_01_Preview) @doc(""" -Content filtering results for a single prompt in the request. -""") + Content filtering results for a single prompt in the request. + """) model ContentFilterResultsForPrompt { @doc("The index of this prompt in the set of prompt results") @encodedName("application/json", "prompt_index") diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_completions.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_completions.tsp index 913808db5f30..e13ed63929d4 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_completions.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_completions.tsp @@ -19,19 +19,20 @@ namespace Azure.OpenAI; @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -An abstract representation of a response format configuration usable by Chat Completions. Can be used to enable JSON -mode. -""") + An abstract representation of a response format configuration usable by Chat Completions. Can be used to enable JSON + mode. + """) @discriminator("type") model ChatCompletionsResponseFormat { + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The discriminated type for the response format.") type: string; } @doc(""" -The standard Chat Completions response format that can freely generate text and is not guaranteed to produce response -content that adheres to a specific schema. -""") + The standard Chat Completions response format that can freely generate text and is not guaranteed to produce response + content that adheres to a specific schema. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model ChatCompletionsTextResponseFormat extends ChatCompletionsResponseFormat { @doc("The discriminated object type, which is always 'text' for this format.") @@ -39,8 +40,8 @@ model ChatCompletionsTextResponseFormat extends ChatCompletionsResponseFormat { } @doc(""" -A response format for Chat Completions that restricts responses to emitting valid JSON objects. -""") + A response format for Chat Completions that restricts responses to emitting valid JSON objects. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model ChatCompletionsJsonResponseFormat extends ChatCompletionsResponseFormat { @doc("The discriminated object type, which is always 'json_object' for this format.") @@ -48,10 +49,10 @@ model ChatCompletionsJsonResponseFormat extends ChatCompletionsResponseFormat { } @doc(""" -The configuration information for a chat completions request. -Completions support a wide variety of tasks and generate text that continues from or "completes" -provided prompt data. -""") + The configuration information for a chat completions request. + Completions support a wide variety of tasks and generate text that continues from or "completes" + provided prompt data. + """) @added(ServiceApiVersions.v2023_05_15) model ChatCompletionsOptions { @doc(""" @@ -166,9 +167,9 @@ model ChatCompletionsOptions { `model`?: string; @doc(""" - The configuration entries for Azure OpenAI chat extensions that use them. - This additional specification is only compatible with Azure OpenAI. - """) + The configuration entries for Azure OpenAI chat extensions that use them. + This additional specification is only compatible with Azure OpenAI. + """) // Note: client libraries should represent the `dataSources` information for Azure OpenAI chat extensions in a way // that differs from the wire format. To wit: the array should appear on a custom sub-options type (as if // the array were in an appropriate parent JSON object on the wire) and type/field names should converge on @@ -185,25 +186,25 @@ model ChatCompletionsOptions { @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" - If specified, the system will make a best effort to sample deterministically such that repeated requests with the - same seed and parameters should return the same result. Determinism is not guaranteed, and you should refer to the - system_fingerprint response parameter to monitor changes in the backend." - """) + If specified, the system will make a best effort to sample deterministically such that repeated requests with the + same seed and parameters should return the same result. Determinism is not guaranteed, and you should refer to the + system_fingerprint response parameter to monitor changes in the backend." + """) seed?: int64; #suppress "@azure-tools/typespec-azure-core/no-nullable" "OpenAI uses explicitly nullable types" @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" - Whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each output token returned in the `content` of `message`. This option is currently not available on the `gpt-4-vision-preview` model. - """) + Whether to return log probabilities of the output tokens or not. If true, returns the log probabilities of each output token returned in the `content` of `message`. This option is currently not available on the `gpt-4-vision-preview` model. + """) logprobs?: boolean | null = false; #suppress "@azure-tools/typespec-azure-core/casing-style" "OpenAI uses wire-format snake_casing" #suppress "@azure-tools/typespec-azure-core/no-nullable" "OpenAI uses explicitly required, nullable types" @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" - An integer between 0 and 5 specifying the number of most likely tokens to return at each token position, each with an associated log probability. `logprobs` must be set to `true` if this parameter is used. - """) + An integer between 0 and 5 specifying the number of most likely tokens to return at each token position, each with an associated log probability. `logprobs` must be set to `true` if this parameter is used. + """) top_logprobs?: int32 | null; @encodedName("application/json", "response_format") @@ -218,16 +219,16 @@ model ChatCompletionsOptions { @encodedName("application/json", "tool_choice") @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" - If specified, the model will configure which of the provided tools it can use for the chat completions response. - """) + If specified, the model will configure which of the provided tools it can use for the chat completions response. + """) toolChoice?: ChatCompletionsToolSelection; } @doc(""" -The representation of a single prompt completion as part of an overall chat completions request. -Generally, `n` choices are generated per provided prompt with a default value of 1. -Token limits and other settings may limit the number of choices generated. -""") + The representation of a single prompt completion as part of an overall chat completions request. + Generally, `n` choices are generated per provided prompt with a default value of 1. + Token limits and other settings may limit the number of choices generated. + """) @added(ServiceApiVersions.v2023_05_15) model ChatChoice { @doc("The chat message for a given chat completions prompt.") @@ -250,9 +251,9 @@ model ChatChoice { // Note: this property is currently speculative via observation and not yet documented anywhere. @doc(""" - The reason the model stopped generating tokens, together with any applicable details. - This structured representation replaces 'finish_reason' for some models. - """) + The reason the model stopped generating tokens, together with any applicable details. + This structured representation replaces 'finish_reason' for some models. + """) @added(ServiceApiVersions.v2024_02_15_Preview) @encodedName("application/json", "finish_details") finishDetails?: ChatFinishDetails; @@ -272,18 +273,18 @@ model ChatChoice { @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" - Represents the output results of Azure OpenAI enhancements to chat completions, as configured via the matching input - provided in the request. This supplementary information is only available when using Azure OpenAI and only when the - request is configured to use enhancements. - """) + Represents the output results of Azure OpenAI enhancements to chat completions, as configured via the matching input + provided in the request. This supplementary information is only available when using Azure OpenAI and only when the + request is configured to use enhancements. + """) enhancements?: AzureChatEnhancements; } @doc(""" -Representation of the response data from a chat completions request. -Completions support a wide variety of tasks and generate text that continues from or "completes" -provided prompt data. -""") + Representation of the response data from a chat completions request. + Completions support a wide variety of tasks and generate text that continues from or "completes" + provided prompt data. + """) @added(ServiceApiVersions.v2023_05_15) model ChatCompletions { @doc("A unique identifier associated with this chat completions response.") @@ -308,9 +309,9 @@ model ChatCompletions { `model`?: string; @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. - """) + 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) @encodedName("application/json", "prompt_filter_results") promptFilterResults?: ContentFilterResultsForPrompt[]; @@ -318,9 +319,9 @@ model ChatCompletions { @added(ServiceApiVersions.v2024_02_15_Preview) @encodedName("application/json", "system_fingerprint") @doc(""" - Can be used in conjunction with the `seed` request parameter to understand when backend changes have been made that - might impact determinism. - """) + Can be used in conjunction with the `seed` request parameter to understand when backend changes have been made that + might impact determinism. + """) systemFingerprint?: string; @doc(""" @@ -333,6 +334,7 @@ model ChatCompletions { @discriminator("type") @doc("An abstract representation of structured information about why a chat completions response terminated.") model ChatFinishDetails { + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The object type.") type: string; } @@ -348,9 +350,9 @@ model StopFinishDetails extends ChatFinishDetails { } @doc(""" -A structured representation of a stop reason that signifies a token limit was reached before the model could naturally -complete. -""") + A structured representation of a stop reason that signifies a token limit was reached before the model could naturally + complete. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model MaxTokensFinishDetails extends ChatFinishDetails { @doc("The object type, which is always 'max_tokens' for this object.") @@ -359,20 +361,20 @@ model MaxTokensFinishDetails extends ChatFinishDetails { @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -Log probability information for a choice, as requested via 'logprobs' and 'top_logprobs'. -""") + Log probability information for a choice, as requested via 'logprobs' and 'top_logprobs'. + """) model ChatChoiceLogProbabilityInfo { #suppress "@azure-tools/typespec-azure-core/no-nullable" "OpenAI uses explicitly required, nullable types" @doc(""" - The list of log probability information entries for the choice's message content tokens, as requested via the 'logprobs' option. - """) + The list of log probability information entries for the choice's message content tokens, as requested via the 'logprobs' option. + """) content: ChatTokenLogProbabilityResult[] | null; } @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -A representation of the log probability information for a single content token, including a list of most likely tokens if 'top_logprobs' were requested. -""") + A representation of the log probability information for a single content token, including a list of most likely tokens if 'top_logprobs' were requested. + """) model ChatTokenLogProbabilityResult { ...ChatTokenLogProbabilityInfo; @@ -384,8 +386,8 @@ model ChatTokenLogProbabilityResult { @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -A representation of the log probability information for a single message content token. -""") + A representation of the log probability information for a single message content token. + """) model ChatTokenLogProbabilityInfo { @doc("The message content token.") token: string; @@ -395,7 +397,7 @@ model ChatTokenLogProbabilityInfo { #suppress "@azure-tools/typespec-azure-core/no-nullable" "OpenAI uses explicitly required, nullable types" @doc(""" - A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be null if there is no bytes representation for the token. - """) + A list of integers representing the UTF-8 bytes representation of the token. Useful in instances where characters are represented by multiple tokens and their byte representations must be combined to generate the correct text representation. Can be null if there is no bytes representation for the token. + """) bytes: int32[] | null; } diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_messages.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_messages.tsp index 1aed3aee3896..702a4c0c9056 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_messages.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/chat_messages.tsp @@ -20,6 +20,7 @@ alias ChatMessageContent = string | ChatMessageContentItem[]; @doc("An abstract representation of a structured content item within a chat message.") @discriminator("type") model ChatMessageContentItem { + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The discriminated object type.") type: string; } @@ -43,15 +44,15 @@ union ChatMessageImageDetailLevel { auto: "auto", @doc(""" - Specifies that image evaluation should be constrained to the 'low-res' model that may be faster and consume fewer - tokens but may also be less accurate for highly detailed images. - """) + Specifies that image evaluation should be constrained to the 'low-res' model that may be faster and consume fewer + tokens but may also be less accurate for highly detailed images. + """) low: "low", @doc(""" - Specifies that image evaluation should enable the 'high-res' model that may be more accurate for highly detailed - images but may also be slower and consume more tokens. - """) + Specifies that image evaluation should enable the 'high-res' model that may be more accurate for highly detailed + images but may also be slower and consume more tokens. + """) high: "high", } @@ -73,9 +74,9 @@ model ChatMessageImageUrl { url: url; @doc(""" - The evaluation quality setting to use, which controls relative prioritization of speed, token consumption, and - accuracy. - """) + The evaluation quality setting to use, which controls relative prioritization of speed, token consumption, and + accuracy. + """) detail?: ChatMessageImageDetailLevel; } @@ -89,9 +90,9 @@ model ChatRequestMessage { @added(ServiceApiVersions.v2023_05_15) @doc(""" -A request chat message containing system instructions that influence how the model will generate a chat completions -response. -""") + A request chat message containing system instructions that influence how the model will generate a chat completions + response. + """) model ChatRequestSystemMessage extends ChatRequestMessage { @doc("The chat role associated with this message, which is always 'system' for system messages.") role: ChatRole.system; @@ -132,17 +133,17 @@ model ChatRequestAssistantMessage extends ChatRequestMessage { @encodedName("application/json", "tool_calls") @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" - The tool calls that must be resolved and have their outputs appended to subsequent input messages for the chat - completions request to resolve as configured. - """) + The tool calls that must be resolved and have their outputs appended to subsequent input messages for the chat + completions request to resolve as configured. + """) toolCalls?: ChatCompletionsToolCall[]; @added(ServiceApiVersions.v2023_07_01_Preview) @encodedName("application/json", "function_call") @doc(""" - The function call that must be resolved and have its output appended to subsequent input messages for the chat - completions request to resolve as configured. - """) + The function call that must be resolved and have its output appended to subsequent input messages for the chat + completions request to resolve as configured. + """) functionCall?: FunctionCall; } @@ -188,23 +189,23 @@ model ChatResponseMessage { @added(ServiceApiVersions.v2024_02_15_Preview) @encodedName("application/json", "tool_calls") @doc(""" - The tool calls that must be resolved and have their outputs appended to subsequent input messages for the chat - completions request to resolve as configured. - """) + The tool calls that must be resolved and have their outputs appended to subsequent input messages for the chat + completions request to resolve as configured. + """) toolCalls?: ChatCompletionsToolCall[]; @added(ServiceApiVersions.v2023_07_01_Preview) @encodedName("application/json", "function_call") @doc(""" - The function call that must be resolved and have its output appended to subsequent input messages for the chat - completions request to resolve as configured. - """) + The function call that must be resolved and have its output appended to subsequent input messages for the chat + completions request to resolve as configured. + """) functionCall?: FunctionCall; @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" - If Azure OpenAI chat extensions are configured, this array represents the incremental steps performed by those - extensions while processing the chat completions request. - """) + If Azure OpenAI chat extensions are configured, this array represents the incremental steps performed by those + extensions while processing the chat completions request. + """) context?: AzureChatExtensionsMessageContext; } diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/common.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/common.tsp index 4bf328ea298c..219388cff428 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/common.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/common.tsp @@ -1,15 +1,17 @@ import "@typespec/versioning"; +import "@typespec/http"; import "@azure-tools/typespec-azure-core"; using TypeSpec.Versioning; +using Http; namespace Azure.OpenAI; @doc(""" -Representation of the token counts processed for a completions request. -Counts consider all tokens across prompts, choices, choice alternates, best_of generations, and -other consumers. -""") + Representation of the token counts processed for a completions request. + Counts consider all tokens across prompts, choices, choice alternates, best_of generations, and + other consumers. + """) model CompletionsUsage { @doc("The number of tokens generated across all completions emissions.") @encodedName("application/json", "completion_tokens") @@ -25,8 +27,8 @@ model CompletionsUsage { } @doc(""" -Representation of the manner in which a completions response concluded. -""") + Representation of the manner in which a completions response concluded. + """) union CompletionsFinishReason { string, diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/completions_create.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/completions_create.tsp index c48dc3bb5782..0fba24798f4a 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/completions_create.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/completions_create.tsp @@ -14,10 +14,10 @@ using Azure.ClientGenerator.Core; namespace Azure.OpenAI; @doc(""" -The configuration information for a completions request. -Completions support a wide variety of tasks and generate text that continues from or "completes" -provided prompt data. -""") + The configuration information for a completions request. + Completions support a wide variety of tasks and generate text that continues from or "completes" + provided prompt data. + """) model CompletionsOptions { @doc("The prompts to generate completions from.") @clientName("Prompts", "csharp") @@ -142,10 +142,10 @@ model CompletionsOptions { } @doc(""" -Representation of the response data from a completions request. -Completions support a wide variety of tasks and generate text that continues from or "completes" -provided prompt data. -""") + Representation of the response data from a completions request. + Completions support a wide variety of tasks and generate text that continues from or "completes" + provided prompt data. + """) model Completions { @doc("A unique identifier associated with this completions response.") id: string; @@ -159,9 +159,9 @@ model Completions { 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. - """) + 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) @encodedName("application/json", "prompt_filter_results") promptFilterResults?: ContentFilterResultsForPrompt[]; @@ -180,10 +180,10 @@ model Completions { } @doc(""" -The representation of a single prompt completion as part of an overall completions request. -Generally, `n` choices are generated per provided prompt with a default value of 1. -Token limits and other settings may limit the number of choices generated. -""") + The representation of a single prompt completion as part of an overall completions request. + Generally, `n` choices are generated per provided prompt with a default value of 1. + Token limits and other settings may limit the number of choices generated. + """) model Choice { @doc("The generated text for a given completions prompt.") text: string; @@ -192,10 +192,10 @@ model Choice { 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. - """) + 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) @encodedName("application/json", "content_filter_results") contentFilterResults?: ContentFilterResultsForChoice; @@ -215,8 +215,8 @@ model Choice { alias NullableFloat = float32 | null; @doc(""" -Representation of a log probabilities model for a completions generation. -""") + Representation of a log probabilities model for a completions generation. + """) model CompletionsLogProbabilityModel { @doc("The textual forms of tokens evaluated in this probability model.") tokens: string[]; diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/authentication.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/authentication.tsp index 9b677da801a8..63c04068f05a 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/authentication.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/authentication.tsp @@ -5,8 +5,8 @@ namespace Azure.OpenAI; using TypeSpec.Versioning; @doc(""" -The authentication types supported with Azure OpenAI On Your Data. -""") + The authentication types supported with Azure OpenAI On Your Data. + """) @added(ServiceApiVersions.v2024_02_15_Preview) union OnYourDataAuthenticationType { string, @@ -42,8 +42,8 @@ model OnYourDataAuthenticationOptions { } @doc(""" -The authentication options for Azure OpenAI On Your Data when using an API key. -""") + The authentication options for Azure OpenAI On Your Data when using an API key. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model OnYourDataApiKeyAuthenticationOptions extends OnYourDataAuthenticationOptions { @@ -55,8 +55,8 @@ model OnYourDataApiKeyAuthenticationOptions } @doc(""" -The authentication options for Azure OpenAI On Your Data when using a connection string. -""") + The authentication options for Azure OpenAI On Your Data when using a connection string. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model OnYourDataConnectionStringAuthenticationOptions extends OnYourDataAuthenticationOptions { @@ -69,8 +69,8 @@ model OnYourDataConnectionStringAuthenticationOptions } @doc(""" -The authentication options for Azure OpenAI On Your Data when using an Elasticsearch key and key ID pair. -""") + The authentication options for Azure OpenAI On Your Data when using an Elasticsearch key and key ID pair. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model OnYourDataKeyAndKeyIdAuthenticationOptions extends OnYourDataAuthenticationOptions { @@ -86,8 +86,8 @@ model OnYourDataKeyAndKeyIdAuthenticationOptions } @doc(""" -The authentication options for Azure OpenAI On Your Data when using an Elasticsearch encoded API key. -""") + The authentication options for Azure OpenAI On Your Data when using an Elasticsearch encoded API key. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model OnYourDataEncodedApiKeyAuthenticationOptions extends OnYourDataAuthenticationOptions { @@ -100,8 +100,8 @@ model OnYourDataEncodedApiKeyAuthenticationOptions } @doc(""" -The authentication options for Azure OpenAI On Your Data when using access token. -""") + The authentication options for Azure OpenAI On Your Data when using access token. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model OnYourDataAccessTokenAuthenticationOptions extends OnYourDataAuthenticationOptions { @@ -114,8 +114,8 @@ model OnYourDataAccessTokenAuthenticationOptions } @doc(""" -The authentication options for Azure OpenAI On Your Data when using a system-assigned managed identity. -""") + The authentication options for Azure OpenAI On Your Data when using a system-assigned managed identity. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model OnYourDataSystemAssignedManagedIdentityAuthenticationOptions extends OnYourDataAuthenticationOptions { @@ -124,8 +124,8 @@ model OnYourDataSystemAssignedManagedIdentityAuthenticationOptions } @doc(""" -The authentication options for Azure OpenAI On Your Data when using a user-assigned managed identity. -""") + The authentication options for Azure OpenAI On Your Data when using a user-assigned managed identity. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model OnYourDataUserAssignedManagedIdentityAuthenticationOptions extends OnYourDataAuthenticationOptions { diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cosmosdb_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cosmosdb_options.tsp index a8b7d4f73fab..067e7628bd96 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cosmosdb_options.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_cosmosdb_options.tsp @@ -12,15 +12,15 @@ using Azure.ClientGenerator.Core; #suppress "@azure-tools/typespec-azure-core/casing-style" "this represents the case-sensitive wire format" @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -A specific representation of configurable options for Azure Cosmos DB when using it as an Azure OpenAI chat -extension. -""") + A specific representation of configurable options for Azure Cosmos DB when using it as an Azure OpenAI chat + extension. + """) model AzureCosmosDBChatExtensionConfiguration extends AzureChatExtensionConfiguration { @doc(""" - The type label to use when configuring Azure OpenAI chat extensions. This should typically not be changed from its - default value for Azure Cosmos DB. - """) + The type label to use when configuring Azure OpenAI chat extensions. This should typically not be changed from its + default value for Azure Cosmos DB. + """) type: AzureChatExtensionType.azureCosmosDB; @doc("The parameters to use when configuring Azure OpenAI CosmosDB chat extensions.") @@ -30,9 +30,9 @@ model AzureCosmosDBChatExtensionConfiguration #suppress "@azure-tools/typespec-azure-core/casing-style" "this represents the case-sensitive wire format" @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -Parameters to use when configuring Azure OpenAI On Your Data chat extensions when using Azure Cosmos DB for -MongoDB vCore. The supported authentication type is ConnectionString. -""") + Parameters to use when configuring Azure OpenAI On Your Data chat extensions when using Azure Cosmos DB for + MongoDB vCore. The supported authentication type is ConnectionString. + """) model AzureCosmosDBChatExtensionParameters { ...OnYourDataCommonChatExtensionConfiguration; diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_machinelearning_index_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_machinelearning_index_options.tsp index 7b567180c38f..a764b32c5f52 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_machinelearning_index_options.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_machinelearning_index_options.tsp @@ -10,15 +10,15 @@ using Azure.ClientGenerator.Core; @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -A specific representation of configurable options for Azure Machine Learning vector index when using it as an Azure -OpenAI chat extension. -""") + A specific representation of configurable options for Azure Machine Learning vector index when using it as an Azure + OpenAI chat extension. + """) model AzureMachineLearningIndexChatExtensionConfiguration extends AzureChatExtensionConfiguration { @doc(""" - The type label to use when configuring Azure OpenAI chat extensions. This should typically not be changed from its - default value for Azure Machine Learning vector index. - """) + The type label to use when configuring Azure OpenAI chat extensions. This should typically not be changed from its + default value for Azure Machine Learning vector index. + """) type: AzureChatExtensionType.azureMachineLearningIndex; @doc("The parameters for the Azure Machine Learning vector index chat extension.") diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_search_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_search_options.tsp index e2a77ff5ba98..61f0e83a0dd1 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_search_options.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/azure_search_options.tsp @@ -10,16 +10,16 @@ using TypeSpec.Versioning; using Azure.ClientGenerator.Core; @doc(""" -A specific representation of configurable options for Azure Search when using it as an Azure OpenAI chat -extension. -""") + A specific representation of configurable options for Azure Search when using it as an Azure OpenAI chat + extension. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model AzureSearchChatExtensionConfiguration extends AzureChatExtensionConfiguration { @doc(""" - The type label to use when configuring Azure OpenAI chat extensions. This should typically not be changed from its - default value for Azure Cognitive Search. - """) + The type label to use when configuring Azure OpenAI chat extensions. This should typically not be changed from its + default value for Azure Cognitive Search. + """) type: AzureChatExtensionType.azureSearch; @doc("The parameters to use when configuring Azure Search.") @@ -100,8 +100,8 @@ model AzureSearchIndexFieldMappingOptions { } @doc(""" -The type of Azure Search retrieval query that should be executed when using it as an Azure OpenAI chat extension. -""") + The type of Azure Search retrieval query that should be executed when using it as an Azure OpenAI chat extension. + """) @added(ServiceApiVersions.v2024_02_15_Preview) union AzureSearchQueryType { string, diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/common_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/common_options.tsp index 22cc07d0778c..ec91c476f801 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/common_options.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/common_options.tsp @@ -10,12 +10,12 @@ using Azure.ClientGenerator.Core; alias OnYourDataCommonChatExtensionConfiguration = { @doc(""" - The authentication method to use when accessing the defined data source. - Each data source type supports a specific set of available authentication methods; please see the documentation of - the data source for supported mechanisms. - If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) - authentication. - """) + The authentication method to use when accessing the defined data source. + Each data source type supports a specific set of available authentication methods; please see the documentation of + the data source for supported mechanisms. + If not otherwise provided, On Your Data will attempt to use System Managed Identity (default credential) + authentication. + """) @clientName("Authentication", "csharp") authentication?: OnYourDataAuthenticationOptions; diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/elasticsearch_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/elasticsearch_options.tsp index a292e0f08dc7..60b694069447 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/elasticsearch_options.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/elasticsearch_options.tsp @@ -10,15 +10,15 @@ using Azure.ClientGenerator.Core; @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -A specific representation of configurable options for Elasticsearch when using it as an Azure OpenAI chat -extension. -""") + A specific representation of configurable options for Elasticsearch when using it as an Azure OpenAI chat + extension. + """) model ElasticsearchChatExtensionConfiguration extends AzureChatExtensionConfiguration { @doc(""" - The type label to use when configuring Azure OpenAI chat extensions. This should typically not be changed from its - default value for Elasticsearch®. - """) + The type label to use when configuring Azure OpenAI chat extensions. This should typically not be changed from its + default value for Elasticsearch®. + """) type: AzureChatExtensionType.elasticsearch; @doc("The parameters to use when configuring Elasticsearch®.") @@ -86,8 +86,8 @@ model ElasticsearchIndexFieldMappingOptions { } @doc(""" -The type of Elasticsearch® retrieval query that should be executed when using it as an Azure OpenAI chat extension. -""") + The type of Elasticsearch® retrieval query that should be executed when using it as an Azure OpenAI chat extension. + """) @added(ServiceApiVersions.v2024_02_15_Preview) union ElasticsearchQueryType { string, diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/pinecone_options.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/pinecone_options.tsp index cf0acabe7017..ffd0a4f87c41 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/pinecone_options.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/pinecone_options.tsp @@ -12,15 +12,15 @@ using Azure.ClientGenerator.Core; #suppress "@azure-tools/typespec-azure-core/casing-style" "this represents the case-sensitive wire format" @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -A specific representation of configurable options for Pinecone when using it as an Azure OpenAI chat -extension. -""") + A specific representation of configurable options for Pinecone when using it as an Azure OpenAI chat + extension. + """) model PineconeChatExtensionConfiguration extends AzureChatExtensionConfiguration { @doc(""" - The type label to use when configuring Azure OpenAI chat extensions. This should typically not be changed from its - default value for Pinecone. - """) + The type label to use when configuring Azure OpenAI chat extensions. This should typically not be changed from its + default value for Pinecone. + """) type: AzureChatExtensionType.pinecone; @doc("The parameters to use when configuring Azure OpenAI chat extensions.") diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/vector_search.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/vector_search.tsp index 8fcd2f6603fe..3c16cd2371a8 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/vector_search.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/extensions/oyd/vector_search.tsp @@ -7,28 +7,28 @@ using TypeSpec.Versioning; @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -Represents the available sources Azure OpenAI On Your Data can use to configure vectorization of data for use with -vector search. -""") + Represents the available sources Azure OpenAI On Your Data can use to configure vectorization of data for use with + vector search. + """) union OnYourDataVectorizationSourceType { string, @doc(""" - Represents vectorization performed by public service calls to an Azure OpenAI embedding model. - """) + Represents vectorization performed by public service calls to an Azure OpenAI embedding model. + """) endpoint: "endpoint", @doc(""" - Represents an Ada model deployment name to use. This model deployment must be in the same Azure OpenAI resource, but - On Your Data will use this model deployment via an internal call rather than a public one, which enables vector - search even in private networks. - """) + Represents an Ada model deployment name to use. This model deployment must be in the same Azure OpenAI resource, but + On Your Data will use this model deployment via an internal call rather than a public one, which enables vector + search even in private networks. + """) deploymentName: "deployment_name", @doc(""" - Represents a specific embedding model ID as defined in the search service. - Currently only supported by Elasticsearch®. - """) + Represents a specific embedding model ID as defined in the search service. + Currently only supported by Elasticsearch®. + """) modelId: "model_id", } @@ -42,9 +42,9 @@ model OnYourDataVectorizationSource { @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based -on a public Azure OpenAI endpoint call for embeddings. -""") + The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based + on a public Azure OpenAI endpoint call for embeddings. + """) model OnYourDataEndpointVectorizationSource extends OnYourDataVectorizationSource { @doc("The type of vectorization source to use. Always 'Endpoint' for this type.") @@ -61,9 +61,9 @@ model OnYourDataEndpointVectorizationSource @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based -on an internal embeddings model deployment name in the same Azure OpenAI resource. -""") + The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based + on an internal embeddings model deployment name in the same Azure OpenAI resource. + """) model OnYourDataDeploymentNameVectorizationSource extends OnYourDataVectorizationSource { @doc("The type of vectorization source to use. Always 'DeploymentName' for this type.") @@ -80,9 +80,9 @@ model OnYourDataDeploymentNameVectorizationSource @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based -on a search service model ID. Currently only supported by Elasticsearch®. -""") + The details of a a vectorization source, used by Azure OpenAI On Your Data when applying vector search, that is based + on a search service model ID. Currently only supported by Elasticsearch®. + """) model OnYourDataModelIdVectorizationSource extends OnYourDataVectorizationSource { @doc("The type of vectorization source to use. Always 'ModelId' for this type.") diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/functions.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/functions.tsp index cad83db52fdc..51201f0aa33f 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/functions.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/functions.tsp @@ -5,9 +5,9 @@ namespace Azure.OpenAI; using TypeSpec.Versioning; @doc(""" -A structure that specifies the exact name of a specific, request-provided function to use when processing a chat -completions operation. -""") + A structure that specifies the exact name of a specific, request-provided function to use when processing a chat + completions operation. + """) @added(ServiceApiVersions.v2023_07_01_Preview) model FunctionName { @doc("The name of the function to call.") @@ -15,23 +15,23 @@ model FunctionName { } @doc(""" -The collection of predefined behaviors for handling request-provided function information in a chat completions -operation. -""") + The collection of predefined behaviors for handling request-provided function information in a chat completions + operation. + """) @added(ServiceApiVersions.v2023_07_01_Preview) union FunctionCallPreset { string, @doc(""" - Specifies that the model may either use any of the functions provided in this chat completions request or - instead return a standard chat completions response as if no functions were provided. - """) + Specifies that the model may either use any of the functions provided in this chat completions request or + instead return a standard chat completions response as if no functions were provided. + """) auto: "auto", @doc(""" - Specifies that the model should not respond with a function call and should instead provide a standard chat - completions response. Response content may still be influenced by the provided function information. - """) + Specifies that the model should not respond with a function call and should instead provide a standard chat + completions response. Response content may still be influenced by the provided function information. + """) none: "none", } @@ -39,17 +39,17 @@ union FunctionCallPreset { alias FunctionCallConfig = FunctionCallPreset | FunctionName; @doc(""" -The definition of a caller-specified function that chat completions may invoke in response to matching user input. -""") + The definition of a caller-specified function that chat completions may invoke in response to matching user input. + """) @added(ServiceApiVersions.v2023_07_01_Preview) model FunctionDefinition { @doc("The name of the function to be called.") name: string; @doc(""" - A description of what the function does. The model will use this description when selecting the function and - interpreting its parameters. - """) + A description of what the function does. The model will use this description when selecting the function and + interpreting its parameters. + """) description?: string; #suppress "@azure-tools/typespec-azure-core/no-unknown" "External API shape takes an arbitrary json" @@ -64,10 +64,10 @@ model FunctionCall { name: string; @doc(""" - 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. - """) + 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. + """) arguments: string; } diff --git a/specification/cognitiveservices/OpenAI.Inference/models/completions/tools.tsp b/specification/cognitiveservices/OpenAI.Inference/models/completions/tools.tsp index 2a9e7b295faf..8d45bd50a058 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/completions/tools.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/completions/tools.tsp @@ -16,21 +16,22 @@ union ChatCompletionsToolSelectionPreset { string, @doc(""" - Specifies that the model may either use any of the tools provided in this chat completions request or - instead return a standard chat completions response as if no tools were provided. - """) + Specifies that the model may either use any of the tools provided in this chat completions request or + instead return a standard chat completions response as if no tools were provided. + """) auto: "auto", @doc(""" - Specifies that the model should not respond with a tool call and should instead provide a standard chat - completions response. Response content may still be influenced by the provided tool definitions. - """) + Specifies that the model should not respond with a tool call and should instead provide a standard chat + completions response. Response content may still be influenced by the provided tool definitions. + """) none: "none", } @discriminator("type") @doc("An abstract representation of an explicit, named tool selection to use for a chat completions request.") model ChatCompletionsNamedToolSelection { + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The object type.") type: string; } @@ -59,14 +60,15 @@ model ChatCompletionsFunctionToolSelection { @doc("An abstract representation of a tool that can be used by the model to improve a chat completions response.") @added(ServiceApiVersions.v2024_02_15_Preview) model ChatCompletionsToolDefinition { + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The object type.") type: string; } @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -The definition information for a chat completions function tool that can call a function in response to a tool call. -""") + The definition information for a chat completions function tool that can call a function in response to a tool call. + """) model ChatCompletionsFunctionToolDefinition extends ChatCompletionsToolDefinition { @doc("The object name, which is always 'function'.") @@ -80,11 +82,12 @@ model ChatCompletionsFunctionToolDefinition @discriminator("type") @doc(""" -An abstract representation of a tool call that must be resolved in a subsequent request to perform the requested -chat completion. -""") + An abstract representation of a tool call that must be resolved in a subsequent request to perform the requested + chat completion. + """) @added(ServiceApiVersions.v2024_02_15_Preview) model ChatCompletionsToolCall { + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The object type.") type: string; @@ -94,9 +97,9 @@ model ChatCompletionsToolCall { @added(ServiceApiVersions.v2024_02_15_Preview) @doc(""" -A tool call to a function tool, issued by the model in evaluation of a configured function tool, that represents -a function invocation needed for a subsequent chat completions request to resolve. -""") + A tool call to a function tool, issued by the model in evaluation of a configured function tool, that represents + a function invocation needed for a subsequent chat completions request to resolve. + """) model ChatCompletionsFunctionToolCall extends ChatCompletionsToolCall { @doc("The type of tool call, in this case always 'function'.") type: "function"; diff --git a/specification/cognitiveservices/OpenAI.Inference/models/embeddings_create.tsp b/specification/cognitiveservices/OpenAI.Inference/models/embeddings_create.tsp index e9e7034311da..e698a2f1d70f 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/embeddings_create.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/embeddings_create.tsp @@ -11,10 +11,10 @@ using Azure.ClientGenerator.Core; namespace Azure.OpenAI; @doc(""" -The configuration information for an embeddings request. -Embeddings measure the relatedness of text strings and are commonly used for search, clustering, -recommendations, and other similar scenarios. -""") + The configuration information for an embeddings request. + Embeddings measure the relatedness of text strings and are commonly used for search, clustering, + recommendations, and other similar scenarios. + """) model EmbeddingsOptions { @doc(""" An identifier for the caller or end user of the operation. This may be used for tracking @@ -33,7 +33,7 @@ model EmbeddingsOptions { @doc(""" Input texts to get embeddings for, encoded as a an array of strings. Each input must not exceed 2048 tokens in length. - + Unless 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. """) @@ -67,10 +67,10 @@ union EmbeddingEncodingFormat { } @doc(""" -Representation of the response data from an embeddings request. -Embeddings measure the relatedness of text strings and are commonly used for search, clustering, -recommendations, and other similar scenarios. -""") + Representation of the response data from an embeddings request. + Embeddings measure the relatedness of text strings and are commonly used for search, clustering, + recommendations, and other similar scenarios. + """) model Embeddings { @doc("Embedding values for the prompts submitted in the request.") data: EmbeddingItem[]; @@ -102,3 +102,14 @@ model EmbeddingsUsage { @encodedName("application/json", "total_tokens") totalTokens: int32; } + +alias BodyParameter< + T, + TName extends valueof string = "body", + TDoc extends valueof string = "Body parameter." +> = { + @doc(TDoc) + @friendlyName(TName) + @bodyRoot + body: T; +}; diff --git a/specification/cognitiveservices/OpenAI.Inference/models/images/images.tsp b/specification/cognitiveservices/OpenAI.Inference/models/images/images.tsp index e0b920275934..b0619f8b0f5e 100644 --- a/specification/cognitiveservices/OpenAI.Inference/models/images/images.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/models/images/images.tsp @@ -19,75 +19,75 @@ union ImageSize { string, @doc(""" - Very small image size of 256x256 pixels. - Only supported with dall-e-2 models. - """) + Very small image size of 256x256 pixels. + Only supported with dall-e-2 models. + """) size256x256: "256x256", @doc(""" - A smaller image size of 512x512 pixels. - Only supported with dall-e-2 models. - """) + A smaller image size of 512x512 pixels. + Only supported with dall-e-2 models. + """) size512x512: "512x512", @doc(""" - A standard, square image size of 1024x1024 pixels. - Supported by both dall-e-2 and dall-e-3 models. - """) + A standard, square image size of 1024x1024 pixels. + Supported by both dall-e-2 and dall-e-3 models. + """) @added(ServiceApiVersions.v2024_02_15_Preview) size1024x1024: "1024x1024", @doc(""" - A wider image size of 1024x1792 pixels. - Only supported with dall-e-3 models. - """) + A wider image size of 1024x1792 pixels. + Only supported with dall-e-3 models. + """) @added(ServiceApiVersions.v2024_02_15_Preview) size1792x1024: "1792x1024", @doc(""" - A taller image size of 1792x1024 pixels. - Only supported with dall-e-3 models. - """) + A taller image size of 1792x1024 pixels. + Only supported with dall-e-3 models. + """) @added(ServiceApiVersions.v2024_02_15_Preview) size1024x1792: "1024x1792", } @doc(""" -An image generation configuration that specifies how the model should prioritize quality, cost, and speed. -Only configurable with dall-e-3 models. -""") + An image generation configuration that specifies how the model should prioritize quality, cost, and speed. + Only configurable with dall-e-3 models. + """) @added(ServiceApiVersions.v2024_02_15_Preview) union ImageGenerationQuality { string, @doc(""" - Requests image generation with standard, balanced characteristics of quality, cost, and speed. - """) + Requests image generation with standard, balanced characteristics of quality, cost, and speed. + """) standard: "standard", @doc(""" - Requests image generation with higher quality, higher cost and lower speed relative to standard. - """) + Requests image generation with higher quality, higher cost and lower speed relative to standard. + """) hd: "hd", } @doc(""" -An image generation configuration that specifies how the model should incorporate realism and other visual characteristics. -Only configurable with dall-e-3 models. -""") + An image generation configuration that specifies how the model should incorporate realism and other visual characteristics. + Only configurable with dall-e-3 models. + """) @added(ServiceApiVersions.v2024_02_15_Preview) union ImageGenerationStyle { string, @doc(""" - Requests image generation in a natural style with less preference for dramatic and hyper-realistic characteristics. - """) + Requests image generation in a natural style with less preference for dramatic and hyper-realistic characteristics. + """) natural: "natural", @doc(""" - Requests image generation in a vivid style with a higher preference for dramatic and hyper-realistic - characteristics. - """) + Requests image generation in a vivid style with a higher preference for dramatic and hyper-realistic + characteristics. + """) vivid: "vivid", } @@ -107,27 +107,27 @@ union ImageGenerationResponseFormat { @added(ServiceApiVersions.v2023_06_01_Preview) model ImageGenerationOptions { @doc(""" - The model name or Azure OpenAI model deployment name to use for image generation. If not specified, dall-e-2 will be - inferred as a default. - """) + The model name or Azure OpenAI model deployment name to use for image generation. If not specified, dall-e-2 will be + inferred as a default. + """) `model`?: string; @doc("A description of the desired images.") prompt: string; @doc(""" - The number of images to generate. - Dall-e-2 models support values between 1 and 10. - Dall-e-3 models only support a value of 1. - """) + The number of images to generate. + Dall-e-2 models support values between 1 and 10. + Dall-e-3 models only support a value of 1. + """) @clientName("ImageCount", "csharp") n?: int32 = 1; @doc(""" - The desired dimensions for generated images. - Dall-e-2 models support 256x256, 512x512, or 1024x1024. - Dall-e-3 models support 1024x1024, 1792x1024, or 1024x1792. - """) + The desired dimensions for generated images. + Dall-e-2 models support 256x256, 512x512, or 1024x1024. + Dall-e-3 models support 1024x1024, 1792x1024, or 1024x1792. + """) size?: ImageSize = ImageSize.size1024x1024; @doc("The format in which image generation response items should be presented.") @@ -135,16 +135,16 @@ model ImageGenerationOptions { responseFormat?: ImageGenerationResponseFormat = ImageGenerationResponseFormat.url; @doc(""" - The desired image generation quality level to use. - Only configurable with dall-e-3 models. - """) + The desired image generation quality level to use. + Only configurable with dall-e-3 models. + """) @added(ServiceApiVersions.v2024_02_15_Preview) quality?: ImageGenerationQuality = ImageGenerationQuality.standard; @doc(""" - The desired image generation style to use. - Only configurable with dall-e-3 models. - """) + The desired image generation style to use. + Only configurable with dall-e-3 models. + """) @added(ServiceApiVersions.v2024_02_15_Preview) style?: ImageGenerationStyle = ImageGenerationStyle.vivid; @@ -156,32 +156,32 @@ model ImageGenerationOptions { @added(ServiceApiVersions.v2024_02_15_Preview) model ImageGenerationContentFilterResults { @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. - """) + 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. - """) + 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. - """) + 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. - """) + Describes language related to physical actions intended to purposely hurt, injure, + or damage one’s body, or kill oneself. + """) @encodedName("application/json", "self_harm") selfHarm?: ContentFilterResult; } @@ -204,9 +204,9 @@ model ImageGenerationPromptFilterResults { } @doc(""" -A representation of a single generated image, provided as either base64-encoded data or as a URL from which the image -may be retrieved. -""") + A representation of a single generated image, provided as either base64-encoded data or as a URL from which the image + may be retrieved. + """) @added(ServiceApiVersions.v2023_06_01_Preview) model ImageGenerationData { @doc("The URL that provides temporary access to download the generated image.") @@ -222,21 +222,21 @@ model ImageGenerationData { contentFilterResults?: ImageGenerationContentFilterResults; @doc(""" - The final prompt used by the model to generate the image. - Only provided with dall-3-models and only when revisions were made to the prompt. - """) + The final prompt used by the model to generate the image. + Only provided with dall-3-models and only when revisions were made to the prompt. + """) @added(ServiceApiVersions.v2024_02_15_Preview) @encodedName("application/json", "revised_prompt") revisedPrompt?: string; @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. Information about jailbreak content and profanity, if it has been detected, - and if it has been filtered or not. And information about customer block list, if it has - been filtered and its id. - """) + 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. Information about jailbreak content and profanity, if it has been detected, + and if it has been filtered or not. And information about customer block list, if it has + been filtered and its id. + """) @added(ServiceApiVersions.v2024_02_15_Preview) @encodedName("application/json", "prompt_filter_results") promptFilterResults?: ImageGenerationPromptFilterResults; @@ -246,9 +246,9 @@ model ImageGenerationData { @added(ServiceApiVersions.v2023_06_01_Preview) model ImageGenerations { @doc(""" - A timestamp representing when this operation was started. - Expressed in seconds since the Unix epoch of 1970-01-01T00:00:00+0000. - """) + A timestamp representing when this operation was started. + Expressed in seconds since the Unix epoch of 1970-01-01T00:00:00+0000. + """) @clientName("createdAt", "java") @encode(DateTimeKnownEncoding.unixTimestamp, int32) created: utcDateTime; diff --git a/specification/cognitiveservices/OpenAI.Inference/routes/audio_transcription.tsp b/specification/cognitiveservices/OpenAI.Inference/routes/audio_transcription.tsp index 217c05759658..265ba7cedba0 100644 --- a/specification/cognitiveservices/OpenAI.Inference/routes/audio_transcription.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/routes/audio_transcription.tsp @@ -19,32 +19,32 @@ namespace Azure.OpenAI; #suppress "@azure-tools/typespec-azure-core/byos" "representation of existing multipart/form-data operation" #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "non-model response value needed" @doc(""" -Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the -written language corresponding to the language it was spoken in. -""") + Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the + written language corresponding to the language it was spoken in. + """) @added(ServiceApiVersions.v2024_02_15_Preview) @actionSeparator("/") @action("audio/transcriptions") @sharedRoute op getAudioTranscriptionAsPlainText is Azure.Core.ResourceAction< Deployment, - AudioTranscriptionOptions, // response_format must be one of: text, srt, vtt + BodyParameter, AudioTextResponse, MultipartFormDataRequestHeadersTraits & TextPlainResponseHeadersTraits >; #suppress "@azure-tools/typespec-azure-core/byos" "representation of existing multipart/form-data operation" @doc(""" -Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the -written language corresponding to the language it was spoken in. -""") + Gets transcribed text and associated metadata from provided spoken audio data. Audio will be transcribed in the + written language corresponding to the language it was spoken in. + """) @added(ServiceApiVersions.v2024_02_15_Preview) @actionSeparator("/") @action("audio/transcriptions") @sharedRoute op getAudioTranscriptionAsResponseObject is Azure.Core.ResourceAction< Deployment, - AudioTranscriptionOptions, // response_format must be unspecified (json) or one of: json, verbose_json + BodyParameter, // response_format must be unspecified (json) or one of: json, verbose_json AudioTranscription, MultipartFormDataRequestHeadersTraits >; diff --git a/specification/cognitiveservices/OpenAI.Inference/routes/audio_translation.tsp b/specification/cognitiveservices/OpenAI.Inference/routes/audio_translation.tsp index 8c2b8adb5562..18cf4a1d1c11 100644 --- a/specification/cognitiveservices/OpenAI.Inference/routes/audio_translation.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/routes/audio_translation.tsp @@ -19,30 +19,30 @@ namespace Azure.OpenAI; #suppress "@azure-tools/typespec-azure-core/byos" "representation of existing multipart/form-data operation" #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "non-model response value needed" @doc(""" -Gets English language transcribed text and associated metadata from provided spoken audio data. -""") + Gets English language transcribed text and associated metadata from provided spoken audio data. + """) @added(ServiceApiVersions.v2024_02_15_Preview) @actionSeparator("/") @action("audio/translations") @sharedRoute op getAudioTranslationAsPlainText is Azure.Core.ResourceAction< Deployment, - AudioTranslationOptions, // response_format must be one of: text, srt, vtt + BodyParameter, AudioTextResponse, MultipartFormDataRequestHeadersTraits & TextPlainResponseHeadersTraits >; #suppress "@azure-tools/typespec-azure-core/byos" "representation of existing multipart/form-data operation" @doc(""" -Gets English language transcribed text and associated metadata from provided spoken audio data. -""") + Gets English language transcribed text and associated metadata from provided spoken audio data. + """) @added(ServiceApiVersions.v2024_02_15_Preview) @actionSeparator("/") @action("audio/translations") @sharedRoute op getAudioTranslationAsResponseObject is Azure.Core.ResourceAction< Deployment, - AudioTranslationOptions, // response_format must be unspecified (json) or one of: json, verbose_json + BodyParameter, // response_format must be unspecified (json) or one of: json, verbose_json AudioTranslation, MultipartFormDataRequestHeadersTraits >; diff --git a/specification/cognitiveservices/OpenAI.Inference/routes/completions.tsp b/specification/cognitiveservices/OpenAI.Inference/routes/completions.tsp index 823f980fcde7..3b138d588587 100644 --- a/specification/cognitiveservices/OpenAI.Inference/routes/completions.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/routes/completions.tsp @@ -15,23 +15,23 @@ using Azure.Core; namespace Azure.OpenAI; @doc(""" -Gets completions for the provided input prompts. -Completions support a wide variety of tasks and generate text that continues from or "completes" -provided prompt data. -""") + Gets completions for the provided input prompts. + Completions support a wide variety of tasks and generate text that continues from or "completes" + provided prompt data. + """) @actionSeparator("/") @action("completions") //@convenientAPI(true) op getCompletions is Azure.Core.ResourceAction< Deployment, - CompletionsOptions, + BodyParameter, Completions >; @doc(""" -Gets chat completions for the provided chat messages. -Completions support a wide variety of tasks and generate text that continues from or "completes" -provided prompt data. -""") + Gets chat completions for the provided chat messages. + Completions support a wide variety of tasks and generate text that continues from or "completes" + provided prompt data. + """) @added(ServiceApiVersions.v2023_05_15) @actionSeparator("/") @action("chat/completions") //@convenientAPI(true) diff --git a/specification/cognitiveservices/OpenAI.Inference/routes/embeddings.tsp b/specification/cognitiveservices/OpenAI.Inference/routes/embeddings.tsp index 20afaa954d04..ecb49b09e4b1 100644 --- a/specification/cognitiveservices/OpenAI.Inference/routes/embeddings.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/routes/embeddings.tsp @@ -18,6 +18,6 @@ namespace Azure.OpenAI; @action("embeddings") //@convenientAPI(true) op getEmbeddings is Azure.Core.ResourceAction< Deployment, - EmbeddingsOptions, + BodyParameter, Embeddings >; diff --git a/specification/cognitiveservices/OpenAI.Inference/routes/images.tsp b/specification/cognitiveservices/OpenAI.Inference/routes/images.tsp index 0f09b3f185bc..b0fcec522f40 100644 --- a/specification/cognitiveservices/OpenAI.Inference/routes/images.tsp +++ b/specification/cognitiveservices/OpenAI.Inference/routes/images.tsp @@ -20,7 +20,7 @@ namespace Azure.OpenAI; @action("images/generations") op getImageGenerations is Azure.Core.ResourceAction< Deployment, - ImageGenerationOptions, + BodyParameter, ImageGenerations >; @@ -54,7 +54,7 @@ op getAzureBatchImageGenerationOperationStatus is RpcOperation< } ) op beginAzureBatchImageGeneration is OaiLongRunningRpcOperation< - ImageGenerationOptions, + BodyParameter, BatchImageGenerationOperationResponse, BatchImageGenerationOperationResponse >; diff --git a/specification/cognitiveservices/OpenAI.Inference/tspconfig.yaml b/specification/cognitiveservices/OpenAI.Inference/tspconfig.yaml index 33a2c0b7b7c9..774d75419735 100644 --- a/specification/cognitiveservices/OpenAI.Inference/tspconfig.yaml +++ b/specification/cognitiveservices/OpenAI.Inference/tspconfig.yaml @@ -13,6 +13,7 @@ options: emitter-output-dir: "{project-root}/../" output-file: "{azure-resource-provider-folder}/AzureOpenAI/inference/{version-status}/{version}/generated.json" azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" examples-directory: "{project-root}/examples" omit-unreachable-types: true "@azure-tools/typespec-csharp": 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 cb97b483ca84..08007691cc3a 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 @@ -128,6 +128,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/CompletionsOptions" @@ -179,6 +180,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/EmbeddingsOptions" @@ -223,6 +225,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/ImageGenerationOptions" 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 9230cd3ea16a..dfd0dcdce0b0 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 @@ -128,6 +128,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/CompletionsOptions" @@ -179,6 +180,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/EmbeddingsOptions" @@ -223,6 +225,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/ImageGenerationOptions" diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/generated.json index 43de460be08c..0fb1618e5c07 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/generated.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-02-15-preview/generated.json @@ -137,25 +137,93 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to transcribe. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the transcription response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranscriptionFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the transcription." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing transcription text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated transcription." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.language" + "name": "language", + "in": "formData", + "description": "The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code\nsuch as 'en' or 'fr'.\nProviding this known input language is optional but may improve the accuracy and/or latency of transcription.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this transcription request.", + "required": false, + "type": "string" } ], "responses": { @@ -208,22 +276,86 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to translate. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranslationOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the translation response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranslationFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the translation." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing translation text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated translation." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranslationOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranslationOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this translation request.", + "required": false, + "type": "string" } ], "responses": { @@ -343,6 +475,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/CompletionsOptions" @@ -394,6 +527,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/EmbeddingsOptions" @@ -445,6 +579,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/ImageGenerationOptions" @@ -499,25 +634,93 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to transcribe. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the transcription response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranscriptionFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the transcription." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing transcription text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated transcription." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.language" + "name": "language", + "in": "formData", + "description": "The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code\nsuch as 'en' or 'fr'.\nProviding this known input language is optional but may improve the accuracy and/or latency of transcription.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this transcription request.", + "required": false, + "type": "string" } ], "responses": { @@ -566,22 +769,86 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to translate. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranslationOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the translation response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranslationFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the translation." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing translation text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated translation." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranslationOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranslationOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this translation request.", + "required": false, + "type": "string" } ], "responses": { @@ -4014,190 +4281,6 @@ } }, "parameters": { - "AudioTranscriptionOptions.file": { - "name": "file", - "in": "formData", - "description": "The audio data to transcribe. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", - "required": true, - "type": "file", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.filename": { - "name": "filename", - "in": "formData", - "description": "The optional filename or descriptive identifier to associate with with the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.language": { - "name": "language", - "in": "formData", - "description": "The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code\nsuch as 'en' or 'fr'.\nProviding this known input language is optional but may improve the accuracy and/or latency of transcription.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.model": { - "name": "model", - "in": "formData", - "description": "The model to use for this transcription request.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.prompt": { - "name": "prompt", - "in": "formData", - "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.responseFormat": { - "name": "response_format", - "in": "formData", - "description": "The requested format of the transcription response data, which will influence the content and detail of the result.", - "required": false, - "type": "string", - "enum": [ - "json", - "verbose_json", - "text", - "srt", - "vtt" - ], - "x-ms-enum": { - "name": "AudioTranscriptionFormat", - "modelAsString": true, - "values": [ - { - "name": "json", - "value": "json", - "description": "Use a response body that is a JSON object containing a single 'text' field for the transcription." - }, - { - "name": "verbose_json", - "value": "verbose_json", - "description": "Use a response body that is a JSON object containing transcription text along with timing, segments, and other\nmetadata." - }, - { - "name": "text", - "value": "text", - "description": "Use a response body that is plain text containing the raw, unannotated transcription." - }, - { - "name": "srt", - "value": "srt", - "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." - }, - { - "name": "vtt", - "value": "vtt", - "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." - } - ] - }, - "x-ms-parameter-location": "method", - "x-ms-client-name": "responseFormat" - }, - "AudioTranscriptionOptions.temperature": { - "name": "temperature", - "in": "formData", - "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", - "required": false, - "type": "number", - "format": "float", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.file": { - "name": "file", - "in": "formData", - "description": "The audio data to translate. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", - "required": true, - "type": "file", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.filename": { - "name": "filename", - "in": "formData", - "description": "The optional filename or descriptive identifier to associate with with the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.model": { - "name": "model", - "in": "formData", - "description": "The model to use for this translation request.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.prompt": { - "name": "prompt", - "in": "formData", - "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.responseFormat": { - "name": "response_format", - "in": "formData", - "description": "The requested format of the translation response data, which will influence the content and detail of the result.", - "required": false, - "type": "string", - "enum": [ - "json", - "verbose_json", - "text", - "srt", - "vtt" - ], - "x-ms-enum": { - "name": "AudioTranslationFormat", - "modelAsString": true, - "values": [ - { - "name": "json", - "value": "json", - "description": "Use a response body that is a JSON object containing a single 'text' field for the translation." - }, - { - "name": "verbose_json", - "value": "verbose_json", - "description": "Use a response body that is a JSON object containing translation text along with timing, segments, and other\nmetadata." - }, - { - "name": "text", - "value": "text", - "description": "Use a response body that is plain text containing the raw, unannotated translation." - }, - { - "name": "srt", - "value": "srt", - "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." - }, - { - "name": "vtt", - "value": "vtt", - "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." - } - ] - }, - "x-ms-parameter-location": "method", - "x-ms-client-name": "responseFormat" - }, - "AudioTranslationOptions.temperature": { - "name": "temperature", - "in": "formData", - "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", - "required": false, - "type": "number", - "format": "float", - "x-ms-parameter-location": "method" - }, "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", "in": "query", diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-03-01-preview/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-03-01-preview/generated.json index 3586f7590bf8..50544e3dc1fc 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-03-01-preview/generated.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-03-01-preview/generated.json @@ -137,25 +137,93 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to transcribe. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the transcription response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranscriptionFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the transcription." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing transcription text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated transcription." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.language" + "name": "language", + "in": "formData", + "description": "The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code\nsuch as 'en' or 'fr'.\nProviding this known input language is optional but may improve the accuracy and/or latency of transcription.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this transcription request.", + "required": false, + "type": "string" } ], "responses": { @@ -208,22 +276,86 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to translate. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranslationOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the translation response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranslationFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the translation." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing translation text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated translation." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranslationOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranslationOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this translation request.", + "required": false, + "type": "string" } ], "responses": { @@ -343,6 +475,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/CompletionsOptions" @@ -394,6 +527,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/EmbeddingsOptions" @@ -445,6 +579,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/ImageGenerationOptions" @@ -499,25 +634,93 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to transcribe. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the transcription response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranscriptionFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the transcription." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing transcription text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated transcription." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.language" + "name": "language", + "in": "formData", + "description": "The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code\nsuch as 'en' or 'fr'.\nProviding this known input language is optional but may improve the accuracy and/or latency of transcription.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this transcription request.", + "required": false, + "type": "string" } ], "responses": { @@ -566,22 +769,86 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to translate. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranslationOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the translation response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranslationFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the translation." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing translation text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated translation." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranslationOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranslationOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this translation request.", + "required": false, + "type": "string" } ], "responses": { @@ -4045,190 +4312,6 @@ } }, "parameters": { - "AudioTranscriptionOptions.file": { - "name": "file", - "in": "formData", - "description": "The audio data to transcribe. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", - "required": true, - "type": "file", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.filename": { - "name": "filename", - "in": "formData", - "description": "The optional filename or descriptive identifier to associate with with the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.language": { - "name": "language", - "in": "formData", - "description": "The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code\nsuch as 'en' or 'fr'.\nProviding this known input language is optional but may improve the accuracy and/or latency of transcription.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.model": { - "name": "model", - "in": "formData", - "description": "The model to use for this transcription request.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.prompt": { - "name": "prompt", - "in": "formData", - "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.responseFormat": { - "name": "response_format", - "in": "formData", - "description": "The requested format of the transcription response data, which will influence the content and detail of the result.", - "required": false, - "type": "string", - "enum": [ - "json", - "verbose_json", - "text", - "srt", - "vtt" - ], - "x-ms-enum": { - "name": "AudioTranscriptionFormat", - "modelAsString": true, - "values": [ - { - "name": "json", - "value": "json", - "description": "Use a response body that is a JSON object containing a single 'text' field for the transcription." - }, - { - "name": "verbose_json", - "value": "verbose_json", - "description": "Use a response body that is a JSON object containing transcription text along with timing, segments, and other\nmetadata." - }, - { - "name": "text", - "value": "text", - "description": "Use a response body that is plain text containing the raw, unannotated transcription." - }, - { - "name": "srt", - "value": "srt", - "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." - }, - { - "name": "vtt", - "value": "vtt", - "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." - } - ] - }, - "x-ms-parameter-location": "method", - "x-ms-client-name": "responseFormat" - }, - "AudioTranscriptionOptions.temperature": { - "name": "temperature", - "in": "formData", - "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", - "required": false, - "type": "number", - "format": "float", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.file": { - "name": "file", - "in": "formData", - "description": "The audio data to translate. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", - "required": true, - "type": "file", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.filename": { - "name": "filename", - "in": "formData", - "description": "The optional filename or descriptive identifier to associate with with the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.model": { - "name": "model", - "in": "formData", - "description": "The model to use for this translation request.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.prompt": { - "name": "prompt", - "in": "formData", - "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.responseFormat": { - "name": "response_format", - "in": "formData", - "description": "The requested format of the translation response data, which will influence the content and detail of the result.", - "required": false, - "type": "string", - "enum": [ - "json", - "verbose_json", - "text", - "srt", - "vtt" - ], - "x-ms-enum": { - "name": "AudioTranslationFormat", - "modelAsString": true, - "values": [ - { - "name": "json", - "value": "json", - "description": "Use a response body that is a JSON object containing a single 'text' field for the translation." - }, - { - "name": "verbose_json", - "value": "verbose_json", - "description": "Use a response body that is a JSON object containing translation text along with timing, segments, and other\nmetadata." - }, - { - "name": "text", - "value": "text", - "description": "Use a response body that is plain text containing the raw, unannotated translation." - }, - { - "name": "srt", - "value": "srt", - "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." - }, - { - "name": "vtt", - "value": "vtt", - "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." - } - ] - }, - "x-ms-parameter-location": "method", - "x-ms-client-name": "responseFormat" - }, - "AudioTranslationOptions.temperature": { - "name": "temperature", - "in": "formData", - "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", - "required": false, - "type": "number", - "format": "float", - "x-ms-parameter-location": "method" - }, "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", "in": "query", diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-04-01-preview/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-04-01-preview/generated.json index 7a140362995b..1e2249218c04 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-04-01-preview/generated.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-04-01-preview/generated.json @@ -137,28 +137,127 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to transcribe. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the transcription response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranscriptionFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the transcription." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing transcription text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated transcription." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.language" + "name": "language", + "in": "formData", + "description": "The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code\nsuch as 'en' or 'fr'.\nProviding this known input language is optional but may improve the accuracy and/or latency of transcription.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.timestampGranularities" + "name": "timestamp_granularities", + "in": "formData", + "description": "The timestamp granularities to populate for this transcription.\n`response_format` must be set `verbose_json` to use timestamp granularities.\nEither or both of these options are supported: `word`, or `segment`.\nNote: There is no additional latency for segment timestamps, but generating word timestamps incurs additional latency.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "word", + "segment" + ], + "x-ms-enum": { + "name": "AudioTranscriptionTimestampGranularity", + "modelAsString": true, + "values": [ + { + "name": "word", + "value": "word", + "description": "Indicates that responses should include timing information about each transcribed word. Note that generating word\ntimestamp information will incur additional response latency." + }, + { + "name": "segment", + "value": "segment", + "description": "Indicates that responses should include timing and other information about each transcribed audio segment. Audio\nsegment timestamp information does not incur any additional latency." + } + ] + } + }, + "default": [ + "segment" + ], + "x-ms-client-name": "timestampGranularities" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this transcription request.", + "required": false, + "type": "string" } ], "responses": { @@ -211,22 +310,86 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to translate. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranslationOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the translation response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranslationFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the translation." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing translation text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated translation." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranslationOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranslationOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this translation request.", + "required": false, + "type": "string" } ], "responses": { @@ -346,6 +509,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/CompletionsOptions" @@ -397,6 +561,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/EmbeddingsOptions" @@ -448,6 +613,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/ImageGenerationOptions" @@ -502,28 +668,127 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to transcribe. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the transcription response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranscriptionFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the transcription." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing transcription text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated transcription." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.language" + "name": "language", + "in": "formData", + "description": "The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code\nsuch as 'en' or 'fr'.\nProviding this known input language is optional but may improve the accuracy and/or latency of transcription.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.timestampGranularities" + "name": "timestamp_granularities", + "in": "formData", + "description": "The timestamp granularities to populate for this transcription.\n`response_format` must be set `verbose_json` to use timestamp granularities.\nEither or both of these options are supported: `word`, or `segment`.\nNote: There is no additional latency for segment timestamps, but generating word timestamps incurs additional latency.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "word", + "segment" + ], + "x-ms-enum": { + "name": "AudioTranscriptionTimestampGranularity", + "modelAsString": true, + "values": [ + { + "name": "word", + "value": "word", + "description": "Indicates that responses should include timing information about each transcribed word. Note that generating word\ntimestamp information will incur additional response latency." + }, + { + "name": "segment", + "value": "segment", + "description": "Indicates that responses should include timing and other information about each transcribed audio segment. Audio\nsegment timestamp information does not incur any additional latency." + } + ] + } + }, + "default": [ + "segment" + ], + "x-ms-client-name": "timestampGranularities" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this transcription request.", + "required": false, + "type": "string" } ], "responses": { @@ -572,22 +837,86 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to translate. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranslationOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the translation response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranslationFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the translation." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing translation text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated translation." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranslationOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranslationOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this translation request.", + "required": false, + "type": "string" } ], "responses": { @@ -4151,225 +4480,6 @@ } }, "parameters": { - "AudioTranscriptionOptions.file": { - "name": "file", - "in": "formData", - "description": "The audio data to transcribe. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", - "required": true, - "type": "file", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.filename": { - "name": "filename", - "in": "formData", - "description": "The optional filename or descriptive identifier to associate with with the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.language": { - "name": "language", - "in": "formData", - "description": "The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code\nsuch as 'en' or 'fr'.\nProviding this known input language is optional but may improve the accuracy and/or latency of transcription.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.model": { - "name": "model", - "in": "formData", - "description": "The model to use for this transcription request.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.prompt": { - "name": "prompt", - "in": "formData", - "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.responseFormat": { - "name": "response_format", - "in": "formData", - "description": "The requested format of the transcription response data, which will influence the content and detail of the result.", - "required": false, - "type": "string", - "enum": [ - "json", - "verbose_json", - "text", - "srt", - "vtt" - ], - "x-ms-enum": { - "name": "AudioTranscriptionFormat", - "modelAsString": true, - "values": [ - { - "name": "json", - "value": "json", - "description": "Use a response body that is a JSON object containing a single 'text' field for the transcription." - }, - { - "name": "verbose_json", - "value": "verbose_json", - "description": "Use a response body that is a JSON object containing transcription text along with timing, segments, and other\nmetadata." - }, - { - "name": "text", - "value": "text", - "description": "Use a response body that is plain text containing the raw, unannotated transcription." - }, - { - "name": "srt", - "value": "srt", - "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." - }, - { - "name": "vtt", - "value": "vtt", - "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." - } - ] - }, - "x-ms-parameter-location": "method", - "x-ms-client-name": "responseFormat" - }, - "AudioTranscriptionOptions.temperature": { - "name": "temperature", - "in": "formData", - "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", - "required": false, - "type": "number", - "format": "float", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.timestampGranularities": { - "name": "timestamp_granularities", - "in": "formData", - "description": "The timestamp granularities to populate for this transcription.\n`response_format` must be set `verbose_json` to use timestamp granularities.\nEither or both of these options are supported: `word`, or `segment`.\nNote: There is no additional latency for segment timestamps, but generating word timestamps incurs additional latency.", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "word", - "segment" - ], - "x-ms-enum": { - "name": "AudioTranscriptionTimestampGranularity", - "modelAsString": true, - "values": [ - { - "name": "word", - "value": "word", - "description": "Indicates that responses should include timing information about each transcribed word. Note that generating word\ntimestamp information will incur additional response latency." - }, - { - "name": "segment", - "value": "segment", - "description": "Indicates that responses should include timing and other information about each transcribed audio segment. Audio\nsegment timestamp information does not incur any additional latency." - } - ] - } - }, - "default": [ - "segment" - ], - "x-ms-parameter-location": "method", - "x-ms-client-name": "timestampGranularities" - }, - "AudioTranslationOptions.file": { - "name": "file", - "in": "formData", - "description": "The audio data to translate. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", - "required": true, - "type": "file", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.filename": { - "name": "filename", - "in": "formData", - "description": "The optional filename or descriptive identifier to associate with with the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.model": { - "name": "model", - "in": "formData", - "description": "The model to use for this translation request.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.prompt": { - "name": "prompt", - "in": "formData", - "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.responseFormat": { - "name": "response_format", - "in": "formData", - "description": "The requested format of the translation response data, which will influence the content and detail of the result.", - "required": false, - "type": "string", - "enum": [ - "json", - "verbose_json", - "text", - "srt", - "vtt" - ], - "x-ms-enum": { - "name": "AudioTranslationFormat", - "modelAsString": true, - "values": [ - { - "name": "json", - "value": "json", - "description": "Use a response body that is a JSON object containing a single 'text' field for the translation." - }, - { - "name": "verbose_json", - "value": "verbose_json", - "description": "Use a response body that is a JSON object containing translation text along with timing, segments, and other\nmetadata." - }, - { - "name": "text", - "value": "text", - "description": "Use a response body that is plain text containing the raw, unannotated translation." - }, - { - "name": "srt", - "value": "srt", - "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." - }, - { - "name": "vtt", - "value": "vtt", - "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." - } - ] - }, - "x-ms-parameter-location": "method", - "x-ms-client-name": "responseFormat" - }, - "AudioTranslationOptions.temperature": { - "name": "temperature", - "in": "formData", - "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", - "required": false, - "type": "number", - "format": "float", - "x-ms-parameter-location": "method" - }, "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", "in": "query", diff --git a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-05-01-preview/generated.json b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-05-01-preview/generated.json index 24ed1b370093..8557c34830a2 100644 --- a/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-05-01-preview/generated.json +++ b/specification/cognitiveservices/data-plane/AzureOpenAI/inference/preview/2024-05-01-preview/generated.json @@ -137,28 +137,127 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to transcribe. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the transcription response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranscriptionFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the transcription." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing transcription text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated transcription." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.language" + "name": "language", + "in": "formData", + "description": "The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code\nsuch as 'en' or 'fr'.\nProviding this known input language is optional but may improve the accuracy and/or latency of transcription.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.timestampGranularities" + "name": "timestamp_granularities", + "in": "formData", + "description": "The timestamp granularities to populate for this transcription.\n`response_format` must be set `verbose_json` to use timestamp granularities.\nEither or both of these options are supported: `word`, or `segment`.\nNote: There is no additional latency for segment timestamps, but generating word timestamps incurs additional latency.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "word", + "segment" + ], + "x-ms-enum": { + "name": "AudioTranscriptionTimestampGranularity", + "modelAsString": true, + "values": [ + { + "name": "word", + "value": "word", + "description": "Indicates that responses should include timing information about each transcribed word. Note that generating word\ntimestamp information will incur additional response latency." + }, + { + "name": "segment", + "value": "segment", + "description": "Indicates that responses should include timing and other information about each transcribed audio segment. Audio\nsegment timestamp information does not incur any additional latency." + } + ] + } + }, + "default": [ + "segment" + ], + "x-ms-client-name": "timestampGranularities" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this transcription request.", + "required": false, + "type": "string" } ], "responses": { @@ -211,22 +310,86 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to translate. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranslationOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the translation response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranslationFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the translation." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing translation text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated translation." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranslationOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranslationOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this translation request.", + "required": false, + "type": "string" } ], "responses": { @@ -346,6 +509,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/CompletionsOptions" @@ -397,6 +561,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/EmbeddingsOptions" @@ -448,6 +613,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/ImageGenerationOptions" @@ -502,28 +668,127 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to transcribe. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the transcription response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranscriptionFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the transcription." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing transcription text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated transcription." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.language" + "name": "language", + "in": "formData", + "description": "The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code\nsuch as 'en' or 'fr'.\nProviding this known input language is optional but may improve the accuracy and/or latency of transcription.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.timestampGranularities" + "name": "timestamp_granularities", + "in": "formData", + "description": "The timestamp granularities to populate for this transcription.\n`response_format` must be set `verbose_json` to use timestamp granularities.\nEither or both of these options are supported: `word`, or `segment`.\nNote: There is no additional latency for segment timestamps, but generating word timestamps incurs additional latency.", + "required": false, + "type": "array", + "items": { + "type": "string", + "enum": [ + "word", + "segment" + ], + "x-ms-enum": { + "name": "AudioTranscriptionTimestampGranularity", + "modelAsString": true, + "values": [ + { + "name": "word", + "value": "word", + "description": "Indicates that responses should include timing information about each transcribed word. Note that generating word\ntimestamp information will incur additional response latency." + }, + { + "name": "segment", + "value": "segment", + "description": "Indicates that responses should include timing and other information about each transcribed audio segment. Audio\nsegment timestamp information does not incur any additional latency." + } + ] + } + }, + "default": [ + "segment" + ], + "x-ms-client-name": "timestampGranularities" }, { - "$ref": "#/parameters/AudioTranscriptionOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this transcription request.", + "required": false, + "type": "string" } ], "responses": { @@ -572,22 +837,86 @@ "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.file" + "name": "file", + "in": "formData", + "description": "The audio data to translate. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", + "required": true, + "type": "file" }, { - "$ref": "#/parameters/AudioTranslationOptions.filename" + "name": "filename", + "in": "formData", + "description": "The optional filename or descriptive identifier to associate with with the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.responseFormat" + "name": "response_format", + "in": "formData", + "description": "The requested format of the translation response data, which will influence the content and detail of the result.", + "required": false, + "type": "string", + "enum": [ + "json", + "verbose_json", + "text", + "srt", + "vtt" + ], + "x-ms-enum": { + "name": "AudioTranslationFormat", + "modelAsString": true, + "values": [ + { + "name": "json", + "value": "json", + "description": "Use a response body that is a JSON object containing a single 'text' field for the translation." + }, + { + "name": "verbose_json", + "value": "verbose_json", + "description": "Use a response body that is a JSON object containing translation text along with timing, segments, and other\nmetadata." + }, + { + "name": "text", + "value": "text", + "description": "Use a response body that is plain text containing the raw, unannotated translation." + }, + { + "name": "srt", + "value": "srt", + "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." + }, + { + "name": "vtt", + "value": "vtt", + "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." + } + ] + }, + "x-ms-client-name": "responseFormat" }, { - "$ref": "#/parameters/AudioTranslationOptions.prompt" + "name": "prompt", + "in": "formData", + "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", + "required": false, + "type": "string" }, { - "$ref": "#/parameters/AudioTranslationOptions.temperature" + "name": "temperature", + "in": "formData", + "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", + "required": false, + "type": "number", + "format": "float" }, { - "$ref": "#/parameters/AudioTranslationOptions.model" + "name": "model", + "in": "formData", + "description": "The model to use for this translation request.", + "required": false, + "type": "string" } ], "responses": { @@ -4468,225 +4797,6 @@ } }, "parameters": { - "AudioTranscriptionOptions.file": { - "name": "file", - "in": "formData", - "description": "The audio data to transcribe. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", - "required": true, - "type": "file", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.filename": { - "name": "filename", - "in": "formData", - "description": "The optional filename or descriptive identifier to associate with with the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.language": { - "name": "language", - "in": "formData", - "description": "The primary spoken language of the audio data to be transcribed, supplied as a two-letter ISO-639-1 language code\nsuch as 'en' or 'fr'.\nProviding this known input language is optional but may improve the accuracy and/or latency of transcription.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.model": { - "name": "model", - "in": "formData", - "description": "The model to use for this transcription request.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.prompt": { - "name": "prompt", - "in": "formData", - "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.responseFormat": { - "name": "response_format", - "in": "formData", - "description": "The requested format of the transcription response data, which will influence the content and detail of the result.", - "required": false, - "type": "string", - "enum": [ - "json", - "verbose_json", - "text", - "srt", - "vtt" - ], - "x-ms-enum": { - "name": "AudioTranscriptionFormat", - "modelAsString": true, - "values": [ - { - "name": "json", - "value": "json", - "description": "Use a response body that is a JSON object containing a single 'text' field for the transcription." - }, - { - "name": "verbose_json", - "value": "verbose_json", - "description": "Use a response body that is a JSON object containing transcription text along with timing, segments, and other\nmetadata." - }, - { - "name": "text", - "value": "text", - "description": "Use a response body that is plain text containing the raw, unannotated transcription." - }, - { - "name": "srt", - "value": "srt", - "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." - }, - { - "name": "vtt", - "value": "vtt", - "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." - } - ] - }, - "x-ms-parameter-location": "method", - "x-ms-client-name": "responseFormat" - }, - "AudioTranscriptionOptions.temperature": { - "name": "temperature", - "in": "formData", - "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", - "required": false, - "type": "number", - "format": "float", - "x-ms-parameter-location": "method" - }, - "AudioTranscriptionOptions.timestampGranularities": { - "name": "timestamp_granularities", - "in": "formData", - "description": "The timestamp granularities to populate for this transcription.\n`response_format` must be set `verbose_json` to use timestamp granularities.\nEither or both of these options are supported: `word`, or `segment`.\nNote: There is no additional latency for segment timestamps, but generating word timestamps incurs additional latency.", - "required": false, - "type": "array", - "items": { - "type": "string", - "enum": [ - "word", - "segment" - ], - "x-ms-enum": { - "name": "AudioTranscriptionTimestampGranularity", - "modelAsString": true, - "values": [ - { - "name": "word", - "value": "word", - "description": "Indicates that responses should include timing information about each transcribed word. Note that generating word\ntimestamp information will incur additional response latency." - }, - { - "name": "segment", - "value": "segment", - "description": "Indicates that responses should include timing and other information about each transcribed audio segment. Audio\nsegment timestamp information does not incur any additional latency." - } - ] - } - }, - "default": [ - "segment" - ], - "x-ms-parameter-location": "method", - "x-ms-client-name": "timestampGranularities" - }, - "AudioTranslationOptions.file": { - "name": "file", - "in": "formData", - "description": "The audio data to translate. This must be the binary content of a file in one of the supported media formats:\n flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, webm.", - "required": true, - "type": "file", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.filename": { - "name": "filename", - "in": "formData", - "description": "The optional filename or descriptive identifier to associate with with the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.model": { - "name": "model", - "in": "formData", - "description": "The model to use for this translation request.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.prompt": { - "name": "prompt", - "in": "formData", - "description": "An optional hint to guide the model's style or continue from a prior audio segment. The written language of the\nprompt should match the primary spoken language of the audio data.", - "required": false, - "type": "string", - "x-ms-parameter-location": "method" - }, - "AudioTranslationOptions.responseFormat": { - "name": "response_format", - "in": "formData", - "description": "The requested format of the translation response data, which will influence the content and detail of the result.", - "required": false, - "type": "string", - "enum": [ - "json", - "verbose_json", - "text", - "srt", - "vtt" - ], - "x-ms-enum": { - "name": "AudioTranslationFormat", - "modelAsString": true, - "values": [ - { - "name": "json", - "value": "json", - "description": "Use a response body that is a JSON object containing a single 'text' field for the translation." - }, - { - "name": "verbose_json", - "value": "verbose_json", - "description": "Use a response body that is a JSON object containing translation text along with timing, segments, and other\nmetadata." - }, - { - "name": "text", - "value": "text", - "description": "Use a response body that is plain text containing the raw, unannotated translation." - }, - { - "name": "srt", - "value": "srt", - "description": "Use a response body that is plain text in SubRip (SRT) format that also includes timing information." - }, - { - "name": "vtt", - "value": "vtt", - "description": "Use a response body that is plain text in Web Video Text Tracks (VTT) format that also includes timing information." - } - ] - }, - "x-ms-parameter-location": "method", - "x-ms-client-name": "responseFormat" - }, - "AudioTranslationOptions.temperature": { - "name": "temperature", - "in": "formData", - "description": "The sampling temperature, between 0 and 1.\nHigher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic.\nIf set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.", - "required": false, - "type": "number", - "format": "float", - "x-ms-parameter-location": "method" - }, "Azure.Core.Foundations.ApiVersionParameter": { "name": "api-version", "in": "query", 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 b55dcf7f754c..39a5f276c4a8 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 @@ -77,6 +77,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/CompletionsOptions" @@ -128,6 +129,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/EmbeddingsOptions" 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 4025b89cae3a..bf3f9152ea8b 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 @@ -128,6 +128,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/CompletionsOptions" @@ -179,6 +180,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/EmbeddingsOptions" diff --git a/specification/communication/Communication.JobRouter/models.tsp b/specification/communication/Communication.JobRouter/models.tsp index 66014395d3fd..c09a1ec53fde 100644 --- a/specification/communication/Communication.JobRouter/models.tsp +++ b/specification/communication/Communication.JobRouter/models.tsp @@ -380,13 +380,13 @@ model ClassificationPolicy { } @doc(""" -A rule of one of the following types: -StaticRule: A rule providing static rules that always return the same result, regardless of input. -DirectMapRule: A rule that return the same labels as the input labels. -ExpressionRule: A rule providing inline expression rules. -FunctionRule: A rule providing a binding to an HTTP Triggered Azure Function. -WebhookRule: A rule providing a binding to a webserver following OAuth2.0 authentication protocol. -""") + A rule of one of the following types: + StaticRule: A rule providing static rules that always return the same result, regardless of input. + DirectMapRule: A rule that return the same labels as the input labels. + ExpressionRule: A rule providing inline expression rules. + FunctionRule: A rule providing a binding to an HTTP Triggered Azure Function. + WebhookRule: A rule providing a binding to a webserver following OAuth2.0 authentication protocol. + """) @discriminator("kind") model RouterRule { @doc("The type discriminator describing a sub-type of RouterRule") @@ -590,11 +590,11 @@ model RouterJobAssignment { } @doc(""" -A matching mode of one of the following types: -QueueAndMatchMode: Used when matching worker to a job is required to be done right after job is queued. -ScheduleAndSuspendMode: 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. -SuspendMode: Used when matching workers to a job needs to be suspended. -""") + A matching mode of one of the following types: + QueueAndMatchMode: Used when matching worker to a job is required to be done right after job is queued. + ScheduleAndSuspendMode: 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. + SuspendMode: Used when matching workers to a job needs to be suspended. + """) @discriminator("kind") model JobMatchingMode { @doc("The type discriminator describing a sub-type of JobMatchingMode.") @@ -865,7 +865,7 @@ model ScoringRuleOptions { batchSize?: int32 = 20; @doc("List of extra parameters from a job that will be sent as part of the payload to scoring rule. If not set, a job's labels (sent in the payload as `job`) and a job's worker selectors (sent in the payload as `selectors`) are added to the payload of the scoring rule by default. Note: Worker labels are always sent with scoring payload.") - scoringParameters?: ScoringRuleParameterSelector[] = [ + scoringParameters?: ScoringRuleParameterSelector[] = #[ ScoringRuleParameterSelector.jobLabels, ScoringRuleParameterSelector.workerSelectors ]; diff --git a/specification/communication/Communication.JobRouter/tspconfig.yaml b/specification/communication/Communication.JobRouter/tspconfig.yaml index 2b99d766d271..e6cf699eae6a 100644 --- a/specification/communication/Communication.JobRouter/tspconfig.yaml +++ b/specification/communication/Communication.JobRouter/tspconfig.yaml @@ -23,6 +23,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" output-file: "{azure-resource-provider-folder}/JobRouter/{version-status}/{version}/communicationservicejobrouter.json" emitter-output-dir: "{project-root}/.." omit-unreachable-types: true diff --git a/specification/communication/Communication.Messages/models.tsp b/specification/communication/Communication.Messages/models.tsp index deb3876a0910..4949f3b23047 100644 --- a/specification/communication/Communication.Messages/models.tsp +++ b/specification/communication/Communication.Messages/models.tsp @@ -374,3 +374,14 @@ enum Versions { @useDependency(Azure.Core.Versions.v1_0_Preview_2) c2024_02_01: "2024-02-01", } + +alias BodyParameter< + T, + TName extends valueof string = "body", + TDoc extends valueof string = "Body parameter." +> = { + @doc(TDoc) + @friendlyName(TName) + @bodyRoot + body: T; +}; diff --git a/specification/communication/Communication.Messages/routes.tsp b/specification/communication/Communication.Messages/routes.tsp index 95dede298d0a..a2c5d85987a4 100644 --- a/specification/communication/Communication.Messages/routes.tsp +++ b/specification/communication/Communication.Messages/routes.tsp @@ -35,7 +35,7 @@ interface NotificationMessagesOperations { @doc("Sends a notification message from Business to User.") send is Operations.ResourceCollectionAction< Notifications, - NotificationContent, + BodyParameter, AcceptedResponse & SendMessageResult >; } diff --git a/specification/communication/Communication.Messages/tspconfig.yaml b/specification/communication/Communication.Messages/tspconfig.yaml index ac47a74e4762..f9604a3a266c 100644 --- a/specification/communication/Communication.Messages/tspconfig.yaml +++ b/specification/communication/Communication.Messages/tspconfig.yaml @@ -23,6 +23,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" output-file: "{azure-resource-provider-folder}/Messages/{version-status}/{version}/communicationservicesmessages.json" emitter-output-dir: "{project-root}/.." omit-unreachable-types: true diff --git a/specification/communication/data-plane/Messages/stable/2024-02-01/communicationservicesmessages.json b/specification/communication/data-plane/Messages/stable/2024-02-01/communicationservicesmessages.json index 10f7cd1b04da..ec91ed70c2ed 100644 --- a/specification/communication/data-plane/Messages/stable/2024-02-01/communicationservicesmessages.json +++ b/specification/communication/data-plane/Messages/stable/2024-02-01/communicationservicesmessages.json @@ -164,6 +164,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/NotificationContent" diff --git a/specification/communitytraining/Community.Management/main.tsp b/specification/communitytraining/Community.Management/main.tsp index bf3d917bd6ba..2c2a9c763bc4 100644 --- a/specification/communitytraining/Community.Management/main.tsp +++ b/specification/communitytraining/Community.Management/main.tsp @@ -138,7 +138,12 @@ model CommunityTrainingProperties { @armResourceOperations interface CommunityTrainings { get is ArmResourceRead; - create is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrUpdateAsync< + CommunityTraining, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchAsync< CommunityTraining, CommunityTrainingProperties diff --git a/specification/communitytraining/resource-manager/Microsoft.Community/stable/2023-11-01/CommunityTrainings.json b/specification/communitytraining/resource-manager/Microsoft.Community/stable/2023-11-01/CommunityTrainings.json index 45f86ef2438f..267b74e8889a 100644 --- a/specification/communitytraining/resource-manager/Microsoft.Community/stable/2023-11-01/CommunityTrainings.json +++ b/specification/communitytraining/resource-manager/Microsoft.Community/stable/2023-11-01/CommunityTrainings.json @@ -425,11 +425,7 @@ "properties": { "$ref": "#/definitions/CommunityTrainingProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "sku": { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/Sku", diff --git a/specification/compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/examples/diskRestorePointExamples/DiskRestorePoint_Get_WhenSourceResourceIsFromDifferentRegion.json b/specification/compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/examples/diskRestorePointExamples/DiskRestorePoint_Get_WhenSourceResourceIsFromDifferentRegion.json index 555711a6d03f..6317923753bd 100644 --- a/specification/compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/examples/diskRestorePointExamples/DiskRestorePoint_Get_WhenSourceResourceIsFromDifferentRegion.json +++ b/specification/compute/resource-manager/Microsoft.Compute/DiskRP/stable/2024-03-02/examples/diskRestorePointExamples/DiskRestorePoint_Get_WhenSourceResourceIsFromDifferentRegion.json @@ -23,7 +23,8 @@ "publicNetworkAccess": "Disabled", "replicationState": "Succeeded", "completionPercent": 100, - "sourceResourceLocation": "eastus2" + "sourceResourceLocation": "eastus2", + "logicalSectorSize": 4096 } } } diff --git a/specification/confidentialledger/Microsoft.ManagedCcf/service_state.tsp b/specification/confidentialledger/Microsoft.ManagedCcf/service_state.tsp index c9ddd22b76b8..0d84f59a9b4a 100644 --- a/specification/confidentialledger/Microsoft.ManagedCcf/service_state.tsp +++ b/specification/confidentialledger/Microsoft.ManagedCcf/service_state.tsp @@ -58,6 +58,7 @@ union NodeStatus { "Retired", } +#suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("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") model QuoteInfo {} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/containerInstance.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/containerInstance.json new file mode 100644 index 000000000000..1375a0e2998e --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/containerInstance.json @@ -0,0 +1,2609 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-05-01-preview", + "title": "ContainerInstanceManagementClient" + }, + "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.ContainerInstance/containerGroups": { + "get": { + "operationId": "ContainerGroups_List", + "x-ms-examples": { + "ContainerGroupsList": { + "$ref": "./examples/ContainerGroupsList.json" + } + }, + "summary": "Get a list of container groups in the specified subscription.", + "description": "Get a list of container groups in the specified subscription. This operation returns properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups": { + "get": { + "operationId": "ContainerGroups_ListByResourceGroup", + "x-ms-examples": { + "ContainerGroupsListByResourceGroup": { + "$ref": "./examples/ContainerGroupsListByResourceGroup.json" + } + }, + "summary": "Get a list of container groups in the specified subscription and resource group.", + "description": "Get a list of container groups in a specified subscription and resource group. This operation returns properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}": { + "get": { + "operationId": "ContainerGroups_Get", + "x-ms-examples": { + "ContainerGroupsGet_Succeeded": { + "$ref": "./examples/ContainerGroupsGet_Succeeded.json" + }, + "ContainerGroupsGet_Failed": { + "$ref": "./examples/ContainerGroupsGet_Failed.json" + }, + "ContainerGroupsGetWithPriority": { + "$ref": "./examples/ContainerGroupsGetPriority.json" + } + }, + "summary": "Get the properties of the specified container group.", + "description": "Gets the properties of the specified container group in the specified subscription and resource group. The operation returns the properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "ContainerGroups_CreateOrUpdate", + "x-ms-examples": { + "ContainerGroupsCreateOrUpdate": { + "$ref": "./examples/ContainerGroupsCreateOrUpdate.json" + }, + "ContainerGroupCreateWithExtensions": { + "$ref": "./examples/ContainerGroupExtensions.json" + }, + "ContainerGroupWithEncryptionProperties": { + "$ref": "./examples/ContainerGroupEncryptionProperties.json" + }, + "ConfidentialContainerGroup": { + "$ref": "./examples/ContainerGroupCreateConfidential.json" + }, + "ContainerGroupCreateOrUpdateWithStandbyPool": { + "$ref": "./examples/ContainerGroupCreateOrUpdateStandbyPool.json" + }, + "ContainerGroupsCreateWithPriority": { + "$ref": "./examples/ContainerGroupsCreatePriority.json" + } + }, + "summary": "Create or update container groups.", + "description": "Create or update container groups with specified configurations.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + }, + { + "name": "containerGroup", + "description": "The properties of the container group to be created or updated.", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + }, + "201": { + "description": "Created - the container group is created.", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "ContainerGroups_Update", + "x-ms-examples": { + "ContainerGroupsUpdate": { + "$ref": "./examples/ContainerGroupsUpdate.json" + } + }, + "summary": "Update container groups.", + "description": "Updates container group tags with specified values.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + }, + { + "name": "Resource", + "description": "The container group resource with just the tags to be updated.", + "required": true, + "in": "body", + "schema": { + "$ref": "#/definitions/Resource" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "operationId": "ContainerGroups_Delete", + "x-ms-examples": { + "ContainerGroupsDelete": { + "$ref": "./examples/ContainerGroupsDelete.json" + } + }, + "summary": "Delete the specified container group.", + "description": "Delete the specified container group in the specified subscription and resource group. The operation does not delete other resources provided by the user, such as volumes.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerGroup" + } + }, + "202": { + "description": "Delete started." + }, + "204": { + "description": "No Content - the specified container group was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/restart": { + "post": { + "operationId": "ContainerGroups_Restart", + "x-ms-examples": { + "ContainerRestart": { + "$ref": "./examples/ContainerGroupsRestart.json" + } + }, + "summary": "Restarts all containers in a container group.", + "description": "Restarts all containers in a container group in place. If container image has updates, new image will be downloaded.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/stop": { + "post": { + "operationId": "ContainerGroups_Stop", + "x-ms-examples": { + "ContainerStop": { + "$ref": "./examples/ContainerGroupsStop.json" + } + }, + "summary": "Stops all containers in a container group.", + "description": "Stops all containers in a container group. Compute resources will be deallocated and billing will stop.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "204": { + "description": "NoContent" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/start": { + "post": { + "operationId": "ContainerGroups_Start", + "x-ms-examples": { + "ContainerStart": { + "$ref": "./examples/ContainerGroupsStart.json" + } + }, + "summary": "Starts all containers in a container group.", + "description": "Starts all containers in a container group. Compute resources will be allocated and billing will start.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "202": { + "description": "Started - the container group is starting." + }, + "204": { + "description": "Started - the container group is already running or starting." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/providers/Microsoft.ContainerInstance/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "x-ms-examples": { + "OperationsList": { + "$ref": "./examples/OperationsList.json" + } + }, + "description": "List the operations for Azure Container Instance service.", + "parameters": [ + { + "$ref": "#/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": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages": { + "get": { + "operationId": "Location_ListUsage", + "x-ms-examples": { + "ContainerUsage": { + "$ref": "./examples/ContainerGroupUsage.json" + } + }, + "description": "Get the usage for a subscription", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/UsageListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs": { + "get": { + "operationId": "Containers_ListLogs", + "x-ms-examples": { + "ContainerListLogs": { + "$ref": "./examples/ContainerListLogs.json" + } + }, + "summary": "Get the logs for a specified container instance.", + "description": "Get the logs for a specified container instance in a specified resource group and container group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + }, + { + "name": "containerName", + "in": "path", + "description": "The name of the container instance.", + "required": true, + "type": "string" + }, + { + "name": "tail", + "in": "query", + "description": "The number of lines to show from the tail of the container instance log. If not provided, all available logs are shown up to 4mb.", + "type": "integer", + "format": "int32" + }, + { + "name": "timestamps", + "in": "query", + "description": "If true, adds a timestamp at the beginning of every line of log output. If not provided, defaults to false.", + "type": "boolean" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Logs" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec": { + "post": { + "operationId": "Containers_ExecuteCommand", + "x-ms-examples": { + "ContainerExec": { + "$ref": "./examples/ContainerExec.json" + } + }, + "summary": "Executes a command in a specific container instance.", + "description": "Executes a command for a specific container instance in a specified resource group and container group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + }, + { + "name": "containerName", + "in": "path", + "description": "The name of the container instance.", + "required": true, + "type": "string" + }, + { + "name": "containerExecRequest", + "in": "body", + "description": "The request for the exec command.", + "required": true, + "schema": { + "$ref": "#/definitions/ContainerExecRequest" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerExecResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/attach": { + "post": { + "operationId": "Containers_Attach", + "x-ms-examples": { + "ContainerAttach": { + "$ref": "./examples/ContainerAttach.json" + } + }, + "summary": "Attach to the output of a specific container instance.", + "description": "Attach to the output stream of a specific container instance in a specified resource group and container group.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + }, + { + "name": "containerName", + "in": "path", + "description": "The name of the container instance.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ContainerAttachResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/cachedImages": { + "get": { + "operationId": "Location_ListCachedImages", + "x-ms-examples": { + "CachedImages": { + "$ref": "./examples/CachedImagesList.json" + } + }, + "summary": "Get the list of cached images.", + "description": "Get the list of cached images on specific OS type for a subscription in a region.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CachedImagesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/capabilities": { + "get": { + "operationId": "Location_ListCapabilities", + "x-ms-examples": { + "GetCapabilities": { + "$ref": "./examples/CapabilitiesList.json" + } + }, + "summary": "Get the list of capabilities of the location.", + "description": "Get the list of CPU/memory/GPU capabilities of a region.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/CapabilitiesListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/outboundNetworkDependenciesEndpoints": { + "get": { + "operationId": "ContainerGroups_GetOutboundNetworkDependenciesEndpoints", + "x-ms-examples": {}, + "summary": "Get all network dependencies for container group.", + "description": "Gets all the network dependencies for this container group to allow complete control of network setting and configuration. For container groups, this will always be an empty list.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ContainerGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/NetworkDependenciesResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}/providers/Microsoft.ContainerInstance/serviceAssociationLinks/default": { + "delete": { + "operationId": "SubnetServiceAssociationLink_Delete", + "x-ms-examples": { + "SubnetServiceAssociationLinkDelete": { + "$ref": "./examples/SubnetServiceAssociationLinkDelete.json" + } + }, + "summary": "Delete container group virtual network association links.", + "description": "Delete container group virtual network association links. The operation does not delete other resources provided by the user.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/VirtualNetworkNameParameter" + }, + { + "$ref": "#/parameters/SubnetNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Delete started." + }, + "204": { + "description": "No Content - the specified container group was not found." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "Container": { + "description": "A container instance.", + "type": "object", + "required": [ + "properties", + "name" + ], + "properties": { + "name": { + "description": "The user-provided name of the container instance.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": true, + "description": "The properties of the container instance.", + "$ref": "#/definitions/ContainerProperties" + } + } + }, + "ContainerProperties": { + "description": "The container instance properties.", + "type": "object", + "properties": { + "image": { + "description": "The name of the image used to create the container instance.", + "type": "string" + }, + "command": { + "description": "The commands to execute within the container instance in exec form.", + "type": "array", + "items": { + "type": "string" + } + }, + "ports": { + "description": "The exposed ports on the container instance.", + "type": "array", + "items": { + "$ref": "#/definitions/ContainerPort" + }, + "x-ms-identifiers": [ + "port" + ] + }, + "environmentVariables": { + "description": "The environment variables to set in the container instance.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "instanceView": { + "description": "The instance view of the container instance. Only valid in response.", + "readOnly": true, + "type": "object", + "properties": { + "restartCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The number of times that the container instance has been restarted." + }, + "currentState": { + "readOnly": true, + "description": "Current container instance state.", + "$ref": "#/definitions/ContainerState" + }, + "previousState": { + "readOnly": true, + "description": "Previous container instance state.", + "$ref": "#/definitions/ContainerState" + }, + "events": { + "readOnly": true, + "description": "The events of the container instance.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + }, + "x-ms-identifiers": [ + "name", + "type" + ] + } + } + }, + "resources": { + "description": "The resource requirements of the container instance.", + "$ref": "#/definitions/ResourceRequirements" + }, + "volumeMounts": { + "description": "The volume mounts available to the container instance.", + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "livenessProbe": { + "description": "The liveness probe.", + "$ref": "#/definitions/ContainerProbe" + }, + "readinessProbe": { + "description": "The readiness probe.", + "$ref": "#/definitions/ContainerProbe" + }, + "securityContext": { + "description": "The container security properties.", + "$ref": "#/definitions/SecurityContextDefinition" + }, + "configMap": { + "description": "The config map.", + "$ref": "#/definitions/ConfigMap" + } + } + }, + "ConfigMap": { + "description": "The container config map.", + "type": "object", + "properties": { + "keyValuePairs": { + "type": "object", + "additionalProperties": { + "type": "string", + "description": "The list of key value pairs associated with the config map of the container." + }, + "description": "The key value pairs dictionary in the config map." + } + } + }, + "SecurityContextDefinition": { + "description": "The security context for the container.", + "type": "object", + "properties": { + "privileged": { + "type": "boolean", + "description": "The flag to determine if the container permissions is elevated to Privileged." + }, + "allowPrivilegeEscalation": { + "type": "boolean", + "description": "A boolean value indicating whether the init process can elevate its privileges" + }, + "capabilities": { + "description": "The capabilities to add or drop from a container.", + "$ref": "#/definitions/SecurityContextCapabilitiesDefinition" + }, + "runAsGroup": { + "type": "integer", + "format": "int32", + "description": "Sets the User GID for the container." + }, + "runAsUser": { + "type": "integer", + "format": "int32", + "description": "Sets the User UID for the container." + }, + "seccompProfile": { + "type": "string", + "description": "a base64 encoded string containing the contents of the JSON in the seccomp profile" + } + } + }, + "SecurityContextCapabilitiesDefinition": { + "description": "The capabilities to add or drop from a container.", + "type": "object", + "properties": { + "add": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The capabilities to add to the container." + }, + "drop": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The capabilities to drop from the container." + } + } + }, + "ContainerState": { + "description": "The container instance state.", + "type": "object", + "readOnly": true, + "properties": { + "state": { + "type": "string", + "readOnly": true, + "description": "The state of the container instance." + }, + "startTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The date-time when the container instance state started." + }, + "exitCode": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The container instance exit codes correspond to those from the `docker run` command." + }, + "finishTime": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The date-time when the container instance state finished." + }, + "detailStatus": { + "type": "string", + "readOnly": true, + "description": "The human-readable status of the container instance state." + } + } + }, + "Event": { + "description": "A container group or container instance event.", + "type": "object", + "readOnly": true, + "properties": { + "count": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The count of the event." + }, + "firstTimestamp": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The date-time of the earliest logged event." + }, + "lastTimestamp": { + "type": "string", + "readOnly": true, + "format": "date-time", + "description": "The date-time of the latest logged event." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The event name." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The event message." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "The event type." + } + } + }, + "ResourceRequirements": { + "description": "The resource requirements.", + "type": "object", + "required": [ + "requests" + ], + "properties": { + "requests": { + "description": "The resource requests of this container instance.", + "$ref": "#/definitions/ResourceRequests" + }, + "limits": { + "description": "The resource limits of this container instance.", + "$ref": "#/definitions/ResourceLimits" + } + } + }, + "ResourceRequests": { + "description": "The resource requests.", + "type": "object", + "required": [ + "memoryInGB", + "cpu" + ], + "properties": { + "memoryInGB": { + "description": "The memory request in GB of this container instance.", + "type": "number", + "format": "double" + }, + "cpu": { + "description": "The CPU request of this container instance.", + "type": "number", + "format": "double" + }, + "gpu": { + "description": "The GPU request of this container instance.", + "$ref": "#/definitions/GpuResource" + } + } + }, + "ResourceLimits": { + "description": "The resource limits.", + "type": "object", + "properties": { + "memoryInGB": { + "description": "The memory limit in GB of this container instance.", + "type": "number", + "format": "double" + }, + "cpu": { + "description": "The CPU limit of this container instance.", + "type": "number", + "format": "double" + }, + "gpu": { + "description": "The GPU limit of this container instance.", + "$ref": "#/definitions/GpuResource" + } + } + }, + "GpuResource": { + "description": "The GPU resource.", + "type": "object", + "required": [ + "count", + "sku" + ], + "properties": { + "count": { + "description": "The count of the GPU resource.", + "type": "integer", + "format": "int32" + }, + "sku": { + "type": "string", + "description": "The SKU of the GPU resource.", + "enum": [ + "K80", + "P100", + "V100" + ], + "x-ms-enum": { + "name": "GpuSku", + "modelAsString": true + } + } + } + }, + "AzureFileVolume": { + "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.", + "type": "object", + "required": [ + "shareName", + "storageAccountName" + ], + "properties": { + "shareName": { + "description": "The name of the Azure File share to be mounted as a volume.", + "type": "string" + }, + "readOnly": { + "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.", + "type": "boolean" + }, + "storageAccountName": { + "description": "The name of the storage account that contains the Azure File share.", + "type": "string" + }, + "storageAccountKey": { + "description": "The storage account access key used to access the Azure File share.", + "type": "string" + } + } + }, + "EmptyDirVolume": { + "description": "The empty directory volume.", + "type": "object", + "properties": {} + }, + "SecretVolume": { + "description": "The secret volume.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "GitRepoVolume": { + "description": "Represents a volume that is populated with the contents of a git repository", + "required": [ + "repository" + ], + "properties": { + "directory": { + "description": "Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.", + "type": "string" + }, + "repository": { + "description": "Repository URL", + "type": "string" + }, + "revision": { + "description": "Commit hash for the specified revision.", + "type": "string" + } + } + }, + "Volume": { + "description": "The properties of the volume.", + "type": "object", + "required": [ + "name" + ], + "properties": { + "name": { + "description": "The name of the volume.", + "type": "string" + }, + "azureFile": { + "description": "The Azure File volume.", + "$ref": "#/definitions/AzureFileVolume" + }, + "emptyDir": { + "description": "The empty directory volume.", + "$ref": "#/definitions/EmptyDirVolume" + }, + "secret": { + "description": "The secret volume.", + "$ref": "#/definitions/SecretVolume" + }, + "gitRepo": { + "description": "The git repo volume.", + "$ref": "#/definitions/GitRepoVolume" + } + } + }, + "VolumeMount": { + "description": "The properties of the volume mount.", + "type": "object", + "required": [ + "name", + "mountPath" + ], + "properties": { + "name": { + "description": "The name of the volume mount.", + "type": "string" + }, + "mountPath": { + "description": "The path within the container where the volume should be mounted. Must not contain colon (:).", + "type": "string" + }, + "readOnly": { + "description": "The flag indicating whether the volume mount is read-only.", + "type": "boolean" + } + } + }, + "ContainerExec": { + "type": "object", + "description": "The container execution command, for liveness or readiness probe", + "properties": { + "command": { + "description": "The commands to execute within the container.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "ContainerHttpGet": { + "type": "object", + "description": "The container Http Get settings, for liveness or readiness probe", + "properties": { + "path": { + "description": "The path to probe.", + "type": "string" + }, + "port": { + "type": "integer", + "description": "The port number to probe.", + "format": "int32" + }, + "scheme": { + "description": "The scheme.", + "type": "string", + "enum": [ + "http", + "https" + ], + "x-ms-enum": { + "name": "Scheme", + "modelAsString": true + } + }, + "httpHeaders": { + "description": "The HTTP headers.", + "type": "array", + "items": { + "$ref": "#/definitions/HttpHeader" + }, + "x-ms-identifiers": [ + "name" + ] + } + }, + "required": [ + "port" + ] + }, + "ContainerProbe": { + "type": "object", + "description": "The container probe, for liveness or readiness", + "properties": { + "exec": { + "description": "The execution command to probe", + "$ref": "#/definitions/ContainerExec" + }, + "httpGet": { + "description": "The Http Get settings to probe", + "$ref": "#/definitions/ContainerHttpGet" + }, + "initialDelaySeconds": { + "description": "The initial delay seconds.", + "type": "integer", + "format": "int32" + }, + "periodSeconds": { + "description": "The period seconds.", + "type": "integer", + "format": "int32" + }, + "failureThreshold": { + "description": "The failure threshold.", + "type": "integer", + "format": "int32" + }, + "successThreshold": { + "description": "The success threshold.", + "type": "integer", + "format": "int32" + }, + "timeoutSeconds": { + "description": "The timeout seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "ContainerGroup": { + "description": "A container group.", + "allOf": [ + { + "$ref": "#/definitions/Resource" + }, + { + "$ref": "#/definitions/ContainerGroupProperties" + } + ] + }, + "ContainerGroupProperties": { + "description": "The container group properties", + "type": "object", + "required": [ + "properties" + ], + "properties": { + "identity": { + "$ref": "#/definitions/ContainerGroupIdentity", + "description": "The identity of the container group, if configured." + }, + "properties": { + "x-ms-client-flatten": true, + "type": "object", + "description": "The container group properties", + "properties": { + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the container group. This only appears in the response." + }, + "containers": { + "type": "array", + "description": "The containers within the container group.", + "items": { + "$ref": "#/definitions/Container" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "imageRegistryCredentials": { + "type": "array", + "description": "The image registry credentials by which the container group is created from.", + "items": { + "$ref": "#/definitions/ImageRegistryCredential" + }, + "x-ms-identifiers": [ + "username" + ] + }, + "restartPolicy": { + "type": "string", + "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n", + "enum": [ + "Always", + "OnFailure", + "Never" + ], + "x-ms-enum": { + "name": "ContainerGroupRestartPolicy", + "modelAsString": true + } + }, + "ipAddress": { + "description": "The IP address type of the container group.", + "$ref": "#/definitions/IpAddress" + }, + "osType": { + "type": "string", + "description": "The operating system type required by the containers in the container group.", + "enum": [ + "Windows", + "Linux" + ], + "x-ms-enum": { + "name": "OperatingSystemTypes", + "modelAsString": true + } + }, + "volumes": { + "type": "array", + "description": "The list of volumes that can be mounted by containers in this container group.", + "items": { + "$ref": "#/definitions/Volume" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "instanceView": { + "description": "The instance view of the container group. Only valid in response.", + "readOnly": true, + "type": "object", + "properties": { + "events": { + "description": "The events of this container group.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Event" + }, + "x-ms-identifiers": [ + "name", + "type" + ] + }, + "state": { + "readOnly": true, + "type": "string", + "description": "The state of the container group. Only valid in response." + } + } + }, + "diagnostics": { + "description": "The diagnostic information for a container group.", + "$ref": "#/definitions/ContainerGroupDiagnostics" + }, + "subnetIds": { + "type": "array", + "description": "The subnet resource IDs for a container group.", + "items": { + "$ref": "#/definitions/ContainerGroupSubnetId" + } + }, + "dnsConfig": { + "description": "The DNS config information for a container group.", + "$ref": "#/definitions/DnsConfiguration" + }, + "sku": { + "description": "The SKU for a container group.", + "$ref": "#/definitions/ContainerGroupSku" + }, + "encryptionProperties": { + "description": "The encryption properties for a container group.", + "$ref": "#/definitions/EncryptionProperties" + }, + "initContainers": { + "type": "array", + "description": "The init containers for a container group.", + "items": { + "$ref": "#/definitions/InitContainerDefinition" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "extensions": { + "type": "array", + "description": "extensions used by virtual kubelet", + "items": { + "$ref": "#/definitions/DeploymentExtensionSpec" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "confidentialComputeProperties": { + "description": "The properties for confidential container group", + "$ref": "#/definitions/ConfidentialComputeProperties" + }, + "priority": { + "type": "string", + "description": "The priority of the container group.", + "enum": [ + "Regular", + "Spot" + ], + "x-ms-enum": { + "name": "ContainerGroupPriority", + "modelAsString": true + } + }, + "containerGroupProfile": { + "description": "The reference container group profile properties.", + "$ref": "#/definitions/ContainerGroupProfileReferenceDefinition" + }, + "standbyPoolProfile": { + "description": "The reference standby pool profile properties.", + "$ref": "#/definitions/StandbyPoolProfileDefinition" + }, + "isCreatedFromStandbyPool": { + "readOnly": true, + "type": "boolean", + "description": "The flag indicating whether the container group is created by standby pool." + } + }, + "required": [ + "containers" + ] + } + } + }, + "ContainerGroupProfileReferenceDefinition": { + "description": "The container group profile reference.", + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "arm-id", + "description": "The container group profile reference id.This will be an ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroupProfiles/{containerGroupProfileName}'." + }, + "revision": { + "type": "integer", + "format": "int32", + "description": "The container group profile reference revision." + } + } + }, + "StandbyPoolProfileDefinition": { + "description": "The standby pool profile reference.", + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "arm-id", + "description": "The standby pool profile reference id.This will be an ARM resource id in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.StandbyPool/standbyContainerGroupPools/{standbyPoolName}'." + }, + "failContainerGroupCreateOnReuseFailure": { + "type": "boolean", + "description": "The flag to determine whether ACI should fail the create request if the container group can not be obtained from standby pool." + } + } + }, + "DeploymentExtensionSpec": { + "description": "Extension sidecars to be added to the deployment.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the extension." + }, + "properties": { + "type": "object", + "x-ms-client-flatten": true, + "description": "Extension specific properties", + "properties": { + "extensionType": { + "type": "string", + "description": "Type of extension to be added." + }, + "version": { + "type": "string", + "description": "Version of the extension being used." + }, + "settings": { + "type": "object", + "description": "Settings for the extension." + }, + "protectedSettings": { + "type": "object", + "description": "Protected settings for the extension." + } + }, + "required": [ + "extensionType", + "version" + ] + } + }, + "required": [ + "name" + ] + }, + "ContainerGroupIdentity": { + "description": "Identity for the container group.", + "properties": { + "principalId": { + "readOnly": true, + "type": "string", + "description": "The principal id of the container group identity. This property will only be provided for a system assigned identity." + }, + "tenantId": { + "readOnly": true, + "type": "string", + "description": "The tenant id associated with the container group. This property will only be provided for a system assigned identity." + }, + "type": { + "type": "string", + "description": "The type of identity used for the container group. 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 container group.", + "enum": [ + "SystemAssigned", + "UserAssigned", + "SystemAssigned, UserAssigned", + "None" + ], + "x-ms-enum": { + "name": "ResourceIdentityType", + "modelAsString": false + } + }, + "userAssignedIdentities": { + "type": "object", + "description": "The list of user identities associated with the container group.", + "additionalProperties": { + "description": "The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "$ref": "#/definitions/UserAssignedIdentities" + } + } + } + }, + "UserAssignedIdentities": { + "type": "object", + "description": "The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.", + "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." + } + } + }, + "ImageRegistryCredential": { + "description": "Image registry credential.", + "type": "object", + "properties": { + "server": { + "type": "string", + "description": "The Docker image registry server without a protocol such as \"http\" and \"https\"." + }, + "username": { + "type": "string", + "description": "The username for the private registry." + }, + "password": { + "type": "string", + "description": "The password for the private registry.", + "x-ms-secret": true + }, + "identity": { + "type": "string", + "description": "The identity for the private registry." + }, + "identityUrl": { + "type": "string", + "description": "The identity URL for the private registry." + } + }, + "required": [ + "server" + ] + }, + "ContainerGroupDiagnostics": { + "description": "Container group diagnostic information.", + "type": "object", + "properties": { + "logAnalytics": { + "description": "Container group log analytics information.", + "$ref": "#/definitions/LogAnalytics" + } + } + }, + "LogAnalytics": { + "description": "Container group log analytics information.", + "type": "object", + "properties": { + "workspaceId": { + "description": "The workspace id for log analytics", + "type": "string" + }, + "workspaceKey": { + "description": "The workspace key for log analytics", + "type": "string", + "x-ms-secret": true + }, + "logType": { + "type": "string", + "description": "The log type to be used.", + "enum": [ + "ContainerInsights", + "ContainerInstanceLogs" + ], + "x-ms-enum": { + "name": "LogAnalyticsLogType", + "modelAsString": true + } + }, + "metadata": { + "type": "object", + "description": "Metadata for log analytics.", + "additionalProperties": { + "type": "string" + } + }, + "workspaceResourceId": { + "description": "The workspace resource id for log analytics", + "type": "string", + "x-ms-secret": true + } + }, + "required": [ + "workspaceId", + "workspaceKey" + ] + }, + "ContainerGroupSubnetId": { + "description": "Container group subnet information.", + "type": "object", + "properties": { + "id": { + "description": "Resource ID of virtual network and subnet.", + "type": "string" + }, + "name": { + "description": "Friendly name for the subnet.", + "type": "string" + } + }, + "required": [ + "id" + ] + }, + "IpAddress": { + "description": "IP address for the container group.", + "type": "object", + "properties": { + "ports": { + "type": "array", + "description": "The list of ports exposed on the container group.", + "items": { + "$ref": "#/definitions/Port" + }, + "x-ms-identifiers": [ + "port" + ] + }, + "type": { + "type": "string", + "description": "Specifies if the IP is exposed to the public internet or private VNET.", + "enum": [ + "Public", + "Private" + ], + "x-ms-enum": { + "name": "ContainerGroupIpAddressType", + "modelAsString": true + } + }, + "ip": { + "type": "string", + "description": "The IP exposed to the public internet." + }, + "dnsNameLabel": { + "type": "string", + "description": "The Dns name label for the IP." + }, + "autoGeneratedDomainNameLabelScope": { + "type": "string", + "description": "The value representing the security enum. The 'Unsecure' value is the default value if not selected and means the object's domain name label is not secured against subdomain takeover. The 'TenantReuse' value is the default value if selected and means the object's domain name label can be reused within the same tenant. The 'SubscriptionReuse' value means the object's domain name label can be reused within the same subscription. The 'ResourceGroupReuse' value means the object's domain name label can be reused within the same resource group. The 'NoReuse' value means the object's domain name label cannot be reused within the same resource group, subscription, or tenant.", + "enum": [ + "Unsecure", + "TenantReuse", + "SubscriptionReuse", + "ResourceGroupReuse", + "Noreuse" + ], + "default": "Unsecure", + "x-ms-enum": { + "name": "dnsNameLabelReusePolicy", + "modelAsString": true + } + }, + "fqdn": { + "readOnly": true, + "type": "string", + "description": "The FQDN for the IP." + } + }, + "required": [ + "ports", + "type" + ] + }, + "Port": { + "description": "The port exposed on the container group.", + "type": "object", + "properties": { + "protocol": { + "type": "string", + "description": "The protocol associated with the port.", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "ContainerGroupNetworkProtocol", + "modelAsString": true + } + }, + "port": { + "type": "integer", + "description": "The port number.", + "format": "int32" + } + }, + "required": [ + "port" + ] + }, + "ContainerPort": { + "description": "The port exposed on the container instance.", + "type": "object", + "properties": { + "protocol": { + "type": "string", + "description": "The protocol associated with the port.", + "enum": [ + "TCP", + "UDP" + ], + "x-ms-enum": { + "name": "ContainerNetworkProtocol", + "modelAsString": true + } + }, + "port": { + "type": "integer", + "format": "int32", + "description": "The port number exposed within the container group." + } + }, + "required": [ + "port" + ] + }, + "EnvironmentVariable": { + "description": "The environment variable to set within the container instance.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the environment variable." + }, + "value": { + "type": "string", + "description": "The value of the environment variable." + }, + "secureValue": { + "type": "string", + "description": "The value of the secure environment variable.", + "x-ms-secret": true + } + }, + "required": [ + "name" + ] + }, + "OperationListResult": { + "description": "The operation list response that contains all operations for Azure Container Instance service.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The list of operations." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of operations." + } + } + }, + "Operation": { + "description": "An operation for Azure Container Instance service.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the operation." + }, + "display": { + "description": "The display information of the operation.", + "type": "object", + "properties": { + "provider": { + "description": "The name of the provider of the operation.", + "type": "string" + }, + "resource": { + "type": "string", + "description": "The name of the resource type of the operation." + }, + "operation": { + "description": "The friendly name of the operation.", + "type": "string" + }, + "description": { + "description": "The description of the operation.", + "type": "string" + } + } + }, + "properties": { + "type": "object", + "description": "The additional properties.", + "x-ms-client-flatten": true + }, + "origin": { + "type": "string", + "description": "The intended executor of the operation.", + "enum": [ + "User", + "System" + ], + "x-ms-enum": { + "name": "ContainerInstanceOperationsOrigin", + "modelAsString": true + } + } + }, + "required": [ + "name", + "display" + ] + }, + "UsageListResult": { + "description": "The response containing the usage data", + "type": "object", + "properties": { + "value": { + "readOnly": true, + "type": "array", + "description": "The usage data.", + "items": { + "$ref": "#/definitions/Usage" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "Usage": { + "description": "A single usage result", + "type": "object", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Id of the usage result" + }, + "unit": { + "readOnly": true, + "type": "string", + "description": "Unit of the usage result" + }, + "currentValue": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The current usage of the resource" + }, + "limit": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The maximum permitted usage of the resource." + }, + "name": { + "readOnly": true, + "type": "object", + "description": "The name object of the resource", + "properties": { + "value": { + "readOnly": true, + "type": "string", + "description": "The name of the resource" + }, + "localizedValue": { + "readOnly": true, + "type": "string", + "description": "The localized name of the resource" + } + } + } + } + }, + "ContainerGroupListResult": { + "description": "The container group list response that contains the container group properties.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ContainerGroup" + }, + "description": "The list of container groups." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of container groups." + } + } + }, + "Logs": { + "description": "The logs.", + "type": "object", + "properties": { + "content": { + "type": "string", + "description": "The content of the log." + } + } + }, + "ContainerExecRequest": { + "description": "The container exec request.", + "type": "object", + "properties": { + "command": { + "type": "string", + "description": "The command to be executed." + }, + "terminalSize": { + "type": "object", + "description": "The size of the terminal.", + "properties": { + "rows": { + "type": "integer", + "format": "int32", + "description": "The row size of the terminal" + }, + "cols": { + "type": "integer", + "format": "int32", + "description": "The column size of the terminal" + } + } + } + } + }, + "ContainerExecResponse": { + "description": "The information for the container exec command.", + "type": "object", + "properties": { + "webSocketUri": { + "type": "string", + "description": "The uri for the exec websocket." + }, + "password": { + "type": "string", + "description": "The password to start the exec command.", + "x-ms-secret": true + } + } + }, + "ContainerAttachResponse": { + "description": "The information for the output stream from container attach.", + "type": "object", + "properties": { + "webSocketUri": { + "type": "string", + "description": "The uri for the output stream from the attach." + }, + "password": { + "type": "string", + "description": "The password to the output stream from the attach. Send as an Authorization header value when connecting to the websocketUri.", + "x-ms-secret": true + } + } + }, + "HttpHeader": { + "description": "The HTTP header.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The header name." + }, + "value": { + "type": "string", + "description": "The header value." + } + } + }, + "DnsConfiguration": { + "description": "DNS configuration for the container group.", + "type": "object", + "required": [ + "nameServers" + ], + "properties": { + "nameServers": { + "description": "The DNS servers for the container group.", + "type": "array", + "items": { + "type": "string" + } + }, + "searchDomains": { + "description": "The DNS search domains for hostname lookup in the container group.", + "type": "string" + }, + "options": { + "description": "The DNS options for the container group.", + "type": "string" + } + } + }, + "Resource": { + "type": "object", + "description": "The Resource model definition.", + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource id." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + }, + "location": { + "type": "string", + "description": "The resource location." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The resource tags." + }, + "zones": { + "description": "The zones for the container group.", + "type": "array", + "items": { + "type": "string" + } + } + }, + "x-ms-azure-resource": true + }, + "CachedImagesListResult": { + "description": "The response containing cached images.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/cachedImages" + }, + "x-ms-identifiers": [ + "image" + ], + "description": "The list of cached images." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of cached images." + } + } + }, + "cachedImages": { + "description": "The cached image and OS type.", + "type": "object", + "required": [ + "osType", + "image" + ], + "properties": { + "osType": { + "type": "string", + "description": "The OS type of the cached image." + }, + "image": { + "type": "string", + "description": "The cached image name." + } + } + }, + "CapabilitiesListResult": { + "description": "The response containing list of capabilities.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Capabilities" + }, + "x-ms-identifiers": [ + "resourceType", + "location" + ], + "description": "The list of capabilities." + }, + "nextLink": { + "type": "string", + "description": "The URI to fetch the next page of capabilities." + } + } + }, + "Capabilities": { + "description": "The regional capabilities.", + "type": "object", + "properties": { + "resourceType": { + "type": "string", + "readOnly": true, + "description": "The resource type that this capability describes." + }, + "osType": { + "type": "string", + "readOnly": true, + "description": "The OS type that this capability describes." + }, + "location": { + "type": "string", + "readOnly": true, + "description": "The resource location." + }, + "ipAddressType": { + "type": "string", + "readOnly": true, + "description": "The ip address type that this capability describes." + }, + "gpu": { + "type": "string", + "readOnly": true, + "description": "The GPU sku that this capability describes." + }, + "capabilities": { + "type": "object", + "readOnly": true, + "description": "The supported capabilities.", + "properties": { + "maxMemoryInGB": { + "type": "number", + "readOnly": true, + "description": "The maximum allowed memory request in GB." + }, + "maxCpu": { + "type": "number", + "readOnly": true, + "description": "The maximum allowed CPU request in cores." + }, + "maxGpuCount": { + "type": "number", + "readOnly": true, + "description": "The maximum allowed GPU count." + } + } + } + } + }, + "ContainerGroupSku": { + "description": "The container group SKU.", + "type": "string", + "enum": [ + "Standard", + "Dedicated", + "Confidential" + ], + "x-ms-enum": { + "name": "ContainerGroupSku", + "modelAsString": true + } + }, + "EncryptionProperties": { + "description": "The container group encryption properties.", + "type": "object", + "properties": { + "vaultBaseUrl": { + "description": "The keyvault base url.", + "type": "string" + }, + "keyName": { + "description": "The encryption key name.", + "type": "string" + }, + "keyVersion": { + "description": "The encryption key version.", + "type": "string" + }, + "identity": { + "type": "string", + "description": "The keyvault managed identity." + } + }, + "required": [ + "vaultBaseUrl", + "keyName", + "keyVersion" + ] + }, + "InitContainerDefinition": { + "description": "The init container definition.", + "type": "object", + "properties": { + "name": { + "description": "The name for the init container.", + "type": "string" + }, + "properties": { + "description": "The properties for the init container.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/InitContainerPropertiesDefinition" + } + }, + "required": [ + "name", + "properties" + ] + }, + "InitContainerPropertiesDefinition": { + "description": "The init container definition properties.", + "type": "object", + "properties": { + "image": { + "description": "The image of the init container.", + "type": "string" + }, + "command": { + "description": "The command to execute within the init container in exec form.", + "type": "array", + "items": { + "type": "string" + } + }, + "environmentVariables": { + "description": "The environment variables to set in the init container.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentVariable" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "instanceView": { + "description": "The instance view of the init container. Only valid in response.", + "readOnly": true, + "type": "object", + "properties": { + "restartCount": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The number of times that the init container has been restarted." + }, + "currentState": { + "readOnly": true, + "description": "The current state of the init container.", + "$ref": "#/definitions/ContainerState" + }, + "previousState": { + "readOnly": true, + "description": "The previous state of the init container.", + "$ref": "#/definitions/ContainerState" + }, + "events": { + "readOnly": true, + "description": "The events of the init container.", + "type": "array", + "items": { + "$ref": "#/definitions/Event" + }, + "x-ms-identifiers": [ + "name", + "type" + ] + } + } + }, + "volumeMounts": { + "description": "The volume mounts available to the init container.", + "type": "array", + "items": { + "$ref": "#/definitions/VolumeMount" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "securityContext": { + "description": "The container security properties.", + "$ref": "#/definitions/SecurityContextDefinition" + } + } + }, + "CloudError": { + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "description": "An error response from the Container Instance 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" + }, + "x-ms-identifiers": [ + "message", + "target" + ], + "description": "A list of additional details about the error." + } + }, + "description": "An error response from the Container Instance service." + }, + "NetworkDependenciesResponse": { + "description": "Response for network dependencies, always empty list.", + "type": "array", + "items": { + "type": "string" + } + }, + "ConfidentialComputeProperties": { + "description": "The properties for confidential container group", + "type": "object", + "properties": { + "ccePolicy": { + "type": "string", + "description": "The base64 encoded confidential compute enforcement policy" + } + } + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.", + "x-ms-parameter-location": "client" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The identifier for the physical azure location.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client API version", + "x-ms-parameter-location": "client" + }, + "ResourceGroupNameParameter": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "ContainerGroupNameParameter": { + "name": "containerGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the container 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" + }, + "SubnetNameParameter": { + "name": "subnetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the subnet.", + "x-ms-parameter-location": "method" + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "required": true, + "type": "string", + "description": "The operation Id.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/CachedImagesList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/CachedImagesList.json new file mode 100644 index 000000000000..ddc3207b60f4 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/CachedImagesList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subid", + "location": "westcentralus", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "osType": "Linux", + "image": "ubuntu:16.04" + }, + { + "osType": "Linux", + "image": "alpine:3.6" + }, + { + "osType": "Windows", + "image": "microsoft/nanoserver:10.0.14393.2485" + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/CapabilitiesList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/CapabilitiesList.json new file mode 100644 index 000000000000..9bbdbe7194fe --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/CapabilitiesList.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "subid", + "location": "westus", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "containerGroups", + "osType": "Linux", + "location": "West US", + "ipAddressType": "Public", + "gpu": "K80", + "capabilities": { + "maxMemoryInGB": 14, + "maxCpu": 4, + "maxGpuCount": 4 + } + }, + { + "resourceType": "containerGroups", + "osType": "Windows", + "location": "West US", + "ipAddressType": "Public", + "gpu": "None", + "capabilities": { + "maxMemoryInGB": 14, + "maxCpu": 4, + "maxGpuCount": 0 + } + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerAttach.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerAttach.json new file mode 100644 index 000000000000..f3c9cb70238f --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerAttach.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "containerName": "container1" + }, + "responses": { + "200": { + "body": { + "webSocketUri": "wss://web-socket-uri", + "password": "password" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerExec.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerExec.json new file mode 100644 index 000000000000..ec34b861e41c --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerExec.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "containerName": "container1", + "containerExecRequest": { + "command": "/bin/bash", + "terminalSize": { + "rows": 12, + "cols": 12 + } + } + }, + "responses": { + "200": { + "body": { + "webSocketUri": "wss://web-socket-uri", + "password": "password" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupCreateConfidential.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupCreateConfidential.json new file mode 100644 index 000000000000..20e44336b9dc --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupCreateConfidential.json @@ -0,0 +1,184 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "zones": [ + "1" + ], + "containerGroup": { + "location": "westeurope", + "properties": { + "containers": [ + { + "name": "accdemo", + "properties": { + "command": [], + "environmentVariables": [], + "image": "confiimage", + "ports": [ + { + "port": 8000 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "securityContext": { + "privileged": false, + "capabilities": { + "add": [ + "CAP_NET_ADMIN" + ] + } + } + } + } + ], + "imageRegistryCredentials": [], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 8000 + } + ], + "type": "Public" + }, + "osType": "Linux", + "sku": "Confidential", + "confidentialComputeProperties": { + "ccePolicy": "eyJhbGxvd19hbGwiOiB0cnVlLCAiY29udGFpbmVycyI6IHsibGVuZ3RoIjogMCwgImVsZW1lbnRzIjogbnVsbH19" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": "Confidential", + "isCreatedFromStandbyPool": false, + "provisioningState": "Succeeded", + "containers": [ + { + "name": "accdemo", + "properties": { + "image": "confiimage", + "command": [], + "ports": [ + { + "port": 8000 + } + ], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1.5, + "cpu": 1.0 + } + }, + "securityContext": { + "privileged": false, + "capabilities": { + "add": [ + "CAP_NET_ADMIN" + ] + } + } + } + } + ], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 8000 + } + ], + "type": "Public" + }, + "initContainers": [], + "imageRegistryCredentials": [], + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Running" + }, + "confidentialComputeProperties": { + "ccePolicy": "eyJhbGxvd19hbGwiOiB0cnVlLCAiY29udGFpbmVycyI6IHsibGVuZ3RoIjogMCwgImVsZW1lbnRzIjogbnVsbH19" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "westeurope" + } + }, + "201": { + "body": { + "properties": { + "sku": "Confidential", + "isCreatedFromStandbyPool": false, + "provisioningState": "Succeeded", + "containers": [ + { + "name": "accdemo", + "properties": { + "image": "confiimage", + "command": [], + "ports": [ + { + "port": 8000 + } + ], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1.5, + "cpu": 1.0 + } + }, + "securityContext": { + "privileged": false, + "capabilities": { + "add": [ + "CAP_NET_ADMIN" + ] + } + } + } + } + ], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 8000 + } + ], + "type": "Public" + }, + "initContainers": [], + "imageRegistryCredentials": [], + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Running" + }, + "confidentialComputeProperties": { + "ccePolicy": "eyJhbGxvd19hbGwiOiB0cnVlLCAiY29udGFpbmVycyI6IHsibGVuZ3RoIjogMCwgImVsZW1lbnRzIjogbnVsbH19" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "westeurope" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupCreateOrUpdateStandbyPool.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupCreateOrUpdateStandbyPool.json new file mode 100644 index 000000000000..085e2cea968f --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupCreateOrUpdateStandbyPool.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "zones": [ + "1" + ], + "containerGroup": { + "location": "west us", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "configMap": { + "keyValuePairs": { + "Newkey": "value" + } + } + } + } + ], + "containerGroupProfile": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroupProfiles/democgp", + "revision": 1 + }, + "standbyPoolProfile": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.StandbyPool/standbyContainerGroupPools/demopool" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": "Standard", + "isCreatedFromStandbyPool": true, + "provisioningState": "Succeeded", + "containers": [ + { + "name": "demo1", + "properties": { + "image": "nginx", + "configMap": { + "keyValuePairs": { + "Newkey": "value" + } + }, + "command": [], + "ports": [ + { + "port": 80 + } + ], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1.5, + "cpu": 1.0 + } + } + } + } + ], + "initContainers": [], + "imageRegistryCredentials": [], + "containerGroupProfile": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroupProfiles/democgp", + "revision": 1 + }, + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Running" + } + }, + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus2" + } + }, + "201": { + "body": { + "properties": { + "sku": "Standard", + "isCreatedFromStandbyPool": true, + "provisioningState": "Succeeded", + "containers": [ + { + "name": "demo1", + "properties": { + "image": "nginx", + "configMap": { + "keyValuePairs": { + "Newkey": "value" + } + }, + "command": [], + "ports": [ + { + "port": 80 + } + ], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1.5, + "cpu": 1.0 + } + } + } + } + ], + "initContainers": [], + "imageRegistryCredentials": [], + "containerGroupProfile": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroupProfiles/democgp", + "revision": 1 + }, + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Running" + } + }, + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus2" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupEncryptionProperties.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupEncryptionProperties.json new file mode 100644 index 000000000000..8467e64e2862 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupEncryptionProperties.json @@ -0,0 +1,194 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "zones": [ + "1" + ], + "containerGroup": { + "location": "eastus2", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity": {} + } + }, + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + } + } + } + ], + "imageRegistryCredentials": [], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 80 + } + ], + "type": "Public" + }, + "osType": "Linux", + "encryptionProperties": { + "vaultBaseUrl": "https://testkeyvault.vault.azure.net", + "keyName": "test-key", + "keyVersion": "", + "identity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity" + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": "Standard", + "isCreatedFromStandbyPool": false, + "encryptionProperties": { + "vaultBaseUrl": "https://testkeyvault.vault.azure.net/", + "keyName": "test-key", + "keyVersion": "", + "identity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity" + }, + "provisioningState": "Pending", + "containers": [ + { + "name": "demo1", + "properties": { + "image": "nginx", + "command": [], + "ports": [ + { + "port": 80 + } + ], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1.5, + "cpu": 1.0 + } + } + } + } + ], + "initContainers": [], + "imageRegistryCredentials": [], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 80 + } + ], + "type": "Public" + }, + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Pending" + } + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity": { + "principalId": "", + "clientId": "" + } + }, + "tenantId": "", + "type": "UserAssigned" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus2" + } + }, + "201": { + "body": { + "properties": { + "sku": "Standard", + "isCreatedFromStandbyPool": false, + "encryptionProperties": { + "vaultBaseUrl": "https://testkeyvault.vault.azure.net/", + "keyName": "test-key", + "keyVersion": "key version", + "identity": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity" + }, + "provisioningState": "Running", + "containers": [ + { + "name": "demo1", + "properties": { + "image": "nginx", + "command": [], + "ports": [ + { + "port": 80 + } + ], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1.5, + "cpu": 1.0 + } + } + } + } + ], + "initContainers": [], + "imageRegistryCredentials": [], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 80 + } + ], + "type": "Public" + }, + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Pending" + } + }, + "identity": { + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/container-group-identity": { + "principalId": "", + "clientId": "" + } + }, + "tenantId": "", + "type": "UserAssigned" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus2" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupExtensions.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupExtensions.json new file mode 100644 index 000000000000..9a0c24e8b93d --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupExtensions.json @@ -0,0 +1,210 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "zones": [ + "1" + ], + "containerGroup": { + "location": "eastus2", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + } + } + } + ], + "imageRegistryCredentials": [], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 80 + } + ], + "type": "Private" + }, + "osType": "Linux", + "subnetIds": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-rg-vnet/subnets/test-subnet" + } + ], + "extensions": [ + { + "name": "kube-proxy", + "properties": { + "extensionType": "kube-proxy", + "version": "1.0", + "settings": { + "clusterCidr": "10.240.0.0/16", + "kubeVersion": "v1.9.10" + }, + "protectedSettings": { + "kubeConfig": "" + } + } + }, + { + "name": "vk-realtime-metrics", + "properties": { + "extensionType": "realtime-metrics", + "version": "1.0" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": "Standard", + "isCreatedFromStandbyPool": false, + "provisioningState": "Pending", + "containers": [ + { + "name": "demo1", + "properties": { + "image": "nginx", + "command": [], + "ports": [ + { + "port": 80 + } + ], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1.5, + "cpu": 1.0 + } + } + } + } + ], + "initContainers": [], + "extensions": [ + { + "name": "kube-proxy", + "properties": { + "extensionType": "kube-proxy", + "version": "1.0", + "settings": { + "clusterCidr": "10.240.0.0/16", + "kubeVersion": "v1.9.10" + } + } + }, + { + "name": "vk-realtime-metrics", + "properties": { + "extensionType": "realtime-metrics", + "version": "1.0" + } + } + ], + "imageRegistryCredentials": [], + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Pending" + }, + "subnetIds": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-rg-vnet/subnets/test-subnet" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus2" + } + }, + "201": { + "body": { + "properties": { + "sku": "Standard", + "isCreatedFromStandbyPool": false, + "provisioningState": "Pending", + "containers": [ + { + "name": "demo1", + "properties": { + "image": "nginx", + "command": [], + "ports": [ + { + "port": 80 + } + ], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1.5, + "cpu": 1.0 + } + } + } + } + ], + "initContainers": [], + "extensions": [ + { + "name": "kube-proxy", + "properties": { + "extensionType": "kube-proxy", + "version": "1.0", + "settings": { + "clusterCidr": "10.240.0.0/16", + "kubeVersion": "v1.9.10" + } + } + }, + { + "name": "vk-realtime-metrics", + "properties": { + "extensionType": "realtime-metrics", + "version": "1.0" + } + } + ], + "imageRegistryCredentials": [], + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Running" + }, + "subnetIds": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.Network/virtualNetworks/test-rg-vnet/subnets/test-subnet" + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/test-rg/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus2" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupUsage.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupUsage.json new file mode 100644 index 000000000000..a03657bca6d5 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupUsage.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "subid", + "location": "westcentralus", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 1, + "limit": 2000, + "name": { + "value": "ContainerGroups", + "localizedValue": "Container Groups" + } + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsCreateOrUpdate.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsCreateOrUpdate.json new file mode 100644 index 000000000000..27afd2512667 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsCreateOrUpdate.json @@ -0,0 +1,318 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "zones": [ + "1" + ], + "containerGroup": { + "location": "west us", + "identity": { + "type": "SystemAssigned, UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name": {} + } + }, + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5, + "gpu": { + "count": 1, + "sku": "K80" + } + } + }, + "volumeMounts": [ + { + "name": "volume1", + "mountPath": "/mnt/volume1", + "readOnly": false + }, + { + "name": "volume2", + "mountPath": "/mnt/volume2", + "readOnly": false + }, + { + "name": "volume3", + "mountPath": "/mnt/volume3", + "readOnly": true + } + ] + } + } + ], + "diagnostics": { + "logAnalytics": { + "workspaceId": "workspaceid", + "workspaceKey": "workspaceKey", + "logType": "ContainerInsights", + "metadata": { + "test-key": "test-metadata-value" + }, + "workspaceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg/providers/microsoft.operationalinsights/workspaces/workspace" + } + }, + "subnetIds": [ + { + "id": "[resourceId('Microsoft.Network/virtualNetworks/subnets', parameters('vnetName'), parameters('subnetName'))]" + } + ], + "dnsConfig": { + "nameServers": [ + "1.1.1.1" + ], + "searchDomains": "cluster.local svc.cluster.local", + "options": "ndots:2" + }, + "imageRegistryCredentials": [], + "ipAddress": { + "ports": [ + { + "protocol": "TCP", + "port": 80 + } + ], + "type": "Public", + "dnsNameLabel": "dnsnamelabel1", + "autoGeneratedDomainNameLabelScope": "Unsecure" + }, + "osType": "Linux", + "volumes": [ + { + "name": "volume1", + "azureFile": { + "shareName": "shareName", + "storageAccountName": "accountName", + "storageAccountKey": "accountKey" + } + }, + { + "name": "volume2", + "emptyDir": {} + }, + { + "name": "volume3", + "secret": { + "secretKey1": "SecretValue1InBase64", + "secretKey2": "SecretValue2InBase64" + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5, + "gpu": { + "count": 1, + "sku": "K80" + } + } + }, + "volumeMounts": [ + { + "name": "volume1", + "mountPath": "/mnt/volume1", + "readOnly": false + }, + { + "name": "volume2", + "mountPath": "/mnt/volume2", + "readOnly": false + }, + { + "name": "volume3", + "mountPath": "/mnt/volume3", + "readOnly": true + } + ] + } + } + ], + "diagnostics": { + "logAnalytics": { + "workspaceId": "workspaceid" + } + }, + "dnsConfig": { + "nameServers": [ + "1.1.1.1" + ], + "searchDomains": "cluster.local svc.cluster.local", + "options": "ndots:2" + }, + "imageRegistryCredentials": [], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public", + "dnsNameLabel": "dnsnamelabel1", + "autoGeneratedDomainNameLabelScope": "Unsecure", + "fqdn": "dnsnamelabel1.azure-container.io" + }, + "osType": "Linux", + "isCreatedFromStandbyPool": false, + "provisioningState": "Succeeded", + "volumes": [ + { + "name": "volume1", + "azureFile": { + "shareName": "shareName", + "storageAccountName": "accountName" + } + }, + { + "name": "volume2", + "emptyDir": {} + }, + { + "name": "volume3", + "secret": {} + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + }, + "201": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5, + "gpu": { + "count": 1, + "sku": "K80" + } + } + }, + "volumeMounts": [ + { + "name": "volume1", + "mountPath": "/mnt/volume1", + "readOnly": false + }, + { + "name": "volume2", + "mountPath": "/mnt/volume2", + "readOnly": false + }, + { + "name": "volume3", + "mountPath": "/mnt/volume3", + "readOnly": true + } + ] + } + } + ], + "dnsConfig": { + "nameServers": [ + "1.1.1.1" + ] + }, + "imageRegistryCredentials": [], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public", + "dnsNameLabel": "dnsnamelabel1", + "autoGeneratedDomainNameLabelScope": "Unsecure", + "fqdn": "dnsnamelabel1.azure-container.io" + }, + "osType": "Linux", + "isCreatedFromStandbyPool": false, + "provisioningState": "Succeeded", + "volumes": [ + { + "name": "volume1", + "azureFile": { + "shareName": "shareName", + "storageAccountName": "accountName" + } + }, + { + "name": "volume2", + "emptyDir": {} + }, + { + "name": "volume3", + "secret": {} + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsCreatePriority.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsCreatePriority.json new file mode 100644 index 000000000000..c6f3d9569a5d --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsCreatePriority.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "containerGroup": { + "properties": { + "sku": "Standard", + "containers": [ + { + "name": "test-container-001", + "properties": { + "image": "alpine:latest", + "command": [ + "/bin/sh", + "-c", + "sleep 10" + ], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + } + ], + "restartPolicy": "Never", + "osType": "Linux", + "priority": "Spot" + }, + "location": "eastus" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": "Standard", + "isCreatedFromStandbyPool": false, + "provisioningState": "Succeeded", + "containers": [ + { + "name": "test-container-001", + "properties": { + "image": "alpine:latest", + "command": [ + "/bin/sh", + "-c", + "sleep 10" + ], + "ports": [], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + } + ], + "initContainers": [], + "restartPolicy": "Never", + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Succeeded" + }, + "priority": "Spot" + }, + "id": "/subscriptions/subId/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus" + } + }, + "201": { + "body": { + "properties": { + "sku": "Standard", + "isCreatedFromStandbyPool": false, + "provisioningState": "Created", + "containers": [ + { + "name": "test-container-001", + "properties": { + "image": "alpine:latest", + "command": [ + "/bin/sh", + "-c", + "sleep 10" + ], + "ports": [], + "environmentVariables": [], + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + } + ], + "initContainers": [], + "restartPolicy": "Never", + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Created" + }, + "priority": "Spot" + }, + "id": "/subscriptions/subId/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsDelete.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsDelete.json new file mode 100644 index 000000000000..0eb2d6b600c5 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsDelete.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "mountPath": "/mnt/volume1", + "name": "volume1", + "readOnly": false + } + ] + } + } + ], + "imageRegistryCredentials": [ + { + "server": "azcloudconsoleregistry.azurecr.io", + "username": "azcloudconsoleregistry" + } + ], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public" + }, + "osType": "Linux", + "isCreatedFromStandbyPool": false, + "provisioningState": "Succeeded", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + }, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/locations/location/operations/operationId?api-version=apiVersion" + } + }, + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsGetPriority.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsGetPriority.json new file mode 100644 index 000000000000..f73660bdea3c --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsGetPriority.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "sku": "Standard", + "isCreatedFromStandbyPool": false, + "provisioningState": "Succeeded", + "containers": [ + { + "name": "test-container-001", + "properties": { + "image": "alpine:latest", + "command": [ + "/bin/sh", + "-c", + "sleep 10" + ], + "ports": [], + "environmentVariables": [], + "instanceView": { + "restartCount": 0, + "currentState": { + "state": "Terminated", + "startTime": "2022-11-11T19:33:44.217Z", + "exitCode": 0, + "finishTime": "2022-11-11T19:33:55.565Z", + "detailStatus": "Completed" + }, + "events": [ + { + "count": 2, + "firstTimestamp": "2022-11-11T19:28:22Z", + "lastTimestamp": "2022-11-11T19:32:09Z", + "name": "Pulling", + "message": "pulling image \"alpine@sha256:1304f174557314a7ed9eddb4eab12fed12cb0cd9809e4c28f29af86979a3c870\"", + "type": "Normal" + }, + { + "count": 2, + "firstTimestamp": "2022-11-11T19:32:08Z", + "lastTimestamp": "2022-11-11T19:32:38Z", + "name": "Pulled", + "message": "Successfully pulled image \"alpine@sha256:1304f174557314a7ed9eddb4eab12fed12cb0cd9809e4c28f29af86979a3c870\"", + "type": "Normal" + }, + { + "count": 1, + "firstTimestamp": "2022-11-11T19:33:44Z", + "lastTimestamp": "2022-11-11T19:33:44Z", + "name": "Started", + "message": "Started container", + "type": "Normal" + } + ] + }, + "resources": { + "requests": { + "memoryInGB": 1, + "cpu": 1 + } + } + } + } + ], + "initContainers": [], + "restartPolicy": "Never", + "osType": "Linux", + "instanceView": { + "events": [], + "state": "Succeeded" + }, + "priority": "Spot" + }, + "id": "/subscriptions/subId/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "location": "eastus" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsGet_Failed.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsGet_Failed.json new file mode 100644 index 000000000000..5ff099014ec8 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsGet_Failed.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "instanceView": { + "restartCount": 0, + "currentState": { + "state": "Waiting", + "startTime": "2017-08-08T00:09:10Z", + "detailStatus": "" + }, + "events": [ + { + "count": 1, + "firstTimestamp": "2017-08-08T00:09:01Z", + "lastTimestamp": "2017-08-08T00:09:01Z", + "message": "pulling image \"nginx\"", + "name": "Pulling", + "type": "Normal" + }, + { + "count": 1, + "firstTimestamp": "2017-08-08T00:09:10Z", + "lastTimestamp": "2017-08-08T00:09:10Z", + "message": "Successfully pulled image \"nginx\"", + "name": "Pulled", + "type": "Normal" + } + ] + }, + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "mountPath": "/mnt/volume1", + "name": "volume1", + "readOnly": false + } + ] + } + } + ], + "imageRegistryCredentials": [ + { + "server": "azcloudconsoleregistry.azurecr.io", + "username": "azcloudconsoleregistry" + } + ], + "instanceView": { + "events": [ + { + "count": 1, + "firstTimestamp": "2017-10-08T00:19:10Z", + "lastTimestamp": "2017-10-08T00:19:10Z", + "message": "Output: mount error(2): Permission denied", + "name": "FailedMount", + "type": "Normal" + } + ], + "state": "Pending" + }, + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public" + }, + "osType": "Linux", + "isCreatedFromStandbyPool": false, + "provisioningState": "Failed", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsGet_Succeeded.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsGet_Succeeded.json new file mode 100644 index 000000000000..f2d852a5abf9 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsGet_Succeeded.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "mountPath": "/mnt/volume1", + "name": "volume1", + "readOnly": false + } + ] + } + } + ], + "imageRegistryCredentials": [ + { + "server": "azcloudconsoleregistry.azurecr.io", + "username": "azcloudconsoleregistry" + } + ], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public" + }, + "osType": "Linux", + "isCreatedFromStandbyPool": false, + "provisioningState": "Succeeded", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsList.json new file mode 100644 index 000000000000..ce9a903fbd5d --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsList.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "instanceView": { + "restartCount": 0, + "currentState": { + "state": "Running", + "startTime": "2017-10-17T17:27:21Z", + "detailStatus": "" + }, + "events": [] + }, + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "mountPath": "/mnt/volume1", + "name": "volume1", + "readOnly": false + } + ] + } + } + ], + "imageRegistryCredentials": [ + { + "server": "azcloudconsoleregistry.azurecr.io", + "username": "azcloudconsoleregistry" + } + ], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public" + }, + "osType": "Linux", + "isCreatedFromStandbyPool": false, + "provisioningState": "Succeeded", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsListByResourceGroup.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsListByResourceGroup.json new file mode 100644 index 000000000000..ef1d03323719 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsListByResourceGroup.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "demo", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "zones": [ + "1" + ], + "name": "demo1", + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "mountPath": "/mnt/volume1", + "name": "volume1", + "readOnly": false + } + ] + } + } + ], + "imageRegistryCredentials": [ + { + "server": "azcloudconsoleregistry.azurecr.io", + "username": "azcloudconsoleregistry" + } + ], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public" + }, + "osType": "Linux", + "isCreatedFromStandbyPool": false, + "provisioningState": "Succeeded", + "volumes": [ + { + "azureFile": { + "readOnly": false, + "shareName": "share1", + "storageAccountName": "storage1" + }, + "name": "volume1" + } + ] + }, + "type": "Microsoft.ContainerInstance/containerGroups" + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsRestart.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsRestart.json new file mode 100644 index 000000000000..54427e59496a --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsRestart.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsStart.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsStart.json new file mode 100644 index 000000000000..21c6cba5a581 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsStart.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "responses": { + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/locations/location/operations/operationId?api-version=apiVersion" + } + }, + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsStop.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsStop.json new file mode 100644 index 000000000000..54427e59496a --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsStop.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview", + "resourceGroupName": "demo", + "containerGroupName": "demo1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsUpdate.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsUpdate.json new file mode 100644 index 000000000000..7cc8f8cd6da0 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerGroupsUpdate.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview", + "resourceGroupName": "demoResource", + "containerGroupName": "demo1", + "Resource": { + "tags": { + "tag1key": "tag1Value", + "tag2key": "tag2Value" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/subid/resourceGroups/demoResource/providers/Microsoft.ContainerInstance/containerGroups/demo1", + "location": "WestUs", + "name": "demo1", + "type": "Microsoft.ContainerInstance/containerGroups", + "tags": { + "tag1key": "tag1Value", + "tag2key": "tag2Value" + }, + "properties": { + "containers": [ + { + "name": "demo1", + "properties": { + "command": [], + "environmentVariables": [], + "image": "nginx", + "ports": [ + { + "port": 80 + } + ], + "resources": { + "requests": { + "cpu": 1, + "memoryInGB": 1.5 + } + }, + "volumeMounts": [ + { + "name": "volume1", + "mountPath": "/mnt/volume1", + "readOnly": false + }, + { + "name": "volume2", + "mountPath": "/mnt/volume2", + "readOnly": false + }, + { + "name": "volume3", + "mountPath": "/mnt/volume3", + "readOnly": true + } + ] + } + } + ], + "imageRegistryCredentials": [], + "ipAddress": { + "ip": "10.0.0.1", + "ports": [ + { + "port": 80, + "protocol": "TCP" + } + ], + "type": "Public", + "dnsNameLabel": "dnsnamelabel1", + "fqdn": "dnsnamelabel1.azure-container.io" + }, + "osType": "Linux", + "isCreatedFromStandbyPool": false, + "provisioningState": "Succeeded", + "volumes": [ + { + "name": "volume1", + "azureFile": { + "shareName": "shareName", + "storageAccountName": "accountName" + } + }, + { + "name": "volume2", + "emptyDir": {} + }, + { + "name": "volume3", + "secret": {} + } + ] + } + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerListLogs.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerListLogs.json new file mode 100644 index 000000000000..893324e87a3d --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/ContainerListLogs.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview", + "resourceGroupName": "demo", + "containerGroupName": "demo1", + "containerName": "container1", + "tail": 10 + }, + "responses": { + "200": { + "body": { + "content": "log content" + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/OperationsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/OperationsList.json new file mode 100644 index 000000000000..14c7cf61df99 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/OperationsList.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.ContainerInstance/containerGroups/read", + "display": { + "provider": "Microsoft Container Instance", + "resource": "Container Group", + "operation": "Get Container Groups", + "description": "Get all container goups." + }, + "origin": "User" + } + ] + } + } + } +} diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/SubnetServiceAssociationLinkDelete.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/SubnetServiceAssociationLinkDelete.json new file mode 100644 index 000000000000..dd958037e751 --- /dev/null +++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/preview/2024-05-01-preview/examples/SubnetServiceAssociationLinkDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-05-01-preview", + "resourceGroupName": "demo", + "virtualNetworkName": "demo2", + "subnetName": "demo3" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "azure-asyncoperation": "https://management.azure.com/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/locations/location/operations/operationId?api-version=apiVersion" + } + }, + "204": {} + } +} diff --git a/specification/containerinstance/resource-manager/readme.md b/specification/containerinstance/resource-manager/readme.md index 4b07ceb2e8a4..6c4d309167c1 100644 --- a/specification/containerinstance/resource-manager/readme.md +++ b/specification/containerinstance/resource-manager/readme.md @@ -26,7 +26,16 @@ These are the global settings for the ContainerInstance API. ``` yaml openapi-type: arm -tag: package-2023-05 +tag: package-preview-2024-05 +``` + +### Tag: package-preview-2024-05 + +These settings apply only when `--tag=package-preview-2024-05` is specified on the command line. + +```yaml $(tag) == 'package-preview-2024-05' +input-file: + - Microsoft.ContainerInstance/preview/2024-05-01-preview/containerInstance.json ``` ### Tag: package-2023-05 @@ -198,6 +207,13 @@ directive: - suppress: UniqueResourcePaths from: containerInstance.json reason: false positive, see https://github.com/Azure/azure-openapi-validator/issues/176 +suppressions: + - code: AvoidAdditionalProperties + reason: Using additionalProperties type as the object is user-defined and not subject to any validations at RP level. + from: + - containerInstance.json + where: + - $.definitions.ConfigMap.properties.keyValuePairs ``` --- diff --git a/specification/containerservice/Fleet.Management/fleet.tsp b/specification/containerservice/Fleet.Management/fleet.tsp index a333c7d5b36e..df75bf9acedc 100644 --- a/specification/containerservice/Fleet.Management/fleet.tsp +++ b/specification/containerservice/Fleet.Management/fleet.tsp @@ -33,7 +33,7 @@ model Fleet is TrackedResource { #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "https://github.com/Azure/typespec-azure/issues/2840" @added(Versions.v2023_06_15_preview) @doc("Managed identity.") - identity?: Azure.ResourceManager.Foundations.ManagedServiceIdentity; + identity?: Azure.ResourceManager.Legacy.ManagedServiceIdentityV4; } @doc("Fleet properties.") @@ -154,7 +154,7 @@ model FleetPatch { #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "https://github.com/Azure/typespec-azure/issues/2840" @added(Versions.v2023_06_15_preview) @doc("Managed identity.") - identity?: Azure.ResourceManager.Foundations.ManagedServiceIdentity; + identity?: Azure.ResourceManager.Legacy.ManagedServiceIdentityV4; } @doc("One credential result item.") @@ -181,14 +181,17 @@ interface Fleets { @doc("Gets a Fleet.") get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "must change at next update" #suppress "@azure-tools/typespec-azure-core/no-operation-id" "changing the operation-id on an existing operation is an SDK breaking change" @doc("Creates or updates a Fleet.") @operationId("Fleets_CreateOrUpdate") + @Azure.Core.useFinalStateVia("azure-async-operation") create is ArmResourceCreateOrUpdateAsync< Fleet, Azure.ResourceManager.Foundations.BaseParameters & IfMatchParameters & - IfNoneMatchParameters + IfNoneMatchParameters, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; #suppress "@azure-tools/typespec-providerhub/non-breaking-versioning" "Actual breaking change" diff --git a/specification/containerservice/Fleet.Management/fleetmember.tsp b/specification/containerservice/Fleet.Management/fleetmember.tsp index 6a954722b77c..970f6dd7cd42 100644 --- a/specification/containerservice/Fleet.Management/fleetmember.tsp +++ b/specification/containerservice/Fleet.Management/fleetmember.tsp @@ -76,11 +76,14 @@ union FleetMemberProvisioningState { interface FleetMembers { get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "must change at next release" + @Azure.Core.useFinalStateVia("azure-async-operation") create is ArmResourceCreateOrUpdateAsync< FleetMember, Azure.ResourceManager.Foundations.BaseParameters & IfMatchParameters & - IfNoneMatchParameters + IfNoneMatchParameters, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; #suppress "@azure-tools/typespec-providerhub/non-breaking-versioning" "Actual breaking change" diff --git a/specification/containerservice/Fleet.Management/update/common.tsp b/specification/containerservice/Fleet.Management/update/common.tsp index 1c78837a6ed1..258ff298c61a 100644 --- a/specification/containerservice/Fleet.Management/update/common.tsp +++ b/specification/containerservice/Fleet.Management/update/common.tsp @@ -4,14 +4,14 @@ using TypeSpec.OpenAPI; namespace Microsoft.ContainerService; @doc(""" -Defines the update sequence of the clusters via stages and groups. - -Stages within a run are executed sequentially one after another. -Groups within a stage are executed in parallel. -Member clusters within a group are updated sequentially one after another. - -A valid strategy contains no duplicate groups within or across stages. -""") + Defines the update sequence of the clusters via stages and groups. + + Stages within a run are executed sequentially one after another. + Groups within a stage are executed in parallel. + Member clusters within a group are updated sequentially one after another. + + A valid strategy contains no duplicate groups within or across stages. + """) model UpdateRunStrategy { @extension("x-ms-identifiers", ["name"]) @doc("The list of stages that compose this update run. Min size: 1.") diff --git a/specification/containerservice/Fleet.Management/update/run.tsp b/specification/containerservice/Fleet.Management/update/run.tsp index 659fede185b6..004f32fcca0c 100644 --- a/specification/containerservice/Fleet.Management/update/run.tsp +++ b/specification/containerservice/Fleet.Management/update/run.tsp @@ -51,14 +51,14 @@ model UpdateRunProperties { @doc(""" The resource id of the FleetUpdateStrategy resource to reference. - + When creating a new run, there are three ways to define a strategy for the run: 1. Define a new strategy in place: Set the "strategy" field. 2. Use an existing strategy: Set the "updateStrategyId" field. (since 2023-08-15-preview) 3. Use the default strategy to update all the members one by one: Leave both "updateStrategyId" and "strategy" unset. (since 2023-08-15-preview) - + Setting both "updateStrategyId" and "strategy" is invalid. - + UpdateRuns created by "updateStrategyId" snapshot the referenced UpdateStrategy at the time of creation and store it in the "strategy" field. Subsequent changes to the referenced FleetUpdateStrategy resource do not propagate. UpdateRunStrategy changes can be made directly on the "strategy" field before launching the UpdateRun. @@ -67,10 +67,10 @@ model UpdateRunProperties { updateStrategyId?: FleetUpdateStrategyResourceId; @doc(""" -The strategy defines the order in which the clusters will be updated. -If not set, all members will be updated sequentially. The UpdateRun status will show a single UpdateStage and a single UpdateGroup targeting all members. -The strategy of the UpdateRun can be modified until the run is started. -""") + The strategy defines the order in which the clusters will be updated. + If not set, all members will be updated sequentially. The UpdateRun status will show a single UpdateStage and a single UpdateGroup targeting all members. + The strategy of the UpdateRun can be modified until the run is started. + """) strategy?: UpdateRunStrategy; @doc("The update to be applied to all clusters in the UpdateRun. The managedClusterUpdate can be modified until the run is started.") @@ -314,10 +314,10 @@ model SkipTarget { type: TargetType; @doc(""" - The skip target's name. - To skip a member/group/stage, use the member/group/stage's name; - Tp skip an after stage wait, use the parent stage's name. - """) + The skip target's name. + To skip a member/group/stage, use the member/group/stage's name; + Tp skip an after stage wait, use the parent stage's name. + """) name: string; } @@ -334,11 +334,14 @@ model SkipProperties { interface UpdateRuns { get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE AT NEXT VERSION" + @Azure.Core.useFinalStateVia("azure-async-operation") createOrUpdate is ArmResourceCreateOrUpdateAsync< UpdateRun, Azure.ResourceManager.Foundations.BaseParameters & IfMatchParameters & - IfNoneMatchParameters + IfNoneMatchParameters, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; #suppress "deprecated" "Existing API" diff --git a/specification/containerservice/Fleet.Management/update/strategy.tsp b/specification/containerservice/Fleet.Management/update/strategy.tsp index 87fe0259b543..6e44e7ee30ff 100644 --- a/specification/containerservice/Fleet.Management/update/strategy.tsp +++ b/specification/containerservice/Fleet.Management/update/strategy.tsp @@ -55,11 +55,14 @@ model FleetUpdateStrategyProperties { interface FleetUpdateStrategies { get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE AT NEXT API VERSION UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") createOrUpdate is ArmResourceCreateOrUpdateAsync< FleetUpdateStrategy, Azure.ResourceManager.Foundations.BaseParameters & IfMatchParameters & - IfNoneMatchParameters + IfNoneMatchParameters, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; #suppress "deprecated" "Existing API" diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json index 6543f78e4a2c..89d36d4fa313 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/aks/preview/2024-04-02-preview/managedClusters.json @@ -6561,7 +6561,12 @@ "description": "List of orchestrator types and versions available for upgrade." }, "componentsByReleases": { - "$ref": "#/definitions/ComponentsByReleases" + "type": "array", + "items": { + "$ref": "#/definitions/ComponentsByRelease" + }, + "x-ms-identifiers": [], + "description": "List of components grouped by kubernetes major.minor version." } }, "required": [ @@ -7012,7 +7017,12 @@ "description": "List of orchestrator types and versions available for upgrade." }, "componentsByReleases": { - "$ref": "#/definitions/ComponentsByReleases" + "type": "array", + "items": { + "$ref": "#/definitions/ComponentsByRelease" + }, + "x-ms-identifiers": [], + "description": "List of components grouped by kubernetes major.minor version." }, "latestNodeImageVersion": { "type": "string", @@ -10077,7 +10087,7 @@ } } }, - "ComponentsByReleases": { + "ComponentsByRelease": { "type": "object", "properties": { "kubernetesVersion": { @@ -10089,6 +10099,7 @@ "items": { "$ref": "#/definitions/Component" }, + "x-ms-identifiers": [], "description": "components of current or upgraded Kubernetes version in the cluster." } }, 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 ac851bd682c4..787b575865e6 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 @@ -805,11 +805,7 @@ "properties": { "$ref": "#/definitions/FleetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -912,11 +908,7 @@ "properties": { "$ref": "#/definitions/FleetMemberProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "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 32b7be221206..bf1161cc3a11 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 @@ -1345,11 +1345,7 @@ "properties": { "$ref": "#/definitions/FleetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -1452,11 +1448,7 @@ "properties": { "$ref": "#/definitions/FleetMemberProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -1802,11 +1794,7 @@ "properties": { "$ref": "#/definitions/UpdateRunProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-06-15-preview/fleets.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-06-15-preview/fleets.json index ac52d0f232dd..ea0d25f30e1d 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-06-15-preview/fleets.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-06-15-preview/fleets.json @@ -1425,11 +1425,7 @@ "properties": { "$ref": "#/definitions/FleetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -1552,11 +1548,7 @@ "properties": { "$ref": "#/definitions/FleetMemberProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -2000,11 +1992,7 @@ "properties": { "$ref": "#/definitions/UpdateRunProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-08-15-preview/fleets.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-08-15-preview/fleets.json index f747f3811aa2..783d024a09ab 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-08-15-preview/fleets.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2023-08-15-preview/fleets.json @@ -1729,11 +1729,7 @@ "properties": { "$ref": "#/definitions/FleetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -1861,11 +1857,7 @@ "properties": { "$ref": "#/definitions/FleetMemberProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -2089,11 +2081,7 @@ "properties": { "$ref": "#/definitions/FleetUpdateStrategyProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -2421,11 +2409,7 @@ "properties": { "$ref": "#/definitions/UpdateRunProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2024-02-02-preview/fleets.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2024-02-02-preview/fleets.json index 22140dbc468d..a83cfbde5750 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2024-02-02-preview/fleets.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/preview/2024-02-02-preview/fleets.json @@ -1823,11 +1823,7 @@ "properties": { "$ref": "#/definitions/FleetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -1955,11 +1951,7 @@ "properties": { "$ref": "#/definitions/FleetMemberProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -2183,11 +2175,7 @@ "properties": { "$ref": "#/definitions/FleetUpdateStrategyProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -2595,11 +2583,7 @@ "properties": { "$ref": "#/definitions/UpdateRunProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2023-10-15/fleets.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2023-10-15/fleets.json index d6c7e2156661..c184493e1f2d 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2023-10-15/fleets.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2023-10-15/fleets.json @@ -1677,11 +1677,7 @@ "properties": { "$ref": "#/definitions/FleetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -1761,11 +1757,7 @@ "properties": { "$ref": "#/definitions/FleetMemberProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -1985,11 +1977,7 @@ "properties": { "$ref": "#/definitions/FleetUpdateStrategyProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -2305,11 +2293,7 @@ "properties": { "$ref": "#/definitions/UpdateRunProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2024-04-01/fleets.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2024-04-01/fleets.json index 1c2444f69b89..01ed08549633 100644 --- a/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2024-04-01/fleets.json +++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/fleet/stable/2024-04-01/fleets.json @@ -1807,11 +1807,7 @@ "properties": { "$ref": "#/definitions/FleetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -1939,11 +1935,7 @@ "properties": { "$ref": "#/definitions/FleetMemberProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -2167,11 +2159,7 @@ "properties": { "$ref": "#/definitions/FleetUpdateStrategyProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", @@ -2579,11 +2567,7 @@ "properties": { "$ref": "#/definitions/UpdateRunProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "eTag": { "type": "string", diff --git a/specification/containerstorage/ContainerStorage.Management/pool.tsp b/specification/containerstorage/ContainerStorage.Management/pool.tsp index 7bcdb9fbf61c..662e943c31e3 100644 --- a/specification/containerstorage/ContainerStorage.Management/pool.tsp +++ b/specification/containerstorage/ContainerStorage.Management/pool.tsp @@ -12,13 +12,18 @@ namespace Microsoft.ContainerStorage; @armResourceOperations interface Pools { get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @extension( "x-ms-long-running-operation-options", { `final-state-via`: "location", } ) - createOrUpdate is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + Pool, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; delete is ArmResourceDeleteWithoutOkAsync; update is ArmResourcePatchAsync; listByResourceGroup is ArmResourceListByParent; @@ -187,7 +192,7 @@ model Encryption { @doc("The URI of the key vault.") keyVaultUri: string; - ...ManagedServiceIdentityProperty; + ...Legacy.ManagedServiceIdentityV4Property; } @doc("Elastic San Pool Properties") diff --git a/specification/containerstorage/ContainerStorage.Management/snapshot.tsp b/specification/containerstorage/ContainerStorage.Management/snapshot.tsp index bd864fb92543..ed79f69d3d59 100644 --- a/specification/containerstorage/ContainerStorage.Management/snapshot.tsp +++ b/specification/containerstorage/ContainerStorage.Management/snapshot.tsp @@ -12,13 +12,18 @@ namespace Microsoft.ContainerStorage; @armResourceOperations interface Snapshots { get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @extension( "x-ms-long-running-operation-options", { `final-state-via`: "location", } ) - createOrUpdate is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + Snapshot, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; delete is ArmResourceDeleteWithoutOkAsync; listByPool is ArmResourceListByParent; } diff --git a/specification/containerstorage/ContainerStorage.Management/volume.tsp b/specification/containerstorage/ContainerStorage.Management/volume.tsp index ebd7e7977645..4187903a5615 100644 --- a/specification/containerstorage/ContainerStorage.Management/volume.tsp +++ b/specification/containerstorage/ContainerStorage.Management/volume.tsp @@ -12,13 +12,18 @@ namespace Microsoft.ContainerStorage; @armResourceOperations interface Volumes { get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @extension( "x-ms-long-running-operation-options", { `final-state-via`: "location", } ) - createOrUpdate is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + Volume, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; delete is ArmResourceDeleteWithoutOkAsync; update is ArmResourcePatchAsync; listByPool is ArmResourceListByParent; diff --git a/specification/containerstorage/resource-manager/Microsoft.ContainerStorage/preview/2023-07-01-preview/containerstorage.json b/specification/containerstorage/resource-manager/Microsoft.ContainerStorage/preview/2023-07-01-preview/containerstorage.json index a0b571348b7f..94ead5e8046e 100644 --- a/specification/containerstorage/resource-manager/Microsoft.ContainerStorage/preview/2023-07-01-preview/containerstorage.json +++ b/specification/containerstorage/resource-manager/Microsoft.ContainerStorage/preview/2023-07-01-preview/containerstorage.json @@ -1424,11 +1424,7 @@ "properties": { "$ref": "#/definitions/PoolProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1742,11 +1738,7 @@ "properties": { "$ref": "#/definitions/SnapshotProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1813,11 +1805,7 @@ "properties": { "$ref": "#/definitions/VolumeProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/contosowidgetmanager/Contoso.WidgetManager/tspconfig.yaml b/specification/contosowidgetmanager/Contoso.WidgetManager/tspconfig.yaml index 34fc37ff279f..ce5527f45e35 100644 --- a/specification/contosowidgetmanager/Contoso.WidgetManager/tspconfig.yaml +++ b/specification/contosowidgetmanager/Contoso.WidgetManager/tspconfig.yaml @@ -13,6 +13,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/widgets.json" diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-05-15/services.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-05-15/services.json index aa3eb70549df..755de421062e 100644 --- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-05-15/services.json +++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2024-05-15/services.json @@ -320,7 +320,6 @@ "type": "object", "properties": { "properties": { - "x-ms-client-flatten": true, "$ref": "#/definitions/ServiceResourceCreateUpdateProperties" } } @@ -406,8 +405,8 @@ } } }, - "DataTransferServiceResourceCreateUpdateParameters": { - "description": "Parameters for Create or Update request for DataTransferServiceResource", + "DataTransferServiceResourceCreateUpdateProperties": { + "description": "Properties for Create or Update request for DataTransferServiceResource", "type": "object", "x-ms-discriminator-value": "DataTransfer", "allOf": [ @@ -416,8 +415,8 @@ } ] }, - "SqlDedicatedGatewayServiceResourceCreateUpdateParameters": { - "description": "Parameters for Create or Update request for SqlDedicatedGatewayServiceResource", + "SqlDedicatedGatewayServiceResourceCreateUpdateProperties": { + "description": "Properties for Create or Update request for SqlDedicatedGatewayServiceResource", "type": "object", "x-ms-discriminator-value": "SqlDedicatedGateway", "allOf": [ @@ -514,8 +513,8 @@ } } }, - "GraphAPIComputeServiceResourceCreateUpdateParameters": { - "description": "Parameters for Create or Update request for GraphAPIComputeServiceResource", + "GraphAPIComputeServiceResourceCreateUpdateProperties": { + "description": "Properties for Create or Update request for GraphAPIComputeServiceResource", "type": "object", "x-ms-discriminator-value": "GraphAPICompute", "allOf": [ @@ -554,8 +553,8 @@ } } }, - "MaterializedViewsBuilderServiceResourceCreateUpdateParameters": { - "description": "Parameters for Create or Update request for MaterializedViewsBuilderServiceResource", + "MaterializedViewsBuilderServiceResourceCreateUpdateProperties": { + "description": "Properties for Create or Update request for MaterializedViewsBuilderServiceResource", "type": "object", "x-ms-discriminator-value": "MaterializedViewsBuilder", "allOf": [ diff --git a/specification/databasewatcher/DatabaseWatcher.Management/baseTarget.tsp b/specification/databasewatcher/DatabaseWatcher.Management/baseTarget.tsp index 86698fa6d172..41140fbc6587 100644 --- a/specification/databasewatcher/DatabaseWatcher.Management/baseTarget.tsp +++ b/specification/databasewatcher/DatabaseWatcher.Management/baseTarget.tsp @@ -28,6 +28,7 @@ model Target is ProxyResource { name: string; } +#suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The generic properties of a target.") @discriminator("targetType") model TargetProperties { diff --git a/specification/databasewatcher/DatabaseWatcher.Management/sharedPrivateLinkResource.tsp b/specification/databasewatcher/DatabaseWatcher.Management/sharedPrivateLinkResource.tsp index 2537460d16d0..c34f20441d50 100644 --- a/specification/databasewatcher/DatabaseWatcher.Management/sharedPrivateLinkResource.tsp +++ b/specification/databasewatcher/DatabaseWatcher.Management/sharedPrivateLinkResource.tsp @@ -12,7 +12,12 @@ using TypeSpec.Rest; @armResourceOperations interface SharedPrivateLinkResources { get is ArmResourceRead; - create is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrUpdateAsync< + SharedPrivateLinkResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; delete is ArmResourceDeleteWithoutOkAsync; listByParent is ArmResourceListByParent; } diff --git a/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp b/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp index 2f261c2e6eb8..4d90639e4cf3 100644 --- a/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp +++ b/specification/databasewatcher/DatabaseWatcher.Management/watcher.tsp @@ -40,7 +40,7 @@ model Watcher is TrackedResource { @segment("watchers") name: string; - ...ManagedServiceIdentityProperty; + ...Legacy.ManagedServiceIdentityV4Property; } @doc("The RP specific properties of the resource.") @@ -106,7 +106,12 @@ union KustoOfferingType { @armResourceOperations interface Watchers { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + Watcher, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchAsync; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/databasewatcher/resource-manager/Microsoft.DatabaseWatcher/preview/2023-09-01-preview/Watcher.json b/specification/databasewatcher/resource-manager/Microsoft.DatabaseWatcher/preview/2023-09-01-preview/Watcher.json index f14d0a7c82a0..b0562b8ed9cb 100644 --- a/specification/databasewatcher/resource-manager/Microsoft.DatabaseWatcher/preview/2023-09-01-preview/Watcher.json +++ b/specification/databasewatcher/resource-manager/Microsoft.DatabaseWatcher/preview/2023-09-01-preview/Watcher.json @@ -1219,11 +1219,7 @@ "properties": { "$ref": "#/definitions/SharedPrivateLinkResourceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1486,11 +1482,7 @@ "properties": { "$ref": "#/definitions/TargetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1613,11 +1605,7 @@ "properties": { "$ref": "#/definitions/WatcherProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "identity": { "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity", diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json index 3914b9560d42..3a38134eb663 100644 --- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json +++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json @@ -4389,6 +4389,11 @@ "additionalProperties": { "type": "object" } + }, + "storageIntegration": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The name of the snowflake storage integration to use for the copy operation. Type: string (or Expression with resultType string)." } } }, @@ -5349,6 +5354,11 @@ "additionalProperties": { "type": "object" } + }, + "storageIntegration": { + "type": "object", + "x-ms-format": "dfe-string", + "description": "The name of the snowflake storage integration to use for the copy operation. Type: string (or Expression with resultType string)." } } }, diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/desktopvirtualization.json new file mode 100644 index 000000000000..49d7de77974b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/desktopvirtualization.json @@ -0,0 +1,9954 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-04-08-preview", + "title": "Desktop Virtualization API Client" + }, + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "host": "management.azure.com", + "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.DesktopVirtualization/operations": { + "get": { + "tags": [ + "Operations" + ], + "operationId": "Operations_List", + "description": "List all of the available operations the Desktop Virtualization resource provider supports.", + "x-ms-examples": { + "OperationDescription_List": { + "$ref": "./examples/OperationDescription_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved operations.", + "schema": { + "$ref": "#/definitions/ResourceProviderOperationList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Get", + "description": "Get a workspace.", + "x-ms-examples": { + "Workspace_Get": { + "$ref": "./examples/Workspace_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_CreateOrUpdate", + "description": "Create or update a workspace.", + "x-ms-examples": { + "Workspace_Create": { + "$ref": "./examples/Workspace_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "workspace", + "description": "Object containing Workspace definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Workspace" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "201": { + "description": "Successfully created workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Delete", + "description": "Remove a workspace.", + "x-ms-examples": { + "Workspace_Delete": { + "$ref": "./examples/Workspace_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted workspace." + }, + "204": { + "description": "Workspace does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_Update", + "description": "Update a workspace.", + "x-ms-examples": { + "Workspace_Update": { + "$ref": "./examples/Workspace_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "workspace", + "description": "Object containing Workspace definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/WorkspacePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated workspace.", + "schema": { + "$ref": "#/definitions/Workspace" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_ListByWorkspace", + "description": "List private endpoint connections.", + "x-ms-examples": { + "PrivateEndpointConnection_ListByWorkspace": { + "$ref": "./examples/PrivateEndpointConnection_ListByWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved connection list.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResultWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_GetByWorkspace", + "description": "Get a private endpoint connection.", + "x-ms-examples": { + "PrivateEndpointConnection_GetByWorkspace": { + "$ref": "./examples/PrivateEndpointConnection_GetByWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_DeleteByWorkspace", + "description": "Remove a connection.", + "x-ms-examples": { + "PrivateEndpointConnection_DeleteByWorkspace": { + "$ref": "./examples/PrivateEndpointConnection_DeleteByWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "Successfully removed." + }, + "204": { + "description": "Connection does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_UpdateByWorkspace", + "description": "Approve or reject a private endpoint connection.", + "x-ms-examples": { + "PrivateEndpointConnection_UpdateByWorkspace": { + "$ref": "./examples/PrivateEndpointConnection_UpdateByWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "connection", + "description": "Object containing the updated connection.", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateLinkResources_ListByWorkspace", + "description": "List the private link resources available for this workspace.", + "x-ms-examples": { + "PrivateLinkResources_ListByWorkspace": { + "$ref": "./examples/PrivateLinkResources_ListByWorkspace.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/WorkspaceNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_ListByResourceGroup", + "description": "List workspaces.", + "x-ms-examples": { + "Workspace_ListByResourceGroup": { + "$ref": "./examples/Workspace_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved workspaces in resource group.", + "schema": { + "$ref": "#/definitions/WorkspaceList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/workspaces": { + "get": { + "tags": [ + "Workspace" + ], + "operationId": "Workspaces_ListBySubscription", + "description": "List workspaces in subscription.", + "x-ms-examples": { + "Workspace_ListBySubscription": { + "$ref": "./examples/Workspace_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved workspaces in subscription.", + "schema": { + "$ref": "#/definitions/WorkspaceList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}": { + "get": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_Get", + "description": "Get a scaling plan.", + "x-ms-examples": { + "ScalingPlans_Get": { + "$ref": "./examples/ScalingPlan_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved scaling plan.", + "schema": { + "$ref": "#/definitions/ScalingPlan" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_Create", + "description": "Create or update a scaling plan.", + "x-ms-examples": { + "ScalingPlans_Create": { + "$ref": "./examples/ScalingPlan_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "name": "scalingPlan", + "description": "Object containing scaling plan definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScalingPlan" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated scaling plan.", + "schema": { + "$ref": "#/definitions/ScalingPlan" + } + }, + "201": { + "description": "Successfully created scaling plan.", + "schema": { + "$ref": "#/definitions/ScalingPlan" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_Delete", + "description": "Remove a scaling plan.", + "x-ms-examples": { + "ScalingPlans_Delete": { + "$ref": "./examples/ScalingPlan_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully deleted scaling plan." + }, + "204": { + "description": "Scaling plan does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_Update", + "description": "Update a scaling plan.", + "x-ms-examples": { + "ScalingPlans_Update": { + "$ref": "./examples/ScalingPlan_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "name": "scalingPlan", + "description": "Object containing scaling plan definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ScalingPlanPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated scaling plan.", + "schema": { + "$ref": "#/definitions/ScalingPlan" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans": { + "get": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_ListByResourceGroup", + "description": "List scaling plans.", + "x-ms-examples": { + "ScalingPlans_ListByResourceGroup": { + "$ref": "./examples/ScalingPlan_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved scaling plans in resource group.", + "schema": { + "$ref": "#/definitions/ScalingPlanList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/pooledSchedules/{scalingPlanScheduleName}": { + "get": { + "tags": [ + "ScalingPlanPooledSchedule" + ], + "operationId": "ScalingPlanPooledSchedules_Get", + "description": "Get a ScalingPlanPooledSchedule.", + "x-ms-examples": { + "ScalingPlanPooledSchedules_Get": { + "$ref": "./examples/ScalingPlanPooledSchedule_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved ScalingPlanPooledSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPooledSchedule" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ScalingPlanPooledSchedule" + ], + "operationId": "ScalingPlanPooledSchedules_Create", + "description": "Create or update a ScalingPlanPooledSchedule.", + "x-ms-examples": { + "ScalingPlanPooledSchedules_Create": { + "$ref": "./examples/ScalingPlanPooledSchedule_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + }, + { + "name": "scalingPlanSchedule", + "description": "Object containing ScalingPlanPooledSchedule definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScalingPlanPooledSchedule" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated ScalingPlanPooledSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPooledSchedule" + } + }, + "201": { + "description": "Successfully created ScalingPlanPooledSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPooledSchedule" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ScalingPlanPooledSchedule" + ], + "operationId": "ScalingPlanPooledSchedules_Delete", + "description": "Remove a ScalingPlanPooledSchedule.", + "x-ms-examples": { + "ScalingPlanPooledSchedules_Delete": { + "$ref": "./examples/ScalingPlanPooledSchedule_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed ScalingPlanPooledSchedule." + }, + "204": { + "description": "ScalingPlanPooledSchedule does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ScalingPlanPooledSchedule" + ], + "operationId": "ScalingPlanPooledSchedules_Update", + "description": "Update a ScalingPlanPooledSchedule.", + "x-ms-examples": { + "ScalingPlanPooledSchedules_Update": { + "$ref": "./examples/ScalingPlanPooledSchedule_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + }, + { + "name": "scalingPlanSchedule", + "description": "Object containing ScalingPlanPooledSchedule definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ScalingPlanPooledSchedulePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated ScalingPlanPooledSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPooledSchedule" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/pooledSchedules": { + "get": { + "tags": [ + "ScalingPlanPooledSchedule" + ], + "operationId": "ScalingPlanPooledSchedules_List", + "description": "List ScalingPlanPooledSchedules.", + "x-ms-examples": { + "ScalingPlanPooledSchedules_List": { + "$ref": "./examples/ScalingPlanPooledSchedule_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved ScalingPlanPooledSchedules.", + "schema": { + "$ref": "#/definitions/ScalingPlanPooledScheduleList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/personalSchedules/{scalingPlanScheduleName}": { + "get": { + "tags": [ + "ScalingPlanPersonalSchedule" + ], + "operationId": "ScalingPlanPersonalSchedules_Get", + "description": "Get a ScalingPlanPersonalSchedule.", + "x-ms-examples": { + "ScalingPlanPersonalSchedules_Get": { + "$ref": "./examples/ScalingPlanPersonalSchedule_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved ScalingPlanPersonalSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPersonalSchedule" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ScalingPlanPersonalSchedule" + ], + "operationId": "ScalingPlanPersonalSchedules_Create", + "description": "Create or update a ScalingPlanPersonalSchedule.", + "x-ms-examples": { + "ScalingPlanPersonalSchedules_Create": { + "$ref": "./examples/ScalingPlanPersonalSchedule_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + }, + { + "name": "scalingPlanSchedule", + "description": "Object containing ScalingPlanPersonalSchedule definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ScalingPlanPersonalSchedule" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated ScalingPlanPersonalSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPersonalSchedule" + } + }, + "201": { + "description": "Successfully created ScalingPlanPersonalSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPersonalSchedule" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ScalingPlanPersonalSchedule" + ], + "operationId": "ScalingPlanPersonalSchedules_Delete", + "description": "Remove a ScalingPlanPersonalSchedule.", + "x-ms-examples": { + "ScalingPlanPersonalSchedules_Delete": { + "$ref": "./examples/ScalingPlanPersonalSchedule_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed ScalingPlanPersonalSchedule." + }, + "204": { + "description": "ScalingPlanPersonalSchedule does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ScalingPlanPersonalSchedule" + ], + "operationId": "ScalingPlanPersonalSchedules_Update", + "description": "Update a ScalingPlanPersonalSchedule.", + "x-ms-examples": { + "ScalingPlanPersonalSchedules_Update": { + "$ref": "./examples/ScalingPlanPersonalSchedule_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanScheduleNameParameter" + }, + { + "name": "scalingPlanSchedule", + "description": "Object containing ScalingPlanPersonalSchedule definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ScalingPlanPersonalSchedulePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated ScalingPlanPersonalSchedule.", + "schema": { + "$ref": "#/definitions/ScalingPlanPersonalSchedule" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/scalingPlans/{scalingPlanName}/personalSchedules": { + "get": { + "tags": [ + "ScalingPlanPersonalSchedule" + ], + "operationId": "ScalingPlanPersonalSchedules_List", + "description": "List ScalingPlanPersonalSchedules.", + "x-ms-examples": { + "ScalingPlanPersonalSchedules_List": { + "$ref": "./examples/ScalingPlanPersonalSchedule_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ScalingPlanNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved ScalingPlanPersonalSchedules.", + "schema": { + "$ref": "#/definitions/ScalingPlanPersonalScheduleList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/scalingPlans": { + "get": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_ListBySubscription", + "description": "List scaling plans in subscription.", + "x-ms-examples": { + "ScalingPlans_ListBySubscription": { + "$ref": "./examples/ScalingPlan_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved scaling plans in subscription.", + "schema": { + "$ref": "#/definitions/ScalingPlanList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}": { + "get": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_Get", + "description": "Get an application group.", + "x-ms-examples": { + "ApplicationGroup_Get": { + "$ref": "./examples/ApplicationGroup_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_CreateOrUpdate", + "description": "Create or update an applicationGroup.", + "x-ms-examples": { + "ApplicationGroup_Create": { + "$ref": "./examples/ApplicationGroup_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "applicationGroup", + "description": "Object containing ApplicationGroup definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "201": { + "description": "Successfully created application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_Delete", + "description": "Remove an applicationGroup.", + "x-ms-examples": { + "ApplicationGroup_Delete": { + "$ref": "./examples/ApplicationGroup_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed application group." + }, + "204": { + "description": "Application group does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_Update", + "description": "Update an applicationGroup.", + "x-ms-examples": { + "ApplicationGroups_Update": { + "$ref": "./examples/ApplicationGroup_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "applicationGroup", + "description": "Object containing ApplicationGroup definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ApplicationGroupPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application group.", + "schema": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups": { + "get": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_ListByResourceGroup", + "description": "List applicationGroups.", + "x-ms-examples": { + "ApplicationGroup_ListByResourceGroup": { + "$ref": "./examples/ApplicationGroup_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are applicationGroupType." + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application groups in resource group.", + "schema": { + "$ref": "#/definitions/ApplicationGroupList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/applicationGroups": { + "get": { + "tags": [ + "ApplicationGroup" + ], + "operationId": "ApplicationGroups_ListBySubscription", + "description": "List applicationGroups in subscription.", + "x-ms-examples": { + "ApplicationGroup_List": { + "$ref": "./examples/ApplicationGroup_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are applicationGroupType." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application groups in subscription.", + "schema": { + "$ref": "#/definitions/ApplicationGroupList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/startMenuItems": { + "get": { + "tags": [ + "StartMenuItem" + ], + "operationId": "StartMenuItems_List", + "description": "List start menu items in the given application group.", + "x-ms-examples": { + "StartMenuItem_List": { + "$ref": "./examples/StartMenuItem_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved start menu items in application group.", + "schema": { + "$ref": "#/definitions/StartMenuItemList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications/{applicationName}": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Applications_Get", + "description": "Get an application.", + "x-ms-examples": { + "Application_Get": { + "$ref": "./examples/Application_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "Application" + ], + "operationId": "Applications_CreateOrUpdate", + "description": "Create or update an application.", + "x-ms-examples": { + "Application_Create": { + "$ref": "./examples/Application_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "application", + "description": "Object containing Application definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Application" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "201": { + "description": "Successfully created application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "Application" + ], + "operationId": "Applications_Delete", + "description": "Remove an application.", + "x-ms-examples": { + "Application_Delete": { + "$ref": "./examples/Application_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed application." + }, + "204": { + "description": "Application does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Application" + ], + "operationId": "Applications_Update", + "description": "Update an application.", + "x-ms-examples": { + "Application_Update": { + "$ref": "./examples/Application_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationNameParameter" + }, + { + "name": "application", + "description": "Object containing Application definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/ApplicationPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated application.", + "schema": { + "$ref": "#/definitions/Application" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/applications": { + "get": { + "tags": [ + "Application" + ], + "operationId": "Applications_List", + "description": "List applications.", + "x-ms-examples": { + "Applications_List": { + "$ref": "./examples/Application_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved applications in application group.", + "schema": { + "$ref": "#/definitions/ApplicationList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops/{desktopName}": { + "get": { + "tags": [ + "Desktop" + ], + "operationId": "Desktops_Get", + "description": "Get a desktop.", + "x-ms-examples": { + "Desktop_Get": { + "$ref": "./examples/Desktop_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/DesktopNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved desktop.", + "schema": { + "$ref": "#/definitions/Desktop" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "Desktop" + ], + "operationId": "Desktops_Update", + "description": "Update a desktop.", + "x-ms-examples": { + "Desktop_Update": { + "$ref": "./examples/Desktop_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "$ref": "#/parameters/DesktopNameParameter" + }, + { + "name": "desktop", + "description": "Object containing Desktop definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/DesktopPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated desktop.", + "schema": { + "$ref": "#/definitions/Desktop" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/applicationGroups/{applicationGroupName}/desktops": { + "get": { + "tags": [ + "Desktop" + ], + "operationId": "Desktops_List", + "description": "List desktops.", + "x-ms-examples": { + "Desktop_List": { + "$ref": "./examples/Desktop_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ApplicationGroupNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved desktops in application group.", + "schema": { + "$ref": "#/definitions/DesktopList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}": { + "get": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_Get", + "description": "Get a host pool.", + "x-ms-examples": { + "HostPool_Get": { + "$ref": "./examples/HostPool_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_CreateOrUpdate", + "description": "Create or update a host pool.", + "x-ms-examples": { + "HostPool_Create": { + "$ref": "./examples/HostPool_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "hostPool", + "description": "Object containing HostPool definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HostPool" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "201": { + "description": "Successfully created host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_Delete", + "description": "Remove a host pool.", + "x-ms-examples": { + "HostPool_Delete": { + "$ref": "./examples/HostPool_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to delete sessionHost." + } + ], + "responses": { + "200": { + "description": "Successfully removed host pool." + }, + "204": { + "description": "Host pool does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_Update", + "description": "Update a host pool.", + "x-ms-examples": { + "HostPool_Update": { + "$ref": "./examples/HostPool_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "hostPool", + "description": "Object containing HostPool definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/HostPoolPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated host pool.", + "schema": { + "$ref": "#/definitions/HostPool" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools": { + "get": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_ListByResourceGroup", + "description": "List hostPools.", + "x-ms-examples": { + "HostPool_ListByResourceGroup": { + "$ref": "./examples/HostPool_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool in resource group.", + "schema": { + "$ref": "#/definitions/HostPoolList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/hostPools": { + "get": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_List", + "description": "List hostPools in subscription.", + "x-ms-examples": { + "HostPool_List": { + "$ref": "./examples/HostPool_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool in subscription.", + "schema": { + "$ref": "#/definitions/HostPoolList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements/default": { + "get": { + "tags": [ + "SessionHostManagements" + ], + "operationId": "SessionHostManagements_Get", + "description": "Get a SessionHostManagement.", + "x-ms-examples": { + "SessionHostManagements_Get": { + "$ref": "./examples/SessionHostManagements_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved sessionHostManagement.", + "schema": { + "$ref": "#/definitions/SessionHostManagement" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "SessionHostManagement" + ], + "operationId": "SessionHostManagements_CreateOrUpdate", + "description": "Create or update a SessionHostManagement.", + "x-ms-examples": { + "SessionHostManagements_Create": { + "$ref": "./examples/SessionHostManagements_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "sessionHostManagement", + "description": "Object containing SessionHostManagement definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SessionHostManagement" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated SessionHostManagement.", + "schema": { + "$ref": "#/definitions/SessionHostManagement" + } + }, + "201": { + "description": "Successfully created SessionHostManagement.", + "schema": { + "$ref": "#/definitions/SessionHostManagement" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "SessionHostManagement" + ], + "operationId": "SessionHostManagements_Update", + "description": "Update a SessionHostManagement.", + "x-ms-examples": { + "SessionHostManagements_Update": { + "$ref": "./examples/SessionHostManagements_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "sessionHostManagement", + "description": "Object containing SessionHostManagement definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/SessionHostManagementPatch" + } + } + ], + "responses": { + "200": { + "description": "Update SessionHostManagement success.", + "schema": { + "$ref": "#/definitions/SessionHostManagement" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements": { + "get": { + "tags": [ + "SessionHostManagements" + ], + "operationId": "SessionHostManagements_ListByHostPool", + "description": "List SessionHostManagements by hostPool.", + "x-ms-examples": { + "SessionHostConfigurations_ListByHostPool": { + "$ref": "./examples/SessionHostManagements_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved SessionHostManagements in HostPool.", + "schema": { + "$ref": "#/definitions/SessionHostManagementList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements/default/initiateSessionHostUpdate": { + "post": { + "tags": [ + "SessionHostManagement" + ], + "operationId": "InitiateSessionHostUpdate_Post", + "description": "Initiates a hostpool update or schedule an update for the future.", + "x-ms-examples": { + "HostPools_Update_Post": { + "$ref": "./examples/SessionHostManagements_UpdateSessionHosts_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "updateSessionHostsRequestBody", + "description": "Object containing the definition for properties to be used in the sessionHostUpdate validation.", + "in": "body", + "schema": { + "$ref": "#/definitions/UpdateSessionHostsRequestBody" + } + } + ], + "responses": { + "200": { + "description": "Successfully initiated hostpool update." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements/default/controlSessionHostUpdate": { + "post": { + "tags": [ + "SessionHostManagement" + ], + "operationId": "ControlSessionHostUpdate_Post", + "description": "Control update of a hostpool.", + "x-ms-examples": { + "SessionHostManagements_ControlUpdate_Post": { + "$ref": "./examples/SessionHostManagements_ControlSessionHostUpdate_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "hostPoolUpdateControlParameter", + "description": "Object containing control action for hostpool update.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/HostPoolUpdateControlParameter" + } + } + ], + "responses": { + "202": { + "description": "Successfully controlled hostpool update.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements/default/sessionHostUpdateStatuses/default": { + "get": { + "tags": [ + "SessionHostManagement" + ], + "operationId": "SessionHostManagementsUpdateStatus_Get", + "description": "Get the session host update status for a given hostpool.", + "x-ms-examples": { + "SessionHostManagements_UpdateStatus_Get": { + "$ref": "./examples/SessionHostManagements_UpdateStatus_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the session host update status.", + "schema": { + "$ref": "#/definitions/SessionHostManagementUpdateStatus" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostConfigurations/default": { + "put": { + "tags": [ + "SessionHostConfiguration" + ], + "operationId": "SessionHostConfigurations_CreateOrUpdate", + "description": "Create or update a SessionHostConfiguration.", + "x-ms-examples": { + "SessionHostConfigurations_Create": { + "$ref": "./examples/SessionHostConfigurations_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "sessionHostConfiguration", + "description": "Object containing SessionHostConfiguration definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SessionHostConfiguration" + } + } + ], + "responses": { + "200": { + "description": "Successfully initiated SessionHostConfiguration Update validation.", + "headers": { + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SessionHostConfiguration" + } + }, + "201": { + "description": "Successfully created Session Host Configuration.", + "headers": { + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SessionHostConfiguration" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "SessionHostConfiguration" + ], + "operationId": "SessionHostConfigurations_Update", + "description": "Update a SessionHostConfiguration.", + "x-ms-examples": { + "SessionHostConfigurations_Update": { + "$ref": "./examples/SessionHostConfigurations_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "sessionHostConfiguration", + "description": "Object containing SessionHostConfiguration definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/SessionHostConfigurationPatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully created SessionHostConfiguration.", + "headers": { + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/SessionHostConfiguration" + } + }, + "202": { + "description": "Successfully created SessionHostConfiguration.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Azure-AsyncOperation": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + }, + "Retry-After": { + "description": "Suggested delay to check the status of the asynchronous operation. The value is an integer that represents the seconds.", + "type": "integer", + "format": "int32" + } + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "SessionHostConfiguration" + ], + "operationId": "SessionHostConfigurations_Get", + "description": "Get a SessionHostConfiguration.", + "x-ms-examples": { + "SessionHostConfigurations_Get": { + "$ref": "./examples/SessionHostConfigurations_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved sessionHostConfiguration.", + "schema": { + "$ref": "#/definitions/SessionHostConfiguration" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostConfigurations": { + "get": { + "tags": [ + "SessionHostConfiguration" + ], + "operationId": "SessionHostConfigurations_ListByHostPool", + "description": "List sessionHostConfigurations.", + "x-ms-examples": { + "SessionHostConfigurations_ListByHostPool": { + "$ref": "./examples/SessionHostConfigurations_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved sessionHostConfigurations in HostPool.", + "schema": { + "$ref": "#/definitions/SessionHostConfigurationList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/activeSessionHostConfigurations/default": { + "get": { + "tags": [ + "ActiveSessionHostConfiguration" + ], + "operationId": "ActiveSessionHostConfigurations_Get", + "description": "Get the ActiveSessionHostConfiguration for the hostPool that is currently being used for update operations.", + "x-ms-examples": { + "SessionHostConfigurations_Get": { + "$ref": "./examples/ActiveSessionHostConfigurations_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved activeSessionHostConfiguration.", + "schema": { + "$ref": "#/definitions/ActiveSessionHostConfiguration" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/activeSessionHostConfigurations": { + "get": { + "tags": [ + "ActiveSessionHostConfiguration" + ], + "operationId": "ActiveSessionHostConfigurations_ListByHostPool", + "description": "List activeSessionHostConfigurations.", + "x-ms-examples": { + "SessionHostConfigurations_ListByHostPool": { + "$ref": "./examples/ActiveSessionHostConfigurations_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved activeSessionHostConfigurations in HostPool.", + "schema": { + "$ref": "#/definitions/ActiveSessionHostConfigurationList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateLinkResources_ListByHostPool", + "description": "List the private link resources available for this hostpool.", + "x-ms-examples": { + "PrivateLinkResources_ListByHostPool": { + "$ref": "./examples/PrivateLinkResources_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the list of resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/retrieveRegistrationToken": { + "post": { + "tags": [ + "HostPool" + ], + "operationId": "HostPools_RetrieveRegistrationToken", + "description": "Registration token of the host pool.", + "x-ms-examples": { + "HostPools_RetrieveRegistrationToken_Post": { + "$ref": "./examples/HostPools_RetrieveRegistrationToken_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved host pool in resource group.", + "schema": { + "$ref": "#/definitions/RegistrationInfo" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/userSessions": { + "get": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_ListByHostPool", + "description": "List userSessions.", + "x-ms-examples": { + "UserSession_ListByHostPool": { + "$ref": "./examples/UserSession_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are userprincipalname and sessionstate." + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved user sessions in host pool.", + "schema": { + "$ref": "#/definitions/UserSessionList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}": { + "get": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_Get", + "description": "Get a session host.", + "x-ms-examples": { + "SessionHost_Get": { + "$ref": "./examples/SessionHost_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved session host.", + "schema": { + "$ref": "#/definitions/SessionHost" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_Delete", + "description": "Remove a SessionHost.", + "x-ms-examples": { + "SessionHost_Delete": { + "$ref": "./examples/SessionHost_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to force sessionHost deletion even when userSession exists." + } + ], + "responses": { + "200": { + "description": "Successfully removed session host." + }, + "204": { + "description": "Session host does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_Update", + "description": "Update a session host.", + "x-ms-examples": { + "SessionHost_Update": { + "$ref": "./examples/SessionHost_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "name": "sessionHost", + "description": "Object containing SessionHost definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/SessionHostPatch" + } + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to update assign, unassign or reassign personal desktop." + } + ], + "responses": { + "200": { + "description": "Successfully updated session host.", + "schema": { + "$ref": "#/definitions/SessionHost" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts": { + "get": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHosts_List", + "description": "List sessionHosts.", + "x-ms-examples": { + "SessionHost_List": { + "$ref": "./examples/SessionHost_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + }, + { + "$ref": "#/parameters/vmPathParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved session hosts in host pool.", + "schema": { + "$ref": "#/definitions/SessionHostList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/retryProvisioning": { + "post": { + "tags": [ + "SessionHost" + ], + "operationId": "SessionHost_RetryProvisioning", + "description": "Retry provisioning on a SessionHost.", + "x-ms-examples": { + "SessionHost_RetryProvisioning_Post": { + "$ref": "./examples/SessionHost_RetryProvisioning_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully started provisioning retry on the sessionHost." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages/{msixPackageFullName}": { + "get": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_Get", + "description": "Get a msixpackage.", + "x-ms-examples": { + "MSIXPackage_Get": { + "$ref": "./examples/MsixPackage_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_CreateOrUpdate", + "description": "Create or update a MSIX package.", + "x-ms-examples": { + "MSIXPackage_Create": { + "$ref": "./examples/MsixPackage_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + }, + { + "name": "msixPackage", + "description": "Object containing MSIX Package definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "201": { + "description": "Successfully created MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_Delete", + "description": "Remove an MSIX Package.", + "x-ms-examples": { + "MSIXPackage_Delete": { + "$ref": "./examples/MsixPackage_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully removed MSIX Package." + }, + "204": { + "description": "MSIX Package does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "patch": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_Update", + "description": "Update an MSIX Package.", + "x-ms-examples": { + "MSIXPackage_Update": { + "$ref": "./examples/MsixPackage_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/MSIXPackageFullNameParameter" + }, + { + "name": "msixPackage", + "description": "Object containing MSIX Package definitions.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/MSIXPackagePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated MSIX Package.", + "schema": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/msixPackages": { + "get": { + "tags": [ + "MSIXPackage" + ], + "operationId": "MSIXPackages_List", + "description": "List MSIX packages in hostpool.", + "x-ms-examples": { + "MSIXPackage_List": { + "$ref": "./examples/MsixPackage_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved MSIX Packages in hostpool.", + "schema": { + "$ref": "#/definitions/MSIXPackageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/importAppAttachPackageInfo": { + "post": { + "tags": [ + "AppAttachPackageInfo" + ], + "operationId": "AppAttachPackageInfo_Import", + "description": "Gets information from a package given the path to the package.", + "x-ms-examples": { + "AppAttachPackageInfo_Import": { + "$ref": "./examples/AppAttachPackageInfo_Import_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "importPackageInfoRequest", + "description": "Object containing URI to package image and other optional properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ImportPackageInfoRequest" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved packages in specified Image Path.", + "schema": { + "$ref": "#/definitions/AppAttachPackageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/expandMsixImage": { + "post": { + "tags": [ + "MsixImage" + ], + "operationId": "MsixImages_Expand", + "description": "Expands and Lists MSIX packages in an Image, given the Image Path.", + "x-ms-examples": { + "MsixImage_Expand": { + "$ref": "./examples/MsixImage_Expand_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "msixImageURI", + "description": "Object containing URI to MSIX Image", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MSIXImageURI" + } + } + ], + "responses": { + "200": { + "description": "Successfully retrieved MSIX packages in specified Image Path.", + "schema": { + "$ref": "#/definitions/ExpandMsixImageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/appAttachPackages/{appAttachPackageName}": { + "get": { + "tags": [ + "AppAttachPackage" + ], + "operationId": "AppAttachPackage_Get", + "description": "Get an app attach package.", + "x-ms-examples": { + "AppAttachPackage_Get": { + "$ref": "./examples/AppAttachPackage_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AppAttachPackageNameParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved App Attach Package.", + "schema": { + "$ref": "#/definitions/AppAttachPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "put": { + "tags": [ + "AppAttachPackage" + ], + "operationId": "AppAttachPackage_CreateOrUpdate", + "description": "Create or update an App Attach package.", + "x-ms-examples": { + "AppAttachPackage_Create": { + "$ref": "./examples/AppAttachPackage_Create.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AppAttachPackageNameParameter" + }, + { + "name": "appAttachPackage", + "description": "Object containing App Attach Package definitions.", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AppAttachPackage" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated App Attach Package.", + "schema": { + "$ref": "#/definitions/AppAttachPackage" + } + }, + "201": { + "description": "Successfully created App Attach Package.", + "schema": { + "$ref": "#/definitions/AppAttachPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "delete": { + "tags": [ + "AppAttachPackage" + ], + "operationId": "AppAttachPackage_Delete", + "description": "Remove an App Attach Package.", + "x-ms-examples": { + "AppAttachPackage_Delete": { + "$ref": "./examples/AppAttachPackage_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AppAttachPackageNameParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to delete App Attach package." + } + ], + "responses": { + "200": { + "description": "Successfully deleted App Attach Package." + }, + "204": { + "description": "App Attach Package does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + }, + "patch": { + "tags": [ + "AppAttachPackage" + ], + "operationId": "AppAttachPackage_Update", + "description": "Update an App Attach Package", + "x-ms-examples": { + "AppAttachPackage_Update": { + "$ref": "./examples/AppAttachPackage_Update.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AppAttachPackageNameParameter" + }, + { + "name": "appAttachPackagePatch", + "description": "Object containing App Attach Package definition.", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/AppAttachPackagePatch" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated App Attach Package.", + "schema": { + "$ref": "#/definitions/AppAttachPackage" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/appAttachPackages": { + "get": { + "tags": [ + "AppAttachPackage" + ], + "operationId": "AppAttachPackage_ListByResourceGroup", + "description": "List App Attach packages in resource group.", + "x-ms-examples": { + "AppAttachPackage_ListByResourceGroup": { + "$ref": "./examples/AppAttachPackage_ListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are package name, host pool, package owner name, and custom data." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved App Attach Packages in resource group.", + "schema": { + "$ref": "#/definitions/AppAttachPackageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DesktopVirtualization/appAttachPackages": { + "get": { + "tags": [ + "AppAttachPackage" + ], + "operationId": "AppAttachPackage_ListBySubscription", + "description": "List App Attach packages in subscription.", + "x-ms-examples": { + "AppAttachPackage_ListBySubscription": { + "$ref": "./examples/AppAttachPackage_ListBySubscription.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "OData filter expression. Valid properties for filtering are package name, resource group, host pool, package owner name, and custom data." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved App Attach Packages in subscription.", + "schema": { + "$ref": "#/definitions/AppAttachPackageList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}": { + "get": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_Get", + "description": "Get a userSession.", + "x-ms-examples": { + "UserSession_Get": { + "$ref": "./examples/UserSession_Get.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved user session.", + "schema": { + "$ref": "#/definitions/UserSession" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_Delete", + "description": "Remove a userSession.", + "x-ms-examples": { + "UserSession_Delete": { + "$ref": "./examples/UserSession_Delete.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + }, + { + "name": "force", + "in": "query", + "required": false, + "type": "boolean", + "description": "Force flag to login off userSession." + } + ], + "responses": { + "200": { + "description": "Successfully removed user session." + }, + "204": { + "description": "User session does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions": { + "get": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_List", + "description": "List userSessions.", + "x-ms-examples": { + "UserSession_List": { + "$ref": "./examples/UserSession_List.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved user sessions in session host.", + "schema": { + "$ref": "#/definitions/UserSessionList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/disconnect": { + "post": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_Disconnect", + "description": "Disconnect a userSession.", + "x-ms-examples": { + "UserSession_Disconnect_Post": { + "$ref": "./examples/UserSession_Disconnect_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + } + ], + "responses": { + "200": { + "description": "Successfully disconnected user session." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}/sendMessage": { + "post": { + "tags": [ + "UserSession" + ], + "operationId": "UserSessions_SendMessage", + "description": "Send a message to a user.", + "x-ms-examples": { + "UserSession_SendMessage_Post": { + "$ref": "./examples/UserSession_SendMessage_Post.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "#/parameters/SessionHostNameParameter" + }, + { + "$ref": "#/parameters/UserSessionIdParameter" + }, + { + "name": "sendMessage", + "description": "Object containing message includes title and message body", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/SendMessage" + } + } + ], + "responses": { + "200": { + "description": "Successfully sent message to user session." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/scalingPlans": { + "get": { + "tags": [ + "ScalingPlan" + ], + "operationId": "ScalingPlans_ListByHostPool", + "description": "List scaling plan associated with hostpool.", + "x-ms-examples": { + "ScalingPlan_ListByHostPool": { + "$ref": "./examples/ScalingPlan_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved scaling plan associated with hostpool.", + "schema": { + "$ref": "#/definitions/ScalingPlanList" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_ListByHostPool", + "description": "List private endpoint connections associated with hostpool.", + "x-ms-examples": { + "PrivateEndpointConnection_ListByHostPool": { + "$ref": "./examples/PrivateEndpointConnection_ListByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Number of items per page." + }, + { + "name": "isDescending", + "in": "query", + "required": false, + "type": "boolean", + "description": "Indicates whether the collection is descending." + }, + { + "name": "initialSkip", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "Initial number of items to skip." + } + ], + "responses": { + "200": { + "description": "Successfully retrieved connection list.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResultWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_GetByHostPool", + "description": "Get a private endpoint connection.", + "x-ms-examples": { + "PrivateEndpointConnection_GetByHostPool": { + "$ref": "./examples/PrivateEndpointConnection_GetByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved the connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_DeleteByHostPool", + "description": "Remove a connection.", + "x-ms-examples": { + "PrivateEndpointConnection_DeleteByHostPool": { + "$ref": "./examples/PrivateEndpointConnection_DeleteByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "Successfully removed." + }, + "204": { + "description": "Connection does not exist." + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PrivateLink" + ], + "operationId": "PrivateEndpointConnections_UpdateByHostPool", + "description": "Approve or reject a private endpoint connection.", + "x-ms-examples": { + "PrivateEndpointConnection_UpdateByHostPool": { + "$ref": "./examples/PrivateEndpointConnection_UpdateByHostPool.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/HostPoolNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v6/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "name": "connection", + "description": "Object containing the updated connection.", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "Successfully updated.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData" + } + }, + "default": { + "description": "Automation error response describing why the operation failed.", + "x-ms-error-response": true, + "schema": { + "$ref": "#/definitions/CloudError" + } + } + } + } + } + }, + "definitions": { + "CloudError": { + "description": "Cloud error object.", + "type": "object", + "x-ms-external": true, + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorProperties" + } + } + }, + "CloudErrorProperties": { + "description": "Cloud error object properties.", + "type": "object", + "properties": { + "code": { + "description": "Error code", + "type": "string" + }, + "message": { + "description": "Error message indicating why the operation failed.", + "type": "string" + } + } + }, + "ResourceProviderOperationList": { + "type": "object", + "description": "Result of the request to list operations.", + "readOnly": true, + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ResourceProviderOperation" + }, + "description": "List of operations supported by this resource provider." + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ResourceProviderOperation": { + "type": "object", + "description": "Supported operation of this resource provider.", + "readOnly": true, + "properties": { + "name": { + "description": "Operation name, in format of {provider}/{resource}/{operation}", + "type": "string" + }, + "display": { + "type": "object", + "description": "Display metadata associated with the operation.", + "properties": { + "provider": { + "description": "Resource provider: Microsoft Desktop Virtualization.", + "type": "string" + }, + "resource": { + "description": "Resource on which the operation is performed.", + "type": "string" + }, + "operation": { + "description": "Type of operation: get, read, delete, etc.", + "type": "string" + }, + "description": { + "description": "Description of this operation.", + "type": "string" + } + } + }, + "isDataAction": { + "description": "Is a data action.", + "type": "boolean" + }, + "properties": { + "$ref": "#/definitions/OperationProperties" + } + } + }, + "OperationProperties": { + "description": "Properties of the operation", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification" + } + } + }, + "ServiceSpecification": { + "description": "Service specification payload", + "type": "object", + "properties": { + "logSpecifications": { + "description": "Specifications of the Log for Azure Monitoring", + "uniqueItems": false, + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + } + } + } + }, + "LogSpecification": { + "description": "Specifications of the Log for Azure Monitoring", + "type": "object", + "properties": { + "name": { + "description": "Name of the log", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the log", + "type": "string" + }, + "blobDuration": { + "description": "Blob duration of the log", + "type": "string" + } + } + }, + "Workspace": { + "type": "object", + "description": "Represents a Workspace definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ResourceModelWithAllowedPropertySet" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for Workspace", + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkspaceProperties" + } + } + }, + "WorkspaceProperties": { + "description": "Schema for Workspace properties.", + "type": "object", + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of Workspace. (internal use)", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of Workspace." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Workspace." + }, + "applicationGroupReferences": { + "type": "array", + "description": "List of applicationGroup resource Ids.", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "cloudPcResource": { + "type": "boolean", + "description": "Is cloud pc resource.", + "readOnly": true, + "x-nullable": true + }, + "publicNetworkAccess": { + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "type": "string", + "description": "Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints", + "x-nullable": true + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connection associated with the specified resource", + "x-nullable": true + } + } + }, + "WorkspaceList": { + "type": "object", + "title": "WorkspaceList", + "description": "List of Workspace definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Workspace definitions.", + "items": { + "$ref": "#/definitions/Workspace" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "WorkspacePatch": { + "type": "object", + "description": "Workspace properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated", + "x-nullable": true + }, + "properties": { + "description": "Detailed properties for Workspace", + "x-ms-client-flatten": true, + "$ref": "#/definitions/WorkspacePatchProperties" + } + } + }, + "WorkspacePatchProperties": { + "description": "Workspace properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Workspace." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Workspace." + }, + "applicationGroupReferences": { + "type": "array", + "description": "List of applicationGroup links.", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "publicNetworkAccess": { + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + }, + "type": "string", + "description": "Enabled to allow this resource to be access from the public network", + "x-nullable": true + } + } + }, + "ApplicationGroup": { + "type": "object", + "description": "Represents a ApplicationGroup definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ResourceModelWithAllowedPropertySet" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for ApplicationGroup", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGroupProperties", + "x-nullable": false + } + } + }, + "ApplicationGroupProperties": { + "description": "Schema for ApplicationGroup properties.", + "type": "object", + "required": [ + "hostPoolArmPath", + "applicationGroupType" + ], + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of ApplicationGroup. (internal use)", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of ApplicationGroup." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of ApplicationGroup." + }, + "hostPoolArmPath": { + "type": "string", + "description": "HostPool arm path of ApplicationGroup.", + "x-nullable": false + }, + "workspaceArmPath": { + "type": "string", + "description": "Workspace arm path of ApplicationGroup.", + "readOnly": true + }, + "applicationGroupType": { + "enum": [ + "RemoteApp", + "Desktop" + ], + "x-ms-enum": { + "name": "ApplicationGroupType", + "modelAsString": true + }, + "type": "string", + "description": "Resource Type of ApplicationGroup.", + "x-nullable": false + }, + "cloudPcResource": { + "type": "boolean", + "description": "Is cloud pc resource.", + "readOnly": true, + "x-nullable": true + }, + "showInFeed": { + "type": "boolean", + "description": "Boolean representing whether the applicationGroup is show in the feed." + } + } + }, + "ApplicationGroupPatch": { + "type": "object", + "description": "ApplicationGroup properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated", + "x-nullable": true + }, + "properties": { + "description": "ApplicationGroup properties that can be patched.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGroupPatchProperties" + } + } + }, + "ApplicationGroupPatchProperties": { + "description": "ApplicationGroup properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of ApplicationGroup." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of ApplicationGroup." + }, + "showInFeed": { + "type": "boolean", + "description": "Boolean representing whether the applicationGroup is show in the feed." + } + } + }, + "ApplicationGroupList": { + "type": "object", + "title": "ApplicationGroupList", + "description": "List of ApplicationGroup definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of ApplicationGroup definitions.", + "items": { + "$ref": "#/definitions/ApplicationGroup" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "HostPool": { + "type": "object", + "description": "Represents a HostPool definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ResourceModelWithAllowedPropertySet" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for HostPool", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HostPoolProperties", + "x-nullable": false + } + } + }, + "HostPoolProperties": { + "description": "Properties of HostPool.", + "type": "object", + "required": [ + "hostPoolType", + "loadBalancerType", + "preferredAppGroupType" + ], + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of HostPool. (internal use)", + "readOnly": true + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of HostPool." + }, + "description": { + "type": "string", + "description": "Description of HostPool." + }, + "hostPoolType": { + "enum": [ + "Personal", + "Pooled", + "BYODesktop" + ], + "x-ms-enum": { + "name": "HostPoolType", + "modelAsString": true, + "values": [ + { + "value": "Personal", + "description": "Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost." + }, + { + "value": "Pooled", + "description": "Users get a new (random) SessionHost every time it connects to the HostPool." + }, + { + "value": "BYODesktop", + "description": "Users assign their own machines, load balancing logic remains the same as Personal. PersonalDesktopAssignmentType must be Direct." + } + ] + }, + "type": "string", + "description": "HostPool type for desktop.", + "x-nullable": false + }, + "personalDesktopAssignmentType": { + "enum": [ + "Automatic", + "Direct" + ], + "x-ms-enum": { + "name": "PersonalDesktopAssignmentType", + "modelAsString": true + }, + "type": "string", + "description": "PersonalDesktopAssignment type for HostPool.", + "x-nullable": true + }, + "customRdpProperty": { + "type": "string", + "description": "Custom rdp property of HostPool." + }, + "maxSessionLimit": { + "type": "integer", + "format": "int32", + "description": "The max session limit of HostPool.", + "x-nullable": true + }, + "loadBalancerType": { + "enum": [ + "BreadthFirst", + "DepthFirst", + "Persistent", + "MultiplePersistent" + ], + "x-ms-enum": { + "name": "LoadBalancerType", + "modelAsString": true + }, + "type": "string", + "description": "The type of the load balancer.", + "x-nullable": false + }, + "ring": { + "type": "integer", + "format": "int32", + "description": "The ring number of HostPool.", + "x-nullable": true + }, + "validationEnvironment": { + "type": "boolean", + "description": "Is validation environment.", + "x-nullable": true + }, + "registrationInfo": { + "$ref": "#/definitions/RegistrationInfo", + "description": "The registration info of HostPool.", + "x-nullable": true + }, + "vmTemplate": { + "type": "string", + "description": "VM template for sessionhosts configuration within hostpool." + }, + "managementType": { + "enum": [ + "Automated", + "Standard" + ], + "x-ms-enum": { + "name": "ManagementType", + "modelAsString": true + }, + "type": "string", + "description": "The type of management for this hostpool, Automated or Standard. The default value is Automated.", + "x-nullable": false + }, + "applicationGroupReferences": { + "readOnly": true, + "type": "array", + "description": "List of applicationGroup links.", + "items": { + "type": "string" + }, + "x-nullable": true + }, + "appAttachPackageReferences": { + "readOnly": true, + "type": "array", + "description": "List of App Attach Package links.", + "items": { + "type": "string" + } + }, + "ssoadfsAuthority": { + "type": "string", + "description": "URL to customer ADFS server for signing WVD SSO certificates." + }, + "ssoClientId": { + "type": "string", + "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates." + }, + "ssoClientSecretKeyVaultPath": { + "type": "string", + "description": "Path to Azure KeyVault storing the secret used for communication to ADFS." + }, + "ssoSecretType": { + "enum": [ + "SharedKey", + "Certificate", + "SharedKeyInKeyVault", + "CertificateInKeyVault" + ], + "x-ms-enum": { + "name": "SSOSecretType", + "modelAsString": true + }, + "type": "string", + "description": "The type of single sign on Secret Type.", + "x-nullable": true + }, + "preferredAppGroupType": { + "enum": [ + "None", + "Desktop", + "RailApplications" + ], + "x-ms-enum": { + "name": "PreferredAppGroupType", + "modelAsString": true + }, + "type": "string", + "description": "The type of preferred application group type, default to Desktop Application Group", + "x-nullable": false + }, + "startVMOnConnect": { + "type": "boolean", + "description": "The flag to turn on/off StartVMOnConnect feature.", + "x-nullable": true + }, + "cloudPcResource": { + "type": "boolean", + "description": "Is cloud pc resource.", + "readOnly": true, + "x-nullable": true + }, + "publicNetworkAccess": { + "enum": [ + "Enabled", + "Disabled", + "EnabledForSessionHostsOnly", + "EnabledForClientsOnly" + ], + "x-ms-enum": { + "name": "HostpoolPublicNetworkAccess", + "modelAsString": true + }, + "type": "string", + "description": "Enabled allows this resource to be accessed from both public and private networks, Disabled allows this resource to only be accessed via private endpoints", + "x-nullable": true + }, + "agentUpdate": { + "$ref": "#/definitions/AgentUpdateProperties", + "description": "The session host configuration for updating agent, monitoring agent, and stack component.", + "x-nullable": true + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateEndpointConnection" + }, + "description": "List of private endpoint connection associated with the specified resource" + }, + "managedPrivateUDP": { + "enum": [ + "Default", + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ManagedPrivateUDP", + "modelAsString": true + }, + "type": "string", + "description": "Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections", + "x-nullable": false + }, + "directUDP": { + "enum": [ + "Default", + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "DirectUDP", + "modelAsString": true + }, + "type": "string", + "description": "Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections", + "x-nullable": false + }, + "publicUDP": { + "enum": [ + "Default", + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicUDP", + "modelAsString": true + }, + "type": "string", + "description": "Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections", + "x-nullable": false + }, + "relayUDP": { + "enum": [ + "Default", + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "RelayUDP", + "modelAsString": true + }, + "type": "string", + "description": "Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections", + "x-nullable": false + } + } + }, + "HostPoolPatch": { + "type": "object", + "description": "HostPool properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated", + "x-nullable": true + }, + "properties": { + "description": "HostPool properties that can be patched.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/HostPoolPatchProperties" + } + } + }, + "HostPoolPatchProperties": { + "description": "Properties of HostPool.", + "type": "object", + "properties": { + "friendlyName": { + "type": "string", + "description": "Friendly name of HostPool." + }, + "description": { + "type": "string", + "description": "Description of HostPool." + }, + "customRdpProperty": { + "type": "string", + "description": "Custom rdp property of HostPool." + }, + "maxSessionLimit": { + "type": "integer", + "format": "int32", + "description": "The max session limit of HostPool.", + "x-nullable": true + }, + "personalDesktopAssignmentType": { + "enum": [ + "Automatic", + "Direct" + ], + "x-ms-enum": { + "name": "PersonalDesktopAssignmentType", + "modelAsString": true + }, + "type": "string", + "description": "PersonalDesktopAssignment type for HostPool.", + "x-nullable": true + }, + "loadBalancerType": { + "enum": [ + "BreadthFirst", + "DepthFirst", + "Persistent", + "MultiplePersistent" + ], + "x-ms-enum": { + "name": "LoadBalancerType", + "modelAsString": true + }, + "type": "string", + "description": "The type of the load balancer." + }, + "ring": { + "type": "integer", + "format": "int32", + "description": "The ring number of HostPool.", + "x-nullable": true + }, + "validationEnvironment": { + "type": "boolean", + "description": "Is validation environment.", + "x-nullable": true + }, + "registrationInfo": { + "$ref": "#/definitions/RegistrationInfoPatch", + "description": "The registration info of HostPool.", + "x-nullable": true + }, + "vmTemplate": { + "type": "string", + "description": "VM template for sessionhosts configuration within hostpool." + }, + "ssoadfsAuthority": { + "type": "string", + "description": "URL to customer ADFS server for signing WVD SSO certificates." + }, + "ssoClientId": { + "type": "string", + "description": "ClientId for the registered Relying Party used to issue WVD SSO certificates." + }, + "ssoClientSecretKeyVaultPath": { + "type": "string", + "description": "Path to Azure KeyVault storing the secret used for communication to ADFS." + }, + "ssoSecretType": { + "enum": [ + "SharedKey", + "Certificate", + "SharedKeyInKeyVault", + "CertificateInKeyVault" + ], + "x-ms-enum": { + "name": "SSOSecretType", + "modelAsString": true + }, + "type": "string", + "description": "The type of single sign on Secret Type.", + "x-nullable": true + }, + "preferredAppGroupType": { + "enum": [ + "None", + "Desktop", + "RailApplications" + ], + "x-ms-enum": { + "name": "PreferredAppGroupType", + "modelAsString": true + }, + "type": "string", + "description": "The type of preferred application group type, default to Desktop Application Group" + }, + "startVMOnConnect": { + "type": "boolean", + "description": "The flag to turn on/off StartVMOnConnect feature.", + "x-nullable": true + }, + "publicNetworkAccess": { + "enum": [ + "Enabled", + "Disabled", + "EnabledForSessionHostsOnly", + "EnabledForClientsOnly" + ], + "x-ms-enum": { + "name": "HostpoolPublicNetworkAccess", + "modelAsString": true + }, + "type": "string", + "description": "Enabled to allow this resource to be access from the public network", + "x-nullable": true + }, + "agentUpdate": { + "$ref": "#/definitions/AgentUpdatePatchProperties", + "description": "The session host configuration for updating agent, monitoring agent, and stack component." + }, + "managedPrivateUDP": { + "enum": [ + "Default", + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ManagedPrivateUDP", + "modelAsString": true + }, + "type": "string", + "description": "Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections", + "x-nullable": false + }, + "directUDP": { + "enum": [ + "Default", + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "DirectUDP", + "modelAsString": true + }, + "type": "string", + "description": "Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections", + "x-nullable": false + }, + "publicUDP": { + "enum": [ + "Default", + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "PublicUDP", + "modelAsString": true + }, + "type": "string", + "description": "Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections", + "x-nullable": false + }, + "relayUDP": { + "enum": [ + "Default", + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "RelayUDP", + "modelAsString": true + }, + "type": "string", + "description": "Default: AVD-wide settings are used to determine connection availability, Enabled: UDP will attempt this connection type when making connections. This means that this connection is possible, but is not guaranteed, as there are other factors that may prevent this connection type, Disabled: UDP will not attempt this connection type when making connections", + "x-nullable": false + } + } + }, + "SessionHostManagementList": { + "type": "object", + "title": "SessionHostManagementList", + "description": "List of SessionHostManagement definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of SessionHostManagement definitions.", + "items": { + "$ref": "#/definitions/SessionHostManagement" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "SessionHostManagement": { + "type": "object", + "description": "Represents a SessionHostManagement definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for SessionHostManagement", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SessionHostManagementProperties" + } + } + }, + "SessionHostManagementProperties": { + "description": "Session host Managements of HostPool.", + "type": "object", + "required": [ + "scheduledDateTimeZone", + "update" + ], + "properties": { + "scheduledDateTimeZone": { + "type": "string", + "description": "Time zone for sessionHostManagement operations as defined in https://docs.microsoft.com/dotnet/api/system.timezoneinfo.findsystemtimezonebyid. Must be set if useLocalTime is true." + }, + "update": { + "$ref": "#/definitions/HostPoolUpdateConfigurationProperties", + "description": "Parameters for a hostpool update." + } + } + }, + "SessionHostManagementPatch": { + "type": "object", + "description": "Represents a SessionHostManagementPatch definition.", + "properties": { + "properties": { + "description": "Detailed properties for SessionHostManagementPatch", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SessionHostManagementPatchProperties" + } + } + }, + "SessionHostManagementPatchProperties": { + "description": "Session host Managements of HostPool.", + "type": "object", + "properties": { + "scheduledDateTimeZone": { + "type": "string", + "description": "Time zone for sessionHostManagement operations as defined in https://docs.microsoft.com/dotnet/api/system.timezoneinfo.findsystemtimezonebyid. Must be set if useLocalTime is true." + }, + "update": { + "$ref": "#/definitions/HostPoolUpdateConfigurationPatchProperties", + "description": "Parameters for a hostpool update." + } + } + }, + "HostPoolUpdateConfigurationProperties": { + "description": "The configurations of a hostpool update.", + "type": "object", + "required": [ + "maxVmsRemoved", + "logOffDelayMinutes" + ], + "properties": { + "deleteOriginalVm": { + "type": "boolean", + "description": "Whether not to save original disk. False by default." + }, + "maxVmsRemoved": { + "type": "integer", + "format": "int32", + "description": "The maximum number of virtual machines to be removed during hostpool update.", + "minimum": 1 + }, + "logOffDelayMinutes": { + "type": "integer", + "format": "int32", + "description": "Grace period before logging off users in minutes." + }, + "logOffMessage": { + "type": "string", + "description": "Log off message sent to user for logoff. Default value is an empty string.", + "maxLength": 260, + "default": "" + } + } + }, + "HostPoolUpdateConfigurationPatchProperties": { + "description": "The configurations of a hostpool update.", + "type": "object", + "properties": { + "deleteOriginalVm": { + "type": "boolean", + "description": "Whether not to save original disk. False by default." + }, + "maxVmsRemoved": { + "type": "integer", + "format": "int32", + "description": "The maximum number of virtual machines to be removed during hostpool update.", + "minimum": 1 + }, + "logOffDelayMinutes": { + "type": "integer", + "format": "int32", + "description": "Grace period before logging off users in minutes." + }, + "logOffMessage": { + "type": "string", + "description": "Log off message sent to user for logoff.", + "maxLength": 260 + } + } + }, + "HostPoolUpdateControlParameter": { + "description": "Represents properties for a hostpool update control request.", + "type": "object", + "required": [ + "action" + ], + "properties": { + "action": { + "enum": [ + "Start", + "Pause", + "Cancel", + "Retry", + "Resume" + ], + "x-ms-enum": { + "name": "HostPoolUpdateAction", + "modelAsString": true, + "values": [ + { + "value": "Start", + "description": "Start the hostpool update." + }, + { + "value": "Pause", + "description": "Pause the hostpool update." + }, + { + "value": "Cancel", + "description": "Cancel the hostpool update." + }, + { + "value": "Retry", + "description": "Retry the hostpool update." + }, + { + "value": "Resume", + "description": "Resume the hostpool update." + } + ] + }, + "type": "string", + "description": "Action types for controlling hostpool update.", + "x-nullable": false + }, + "cancelMessage": { + "type": "string", + "description": "The cancel message sent to the user on the session host. This is can only be specified if the action is 'Cancel'.", + "maxLength": 260 + } + } + }, + "HostPoolUpdateFault": { + "description": "Hostpool update fault information.", + "type": "object", + "properties": { + "faultType": { + "type": "string", + "description": "Hostpool update fault type.", + "enum": [ + "ServiceError", + "UserError" + ], + "x-ms-enum": { + "name": "faultType", + "modelAsString": true, + "values": [ + { + "value": "ServiceError", + "description": "Fault caused by service error." + }, + { + "value": "UserError", + "description": "Fault caused by user error." + } + ] + } + }, + "faultCode": { + "type": "string", + "description": "Hostpool update fault code." + }, + "faultText": { + "type": "string", + "description": "Hostpool update fault text." + }, + "faultContext": { + "type": "string", + "description": "Hostpool update fault context." + } + } + }, + "SessionHostManagementUpdateStatus": { + "description": "The current status of the session host update async operation.", + "type": "object", + "required": [ + "status" + ], + "properties": { + "id": { + "description": "Fully qualified ID for the async operation.", + "type": "string" + }, + "name": { + "description": "Name of the async operation.", + "type": "string" + }, + "status": { + "description": "Operation status. Current defined values are < Error | Scheduled | UpdatingSessionHosts | ValidatingSessionHostUpdate | Paused | Pausing | Cancelling > | Succeeded | Failed | Canceled", + "type": "string" + }, + "percentComplete": { + "description": "Percent of the operation that is complete.", + "type": "number", + "minimum": 0, + "maximum": 100 + }, + "startTime": { + "description": "The start time of the operation.", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "The end time of the operation.", + "type": "string", + "format": "date-time" + }, + "error": { + "description": "If present, details of the operation error.", + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail" + }, + "properties": { + "x-ms-client-flatten": true, + "type": "object", + "description": "The custom properties of the SessionHost Update Status.", + "$ref": "#/definitions/SessionHostManagementUpdateStatusProperties" + } + } + }, + "SessionHostManagementUpdateStatusProperties": { + "description": "Properties bag to hold custom RP properties for sessionHostManagement Update Statuses.", + "type": "object", + "properties": { + "correlationId": { + "type": "string", + "description": "The Log Analytics." + }, + "progress": { + "description": "Progress information on the sessionHostManagement operation.", + "$ref": "#/definitions/SessionHostManagementOperationProgress" + }, + "scheduledDateTime": { + "format": "date-time", + "type": "string", + "description": "The timestamp that the update is scheduled for." + }, + "sessionHostManagement": { + "description": "SessionHostManagement properties used for the operation.", + "$ref": "#/definitions/SessionHostManagement" + } + } + }, + "SessionHostManagementOperationType": { + "enum": [ + "InitiateSessionHostUpdate", + "ValidateSessionHostUpdate" + ], + "type": "string", + "x-ms-enum": { + "name": "OperationTypeSHM", + "modelAsString": true + } + }, + "SessionHostManagementOperationProgress": { + "type": "object", + "description": "SessionHostManagement Operation Progress information.", + "properties": { + "executionStartTime": { + "format": "date-time", + "type": "string", + "description": "Time that the sessionHostManagement operation was created." + }, + "totalSessionHosts": { + "type": "integer", + "format": "int32", + "description": "The number of sessionHosts to be started in the sessionHostManagement operation." + }, + "sessionHostsInProgress": { + "type": "integer", + "format": "int32", + "description": "The number of sessionHosts in progress in the sessionHostManagement operation." + }, + "sessionHostsCompleted": { + "type": "integer", + "format": "int32", + "description": "The number of sessionHosts completed in the sessionHostManagement operation." + }, + "sessionHostsRollbackFailed": { + "type": "integer", + "format": "int32", + "description": "The number of sessionHosts rollback failed in the sessionHostManagement operation." + } + } + }, + "UpdateSessionHostsRequestBody": { + "description": "Object containing the definition for properties to be used for a sessionHostUpdate operation.", + "type": "object", + "properties": { + "scheduledDateTime": { + "type": "string", + "format": "date-time", + "description": "The timestamp that the update validation is scheduled for. If none is provided, the update will be executed immediately" + }, + "scheduledDateTimeZone": { + "type": "string", + "description": "The timeZone as defined in https://docs.microsoft.com/dotnet/api/system.timezoneinfo.findsystemtimezonebyid." + }, + "update": { + "description": "settings for management information for the hostpool update operation. If none is provided the update will use the settings saved in the sessionHostManagement object.", + "$ref": "#/definitions/HostPoolUpdateConfigurationPatchProperties" + } + } + }, + "SessionHostConfigurationOperationStatus": { + "description": "The current status of an async operation.", + "type": "object", + "required": [ + "status" + ], + "properties": { + "id": { + "description": "Fully qualified ID for the async operation.", + "type": "string" + }, + "name": { + "description": "Name of the async operation.", + "type": "string" + }, + "status": { + "description": "Operation status. Current defined values are ", + "type": "string" + }, + "percentComplete": { + "description": "Percent of the operation that is complete.", + "type": "number", + "minimum": 0, + "maximum": 100 + }, + "startTime": { + "description": "The start time of the operation.", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "The end time of the operation.", + "type": "string", + "format": "date-time" + }, + "operations": { + "description": "The operations list.", + "type": "array", + "items": { + "$ref": "#/definitions/SessionHostConfigurationOperationStatus" + } + }, + "error": { + "description": "If present, details of the operation error.", + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ErrorDetail" + } + } + }, + "SessionHostConfigurationOperationStatusList": { + "type": "object", + "title": "OperationStatusList", + "description": "List of OperationStatus definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of OperationStatus definitions.", + "items": { + "$ref": "#/definitions/SessionHostConfigurationOperationStatus" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ActiveSessionHostConfigurationList": { + "type": "object", + "title": "ActiveSessionHostConfigurationList", + "description": "List of ActiveSessionHostConfiguration definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of ActiveSessionHostConfiguration definitions.", + "items": { + "$ref": "#/definitions/ActiveSessionHostConfiguration" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ActiveSessionHostConfiguration": { + "type": "object", + "description": "Represents a ActiveSessionHostConfiguration definition. This has all of the sessionHostConfiguration properties except provisioningState", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for SessionHostConfiguration", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ActiveSessionHostConfigurationProperties" + } + } + }, + "ActiveSessionHostConfigurationProperties": { + "description": "Session host configurations of HostPool.", + "type": "object", + "required": [ + "vmNamePrefix", + "networkInfo", + "vmSizeId", + "diskInfo", + "imageInfo", + "domainInfo", + "vmAdminCredentials" + ], + "properties": { + "version": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the last update.", + "readOnly": true + }, + "friendlyName": { + "type": "string", + "description": "Friendly name to describe this version of the SessionHostConfiguration.", + "maxLength": 260 + }, + "vmTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Hashtable that lists key/value pair tags to apply to the VMs" + }, + "vmLocation": { + "type": "string", + "description": "The Location for the session host to be created in. It will default to the location of the hostpool if not provided." + }, + "vmResourceGroup": { + "type": "string", + "description": "The ResourceGroup for the session hosts to be created in. It will default to the ResourceGroup of the hostpool if not provided." + }, + "vmNamePrefix": { + "type": "string", + "description": "The prefix that should be associated with session host names", + "maxLength": 11 + }, + "availabilityZones": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "Value for availability zones to be used by the session host. Should be from [1,2,3]." + }, + "networkInfo": { + "$ref": "#/definitions/NetworkInfoProperties", + "description": "Network information." + }, + "vmSizeId": { + "type": "string", + "description": "The id of the size of a virtual machine connected to a hostpool. Example: Standard_D2as_v6" + }, + "diskInfo": { + "$ref": "#/definitions/DiskInfoProperties", + "description": "Disk information." + }, + "customConfigurationScriptUrl": { + "type": "string", + "format": "uri", + "description": "The uri to the storage blob containing the arm template to be run on the virtual machine after provisioning." + }, + "imageInfo": { + "$ref": "#/definitions/ImageInfoProperties", + "description": "Image configurations of HostPool." + }, + "domainInfo": { + "$ref": "#/definitions/DomainInfoProperties", + "description": "Domain configurations of session hosts." + }, + "securityInfo": { + "$ref": "#/definitions/SecurityInfoProperties", + "description": "Security information." + }, + "vmAdminCredentials": { + "$ref": "#/definitions/KeyVaultCredentialsProperties", + "description": "Local Admin credentials for session hosts." + }, + "bootDiagnosticsInfo": { + "$ref": "#/definitions/BootDiagnosticsInfoProperties", + "description": "Boot Diagnostics information." + } + } + }, + "SessionHostConfigurationList": { + "type": "object", + "title": "SessionHostConfigurationList", + "description": "List of SessionHostConfiguration definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of SessionHostConfiguration definitions.", + "items": { + "$ref": "#/definitions/SessionHostConfiguration" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "SessionHostConfiguration": { + "type": "object", + "description": "Represents a SessionHostConfiguration definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for SessionHostConfiguration", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SessionHostConfigurationProperties" + } + } + }, + "SessionHostConfigurationProperties": { + "description": "Session host configurations of HostPool.", + "type": "object", + "required": [ + "vmNamePrefix", + "networkInfo", + "vmSizeId", + "diskInfo", + "imageInfo", + "domainInfo", + "vmAdminCredentials" + ], + "properties": { + "version": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the last update.", + "readOnly": true + }, + "friendlyName": { + "type": "string", + "description": "Friendly name to describe this version of the SessionHostConfiguration.", + "maxLength": 260 + }, + "provisioningState": { + "description": "Provisioning state of the Session Host Configuration.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningStateSHC", + "modelAsString": true + } + }, + "vmTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Hashtable that lists key/value pair tags to apply to the VMs" + }, + "vmLocation": { + "type": "string", + "description": "The Location for the session host to be created in. It will default to the location of the hostpool if not provided." + }, + "vmResourceGroup": { + "type": "string", + "description": "The ResourceGroup for the session hosts to be created in. It will default to the ResourceGroup of the hostpool if not provided." + }, + "vmNamePrefix": { + "type": "string", + "description": "The prefix that should be associated with session host names", + "maxLength": 11 + }, + "availabilityZones": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "Value for availability zones to be used by the session host. Should be from [1,2,3]." + }, + "networkInfo": { + "$ref": "#/definitions/NetworkInfoProperties", + "description": "Network information." + }, + "vmSizeId": { + "type": "string", + "description": "The id of the size of a virtual machine connected to a hostpool. Example: Standard_D2as_v6" + }, + "diskInfo": { + "$ref": "#/definitions/DiskInfoProperties", + "description": "Disk information." + }, + "customConfigurationScriptUrl": { + "type": "string", + "format": "uri", + "description": "The uri to the storage blob containing the arm template to be run on the virtual machine after provisioning." + }, + "imageInfo": { + "$ref": "#/definitions/ImageInfoProperties", + "description": "Image configurations of HostPool." + }, + "domainInfo": { + "$ref": "#/definitions/DomainInfoProperties", + "description": "Domain configurations of session hosts." + }, + "securityInfo": { + "$ref": "#/definitions/SecurityInfoProperties", + "description": "Security information." + }, + "vmAdminCredentials": { + "$ref": "#/definitions/KeyVaultCredentialsProperties", + "description": "Local Admin credentials for session hosts." + }, + "bootDiagnosticsInfo": { + "$ref": "#/definitions/BootDiagnosticsInfoProperties", + "description": "Boot Diagnostics information." + } + } + }, + "SessionHostConfigurationPatch": { + "type": "object", + "description": "Represents a SessionHostConfigurationPatch definition.", + "properties": { + "properties": { + "description": "Detailed properties for SessionHostConfigurationPatch", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SessionHostConfigurationPatchProperties" + } + } + }, + "SessionHostConfigurationPatchProperties": { + "description": "Session host configurations of HostPool.", + "type": "object", + "properties": { + "friendlyName": { + "type": "string", + "description": "Friendly name to describe this version of the SessionHostConfiguration.", + "maxLength": 260 + }, + "vmTags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Hashtable that lists key/value pair tags to apply to the VMs" + }, + "vmLocation": { + "type": "string", + "description": "The Location for the session host to be created in" + }, + "vmResourceGroup": { + "type": "string", + "description": "The ResourceGroup for the session hosts to be created in. It will default to the ResourceGroup of the hostpool if not provided." + }, + "vmNamePrefix": { + "type": "string", + "description": "The prefix that should be associated with session host names", + "maxLength": 11 + }, + "availabilityZones": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + }, + "description": "Value for availability zones to be used by the session host. Should be from [1,2,3]." + }, + "networkInfo": { + "$ref": "#/definitions/NetworkInfoPatchProperties", + "description": "Network information." + }, + "vmSizeId": { + "type": "string", + "description": "The id of the size of a virtual machine connected to a hostpool. Example: Standard_D2as_v6" + }, + "diskInfo": { + "$ref": "#/definitions/DiskInfoPatchProperties", + "description": "Disk information." + }, + "customConfigurationScriptUrl": { + "type": "string", + "format": "uri", + "description": "The uri to the storage blob containing the arm template to be run on the virtual machine after provisioning.", + "maxLength": 260 + }, + "imageInfo": { + "$ref": "#/definitions/ImageInfoPatchProperties", + "description": "Image configurations of HostPool." + }, + "domainInfo": { + "$ref": "#/definitions/DomainInfoPatchProperties", + "description": "Domain configurations of session hosts." + }, + "securityInfo": { + "$ref": "#/definitions/SecurityInfoPatchProperties", + "description": "Security information." + }, + "vmAdminCredentials": { + "$ref": "#/definitions/KeyVaultCredentialsPatchProperties", + "description": "Local Admin credentials for session hosts." + }, + "bootDiagnosticsInfo": { + "$ref": "#/definitions/BootDiagnosticsInfoPatchProperties", + "description": "Boot Diagnostics information." + } + } + }, + "DiskInfoProperties": { + "description": "Disk information.", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "x-ms-enum": { + "name": "VirtualMachineDiskType", + "modelAsString": true, + "values": [ + { + "value": "Standard_LRS", + "description": "Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access." + }, + { + "value": "Premium_LRS", + "description": "Premium SSD locally redundant storage. Best for production and performance sensitive workloads." + }, + { + "value": "StandardSSD_LRS", + "description": "Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test." + } + ] + }, + "description": "The disk type used by virtual machine in hostpool session host." + } + } + }, + "DiskInfoPatchProperties": { + "description": "Disk information.", + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "Standard_LRS", + "Premium_LRS", + "StandardSSD_LRS" + ], + "x-ms-enum": { + "name": "VirtualMachineDiskType", + "modelAsString": true, + "values": [ + { + "value": "Standard_LRS", + "description": "Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access." + }, + { + "value": "Premium_LRS", + "description": "Premium SSD locally redundant storage. Best for production and performance sensitive workloads." + }, + { + "value": "StandardSSD_LRS", + "description": "Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test." + } + ] + }, + "description": "The disk type used by virtual machine in hostpool session host." + } + } + }, + "ImageInfoProperties": { + "description": "Image configurations of session host in a HostPool.", + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "x-ms-client-name": "imageType", + "enum": [ + "Marketplace", + "Custom" + ], + "x-ms-enum": { + "name": "type", + "modelAsString": true, + "values": [ + { + "value": "Marketplace", + "description": "Using default marketplace images offered by Azure Marketplace." + }, + { + "value": "Custom", + "description": "Using a custom image." + } + ] + }, + "type": "string", + "description": "The type of image session hosts use in the hostpool.", + "x-nullable": false + }, + "marketplaceInfo": { + "$ref": "#/definitions/MarketplaceInfoProperties", + "description": "The values to uniquely identify a marketplace image. Only one should be populated based on the image type." + }, + "customInfo": { + "$ref": "#/definitions/CustomInfoProperties", + "description": "The values to uniquely identify a custom image. Only one should be populated based on the image type." + } + } + }, + "ImageInfoPatchProperties": { + "description": "Image configurations of session host in a HostPool.", + "type": "object", + "properties": { + "type": { + "x-ms-client-name": "imageType", + "enum": [ + "Marketplace", + "Custom" + ], + "x-ms-enum": { + "name": "type", + "modelAsString": true, + "values": [ + { + "value": "Marketplace", + "description": "Using default marketplace images offered by Azure Marketplace." + }, + { + "value": "Custom", + "description": "Using a custom image." + } + ] + }, + "type": "string", + "description": "The type of image session hosts use in the hostpool.", + "x-nullable": false + }, + "marketplaceInfo": { + "$ref": "#/definitions/MarketplaceInfoPatchProperties", + "description": "The values to uniquely identify a marketplace image. Only one should be populated based on the image type." + }, + "customInfo": { + "$ref": "#/definitions/CustomInfoPatchProperties", + "description": "The values to uniquely identify a custom image. Only one should be populated based on the image type." + } + } + }, + "MarketplaceInfoProperties": { + "description": "Marketplace image information.", + "type": "object", + "required": [ + "offer", + "publisher", + "sku", + "exactVersion" + ], + "properties": { + "offer": { + "type": "string", + "description": "The offer of the image." + }, + "publisher": { + "type": "string", + "description": "The publisher of the image." + }, + "sku": { + "type": "string", + "description": "The sku of the image." + }, + "exactVersion": { + "type": "string", + "description": "The exact version of the image." + } + } + }, + "MarketplaceInfoPatchProperties": { + "description": "Marketplace image information.", + "type": "object", + "properties": { + "offer": { + "type": "string", + "description": "The offer of the image." + }, + "publisher": { + "type": "string", + "description": "The publisher of the image." + }, + "sku": { + "type": "string", + "description": "The sku of the image." + }, + "exactVersion": { + "type": "string", + "description": "The exact version of the image." + } + } + }, + "CustomInfoProperties": { + "description": "Custom image information.", + "type": "object", + "required": [ + "resourceId" + ], + "properties": { + "resourceId": { + "type": "string", + "format": "arm-id", + "description": "The resource id of the custom image." + } + } + }, + "CustomInfoPatchProperties": { + "description": "Custom image information.", + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "format": "arm-id", + "description": "The resource id of the custom image." + } + } + }, + "DomainInfoProperties": { + "description": "Domain configurations of session hosts.", + "type": "object", + "required": [ + "joinType" + ], + "properties": { + "joinType": { + "enum": [ + "ActiveDirectory", + "AzureActiveDirectory" + ], + "x-ms-enum": { + "name": "DomainJoinType", + "modelAsString": true, + "values": [ + { + "value": "ActiveDirectory", + "description": "Using microsoft active directory." + }, + { + "value": "AzureActiveDirectory", + "description": "Using microsoft azure active directory." + } + ] + }, + "type": "string", + "description": "The type of domain join done by the virtual machine.", + "x-nullable": false + }, + "activeDirectoryInfo": { + "$ref": "#/definitions/ActiveDirectoryInfoProperties", + "description": "Active directory info. Only one should be populated based on the join type." + }, + "azureActiveDirectoryInfo": { + "$ref": "#/definitions/AzureActiveDirectoryInfoProperties", + "description": "Azure active directory info. Only one should be populated based on the join type." + } + } + }, + "DomainInfoPatchProperties": { + "description": "Domain configurations of session hosts.", + "type": "object", + "properties": { + "activeDirectoryInfo": { + "$ref": "#/definitions/ActiveDirectoryInfoPatchProperties", + "description": "Active directory info. Only one should be populated based on the join type." + } + } + }, + "ActiveDirectoryInfoProperties": { + "description": "Active directory info. Only one should be populated based on the join type.", + "type": "object", + "required": [ + "domainCredentials", + "ouPath" + ], + "properties": { + "domainCredentials": { + "$ref": "#/definitions/KeyVaultCredentialsProperties", + "description": "Credentials needed to create the virtual machine." + }, + "ouPath": { + "type": "string", + "description": "The organizational unit(OU) path." + }, + "domainName": { + "type": "string", + "description": "The domain a virtual machine connected to a hostpool will join." + } + } + }, + "ActiveDirectoryInfoPatchProperties": { + "description": "Active directory info. Only one should be populated based on the join type.", + "type": "object", + "properties": { + "domainCredentials": { + "$ref": "#/definitions/KeyVaultCredentialsPatchProperties", + "description": "Credentials needed to create the virtual machine." + } + } + }, + "AzureActiveDirectoryInfoProperties": { + "description": "Azure Active directory info. Only one should be populated based on the join type.", + "type": "object", + "required": [ + "mdmProviderGuid" + ], + "properties": { + "mdmProviderGuid": { + "type": "string", + "description": "The Mobile Device Management(MDM) guid." + } + } + }, + "KeyVaultCredentialsProperties": { + "description": "Credentials kept in the keyvault.", + "type": "object", + "required": [ + "usernameKeyVaultSecretUri", + "passwordKeyVaultSecretUri" + ], + "properties": { + "usernameKeyVaultSecretUri": { + "type": "string", + "format": "uri", + "description": "The uri to access the secret that the username is stored in." + }, + "passwordKeyVaultSecretUri": { + "type": "string", + "format": "uri", + "description": "The uri to access the secret that the password is stored in." + } + } + }, + "KeyVaultCredentialsPatchProperties": { + "description": "Credentials kept in the keyvault.", + "type": "object", + "properties": { + "usernameKeyVaultSecretUri": { + "type": "string", + "format": "uri", + "description": "The uri to access the secret that the username is stored in." + }, + "passwordKeyVaultSecretUri": { + "type": "string", + "format": "uri", + "description": "The uri to access the secret that the password is stored in." + } + } + }, + "NetworkInfoProperties": { + "description": "Network information.", + "type": "object", + "required": [ + "subnetId" + ], + "properties": { + "subnetId": { + "type": "string", + "format": "arm-id", + "description": "The resource ID of the subnet." + }, + "securityGroupId": { + "type": "string", + "description": "The resource ID of the security group. Any allowable/open ports should be specified in the Network Security Group(NSG)." + } + } + }, + "NetworkInfoPatchProperties": { + "description": "Network information.", + "type": "object", + "properties": { + "subnetId": { + "type": "string", + "format": "arm-id", + "description": "The resource ID of the subnet." + }, + "securityGroupId": { + "type": "string", + "description": "The resource ID of the security group. Any allowable/open ports should be specified in the Network Security Group(NSG)." + } + } + }, + "SecurityInfoProperties": { + "description": "Security information.", + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "Standard", + "TrustedLaunch", + "ConfidentialVM" + ], + "x-ms-enum": { + "name": "VirtualMachineSecurityType", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard security protocol. No additional parameters" + }, + { + "value": "TrustedLaunch", + "description": "TrustedLaunch allows for secure boot adn vTPM" + }, + { + "value": "ConfidentialVM", + "description": "Confidential Virtual Machine security protocol" + } + ] + }, + "default": "Standard", + "description": "The security type used by virtual machine in hostpool session host. Default is Standard." + }, + "secureBootEnabled": { + "type": "boolean", + "description": "Whether to use secureBoot on the virtual machine." + }, + "vTpmEnabled": { + "type": "boolean", + "description": "Whether to use vTPM on the virtual machine." + } + } + }, + "SecurityInfoPatchProperties": { + "description": "Security information.", + "type": "object", + "properties": { + "type": { + "type": "string", + "enum": [ + "Standard", + "TrustedLaunch", + "ConfidentialVM" + ], + "x-ms-enum": { + "name": "VirtualMachineSecurityType", + "modelAsString": true, + "values": [ + { + "value": "Standard", + "description": "Standard security protocol. No additional parameters" + }, + { + "value": "TrustedLaunch", + "description": "TrustedLaunch allows for secure boot adn vTPM" + }, + { + "value": "ConfidentialVM", + "description": "Confidential Virtual Machine security protocol" + } + ] + }, + "description": "The security type used by virtual machine in hostpool session host." + }, + "secureBootEnabled": { + "type": "boolean", + "description": "Whether to use secureBoot on the virtual machine." + }, + "vTpmEnabled": { + "type": "boolean", + "description": "Whether to use vTPM on the virtual machine." + } + } + }, + "BootDiagnosticsInfoProperties": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether boot diagnostics should be enabled on the Virtual Machine." + }, + "storageUri": { + "type": "string", + "format": "uri", + "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.", + "x-nullable": true + } + }, + "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." + }, + "BootDiagnosticsInfoPatchProperties": { + "type": "object", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether boot diagnostics should be enabled on the Virtual Machine." + }, + "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": "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." + }, + "RegistrationInfo": { + "description": "Represents a RegistrationInfo definition.", + "type": "object", + "properties": { + "expirationTime": { + "format": "date-time", + "type": "string", + "description": "Expiration time of registration token.", + "x-nullable": true + }, + "token": { + "type": "string", + "description": "The registration token base64 encoded string." + }, + "registrationTokenOperation": { + "enum": [ + "Delete", + "None", + "Update" + ], + "x-ms-enum": { + "name": "RegistrationTokenOperation", + "modelAsString": true + }, + "type": "string", + "description": "The type of resetting the token.", + "x-nullable": false + } + } + }, + "RegistrationInfoPatch": { + "description": "Represents a RegistrationInfo definition.", + "type": "object", + "properties": { + "expirationTime": { + "format": "date-time", + "type": "string", + "description": "Expiration time of registration token.", + "x-nullable": true + }, + "registrationTokenOperation": { + "enum": [ + "Delete", + "None", + "Update" + ], + "x-ms-enum": { + "name": "RegistrationTokenOperation", + "modelAsString": true + }, + "type": "string", + "description": "The type of resetting the token." + } + } + }, + "AgentUpdateProperties": { + "description": "The session host configuration for updating agent, monitoring agent, and stack component.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of maintenance for session host components.", + "enum": [ + "Default", + "Scheduled" + ], + "x-ms-enum": { + "name": "SessionHostComponentUpdateType", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "Agent and other agent side components are delivery schedule is controlled by WVD Infra." + }, + { + "value": "Scheduled", + "description": "TenantAdmin have opted in for Scheduled Component Update feature." + } + ] + } + }, + "useSessionHostLocalTime": { + "type": "boolean", + "description": "Whether to use localTime of the virtual machine." + }, + "maintenanceWindowTimeZone": { + "type": "string", + "description": "Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true." + }, + "maintenanceWindows": { + "type": "array", + "description": "List of maintenance windows. Maintenance windows are 2 hours long.", + "items": { + "$ref": "#/definitions/MaintenanceWindowProperties" + }, + "x-ms-identifiers": [], + "x-nullable": true + } + } + }, + "MaintenanceWindowProperties": { + "description": "Maintenance window starting hour and day of week.", + "type": "object", + "properties": { + "hour": { + "format": "int32", + "type": "integer", + "description": "The update start hour of the day. (0 - 23)" + }, + "dayOfWeek": { + "type": "string", + "description": "Day of the week.", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + } + }, + "AgentUpdatePatchProperties": { + "description": "The session host configuration for updating agent, monitoring agent, and stack component.", + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "The type of maintenance for session host components.", + "enum": [ + "Default", + "Scheduled" + ], + "x-ms-enum": { + "name": "SessionHostComponentUpdateType", + "modelAsString": true, + "values": [ + { + "value": "Default", + "description": "Agent and other agent side components are delivery schedule is controlled by WVD Infra." + }, + { + "value": "Scheduled", + "description": "TenantAdmin have opted in for Scheduled Component Update feature." + } + ] + } + }, + "useSessionHostLocalTime": { + "type": "boolean", + "description": "Whether to use localTime of the virtual machine." + }, + "maintenanceWindowTimeZone": { + "type": "string", + "description": "Time zone for maintenance as defined in https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.findsystemtimezonebyid?view=net-5.0. Must be set if useLocalTime is true." + }, + "maintenanceWindows": { + "type": "array", + "description": "List of maintenance windows. Maintenance windows are 2 hours long.", + "items": { + "$ref": "#/definitions/MaintenanceWindowPatchProperties" + }, + "x-ms-identifiers": [], + "x-nullable": true + } + } + }, + "MaintenanceWindowPatchProperties": { + "description": "Maintenance window starting hour and day of week.", + "type": "object", + "properties": { + "hour": { + "format": "int32", + "type": "integer", + "description": "The update start hour of the day. (0 - 23)" + }, + "dayOfWeek": { + "type": "string", + "description": "Day of the week.", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": false + } + } + } + }, + "SendMessage": { + "description": "Represents message sent to a UserSession.", + "type": "object", + "properties": { + "messageTitle": { + "type": "string", + "description": "Title of message." + }, + "messageBody": { + "type": "string", + "description": "Body of message." + } + } + }, + "HostPoolList": { + "type": "object", + "title": "HostPoolList", + "description": "List of HostPool definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of HostPool definitions.", + "items": { + "$ref": "#/definitions/HostPool" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "MSIXPackage": { + "description": "Schema for MSIX Package properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for MSIX Package", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MSIXPackageProperties", + "x-nullable": false + } + } + }, + "MSIXPackageProperties": { + "description": "Schema for MSIX Package properties.", + "type": "object", + "properties": { + "imagePath": { + "type": "string", + "description": "VHD/CIM image path on Network Share.", + "x-nullable": false + }, + "packageName": { + "type": "string", + "description": "Package Name from appxmanifest.xml. ", + "x-nullable": false + }, + "packageFamilyName": { + "type": "string", + "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ", + "x-nullable": false + }, + "displayName": { + "type": "string", + "description": "User friendly Name to be displayed in the portal. ", + "x-nullable": true + }, + "packageRelativePath": { + "type": "string", + "description": "Relative Path to the package inside the image. ", + "x-nullable": false + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Specifies how to register Package in feed.", + "x-nullable": false + }, + "isActive": { + "type": "boolean", + "description": "Make this version of the package the active one across the hostpool. ", + "x-nullable": false + }, + "packageDependencies": { + "type": "array", + "description": "List of package dependencies. ", + "items": { + "$ref": "#/definitions/MsixPackageDependencies" + } + }, + "version": { + "type": "string", + "description": "Package Version found in the appxmanifest.xml. ", + "x-nullable": false + }, + "lastUpdated": { + "format": "date-time", + "type": "string", + "description": "Date Package was last updated, found in the appxmanifest.xml. ", + "x-nullable": false + }, + "packageApplications": { + "type": "array", + "description": "List of package applications. ", + "items": { + "$ref": "#/definitions/MsixPackageApplications" + }, + "x-nullable": false + } + } + }, + "MSIXPackagePatch": { + "type": "object", + "description": "MSIX Package properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for MSIX Package", + "x-ms-client-flatten": true, + "$ref": "#/definitions/MSIXPackagePatchProperties" + } + } + }, + "MSIXPackagePatchProperties": { + "description": "MSIX Package properties that can be patched.", + "type": "object", + "properties": { + "isActive": { + "type": "boolean", + "description": "Set a version of the package to be active across hostpool. " + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Set Registration mode. Regular or Delayed." + }, + "displayName": { + "type": "string", + "description": "Display name for MSIX Package." + } + } + }, + "MsixPackageApplications": { + "description": "Schema for MSIX Package Application properties.", + "type": "object", + "properties": { + "appId": { + "type": "string", + "description": "Package Application Id, found in appxmanifest.xml.", + "x-nullable": false + }, + "description": { + "type": "string", + "description": "Description of Package Application.", + "x-nullable": false + }, + "appUserModelID": { + "type": "string", + "description": "Used to activate Package Application. Consists of Package Name and ApplicationID. Found in appxmanifest.xml.", + "x-nullable": false + }, + "friendlyName": { + "type": "string", + "description": "User friendly name.", + "x-nullable": false + }, + "iconImageName": { + "type": "string", + "description": "User friendly name.", + "x-nullable": false + }, + "rawIcon": { + "type": "string", + "format": "byte", + "description": "the icon a 64 bit string as a byte array." + }, + "rawPng": { + "type": "string", + "format": "byte", + "description": "the icon a 64 bit string as a byte array." + } + } + }, + "MsixPackageDependencies": { + "description": "Schema for MSIX Package Dependencies properties.", + "type": "object", + "properties": { + "dependencyName": { + "type": "string", + "description": "Name of the package dependency. For Msix packages, this is the other packages this package depends upon, for APP-V packages this is the locations of the user and deployment config files", + "x-nullable": false + }, + "publisher": { + "type": "string", + "description": "Name of dependency publisher.", + "x-nullable": false + }, + "minVersion": { + "type": "string", + "description": "Dependency version required.", + "x-nullable": false + } + } + }, + "MSIXPackageList": { + "type": "object", + "title": "MsixPackageList", + "description": "List of MSIX Package definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of MSIX Package definitions.", + "items": { + "$ref": "#/definitions/MSIXPackage" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "AppAttachPackage": { + "description": "Schema for App Attach Package properties.", + "type": "object", + "x-ms-client-flatten": false, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/TrackedResource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for App Attach Package", + "$ref": "#/definitions/AppAttachPackageProperties", + "x-nullable": false + } + } + }, + "AppAttachPackagePatch": { + "description": "Schema for patchable App Attach Package properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated" + }, + "properties": { + "description": "Detailed properties for App Attach Package", + "$ref": "#/definitions/AppAttachPackagePatchProperties", + "x-ms-client-flatten": false, + "x-nullable": false + } + } + }, + "AppAttachPackageList": { + "type": "object", + "title": "AppAttachPackageList", + "description": "List of App Attach Package definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of App Attach Package definitions.", + "items": { + "$ref": "#/definitions/AppAttachPackage" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "AppAttachPackageProperties": { + "description": "Schema for App Attach Package properties.", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioning state of the App Attach Package." + }, + "image": { + "description": "Detailed properties for App Attach Package", + "$ref": "#/definitions/AppAttachPackageInfoProperties", + "x-nullable": false + }, + "hostPoolReferences": { + "type": "array", + "description": "List of Hostpool resource Ids.", + "items": { + "type": "string" + } + }, + "keyVaultURL": { + "type": "string", + "description": "URL of keyvault location to store certificate" + }, + "failHealthCheckOnStagingFailure": { + "$ref": "#/definitions/FailHealthCheckOnStagingFailureEnum", + "description": "Parameter indicating how the health check should behave if this package fails staging" + }, + "packageOwnerName": { + "type": "string", + "description": "Specific name of package owner, is \"AppAttach\" for native app attach packages" + }, + "packageLookbackUrl": { + "type": "string", + "format": "uri", + "description": "Lookback url to third party control plane, is null for native app attach packages", + "x-nullable": true + }, + "customData": { + "type": "string", + "description": "Field that can be populated with custom data and filtered on in list GET calls" + } + } + }, + "AppAttachPackagePatchProperties": { + "description": "Schema for patchable fields on an App Attach Package.", + "type": "object", + "properties": { + "image": { + "description": "Detailed properties for App Attach Package", + "$ref": "#/definitions/AppAttachPackageInfoProperties" + }, + "hostPoolReferences": { + "type": "array", + "description": "List of Hostpool resource Ids.", + "items": { + "type": "string", + "format": "arm-id" + } + }, + "keyVaultURL": { + "type": "string", + "description": "URL of keyvault location to store certificate" + }, + "failHealthCheckOnStagingFailure": { + "$ref": "#/definitions/FailHealthCheckOnStagingFailureEnum", + "description": "Parameter indicating how the health check should behave if this package fails staging" + }, + "packageLookbackUrl": { + "type": "string", + "format": "uri", + "description": "Lookback url to third party control plane, should be null for first party packages" + }, + "customData": { + "type": "string", + "description": "Field that can be populated with custom data and filtered on in list GET calls" + } + } + }, + "AppAttachPackageInfoProperties": { + "description": "Schema for Import Package Information properties.", + "type": "object", + "properties": { + "packageAlias": { + "type": "string", + "description": "Alias of App Attach Package. Assigned at import time" + }, + "imagePath": { + "type": "string", + "description": "VHD/CIM/APP-V image path on Network Share.", + "x-nullable": false + }, + "packageName": { + "type": "string", + "description": "Package Name from appxmanifest.xml. ", + "x-nullable": false + }, + "packageFamilyName": { + "type": "string", + "description": "Identifier not including the package version, for Msix packages it is the family name from the appxmanifest.xml. ", + "x-nullable": false + }, + "packageFullName": { + "type": "string", + "description": "Identifier including the package version, for Msix packages it is the full name from the appxmanifest.xml. ", + "x-nullable": false + }, + "displayName": { + "type": "string", + "description": "User friendly Name to be displayed in the portal. ", + "x-nullable": true + }, + "packageRelativePath": { + "type": "string", + "description": "Relative Path to the package inside the image. ", + "x-nullable": false + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Specifies how to register Package in feed.", + "x-nullable": false + }, + "isActive": { + "type": "boolean", + "description": "Make this version of the package the active one across the hostpool. ", + "x-nullable": false + }, + "packageDependencies": { + "type": "array", + "description": "List of package dependencies. ", + "items": { + "$ref": "#/definitions/MsixPackageDependencies" + }, + "x-ms-identifiers": [], + "x-nullable": true + }, + "version": { + "type": "string", + "description": "Package Version found in the appxmanifest.xml. ", + "x-nullable": false + }, + "lastUpdated": { + "format": "date-time", + "type": "string", + "description": "Date the package source was last updated, for Msix packages this is found in the appxmanifest.xml. ", + "x-nullable": false + }, + "packageApplications": { + "type": "array", + "description": "List of package applications. ", + "items": { + "$ref": "#/definitions/MsixPackageApplications" + }, + "x-ms-identifiers": [], + "x-nullable": false + }, + "certificateName": { + "type": "string", + "description": "Certificate name found in the appxmanifest.xml. ", + "x-nullable": true + }, + "certificateExpiry": { + "format": "date-time", + "type": "string", + "description": "Date certificate expires, found in the appxmanifest.xml. ", + "x-nullable": true + }, + "isPackageTimestamped": { + "enum": [ + "Timestamped", + "NotTimestamped" + ], + "x-ms-enum": { + "name": "packageTimestamped", + "modelAsString": true + }, + "type": "string", + "description": "Is package timestamped so it can ignore the certificate expiry date", + "x-nullable": true + } + } + }, + "ImportPackageInfoRequest": { + "description": "Information to import app attach package", + "type": "object", + "properties": { + "path": { + "type": "string", + "description": "URI to Image" + }, + "packageArchitecture": { + "enum": [ + "ARM", + "ARM64", + "x86", + "x64", + "Neutral", + "x86a64", + "ALL" + ], + "x-ms-enum": { + "name": "AppAttachPackageArchitectures", + "modelAsString": true + }, + "type": "string", + "description": "Possible device architectures that an app attach package can be configured for", + "x-nullable": true + } + } + }, + "FailHealthCheckOnStagingFailureEnum": { + "enum": [ + "Unhealthy", + "NeedsAssistance", + "DoNotFail" + ], + "x-ms-enum": { + "name": "failHealthCheckOnStagingFailure", + "modelAsString": true + }, + "type": "string", + "description": "Parameter indicating how the health check should behave if this package fails staging" + }, + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Provisioning", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "Application": { + "description": "Schema for Application properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "required": [ + "properties" + ], + "properties": { + "properties": { + "description": "Detailed properties for Application", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationProperties", + "x-nullable": false + } + } + }, + "ApplicationProperties": { + "description": "Schema for Application properties.", + "type": "object", + "required": [ + "commandLineSetting" + ], + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of Application. (internal use)", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of Application." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Application." + }, + "filePath": { + "type": "string", + "description": "Specifies a path for the executable file for the application." + }, + "msixPackageFamilyName": { + "type": "string", + "description": "Specifies the package family name for MSIX applications", + "x-nullable": true, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "msixPackageApplicationId": { + "type": "string", + "description": "Specifies the package application Id for MSIX applications", + "x-nullable": true, + "x-ms-mutability": [ + "create", + "read" + ] + }, + "applicationType": { + "enum": [ + "InBuilt", + "MsixApplication" + ], + "x-ms-enum": { + "name": "RemoteApplicationType", + "modelAsString": true + }, + "type": "string", + "description": "Resource Type of Application.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "commandLineSetting": { + "enum": [ + "DoNotAllow", + "Allow", + "Require" + ], + "x-ms-enum": { + "name": "CommandLineSetting", + "modelAsString": true + }, + "type": "string", + "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all.", + "x-nullable": false + }, + "commandLineArguments": { + "type": "string", + "description": "Command Line Arguments for Application." + }, + "showInPortal": { + "type": "boolean", + "description": "Specifies whether to show the RemoteApp program in the RD Web Access server." + }, + "iconPath": { + "type": "string", + "description": "Path to icon." + }, + "iconIndex": { + "type": "integer", + "format": "int32", + "description": "Index of the icon." + }, + "iconHash": { + "readOnly": true, + "type": "string", + "description": "Hash of the icon." + }, + "iconContent": { + "readOnly": true, + "type": "string", + "format": "byte", + "description": "the icon a 64 bit string as a byte array." + } + } + }, + "ApplicationList": { + "type": "object", + "title": "ApplicationList", + "description": "List of Application definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Application definitions.", + "items": { + "$ref": "#/definitions/Application" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ApplicationPatch": { + "type": "object", + "description": "Application properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated", + "x-nullable": true + }, + "properties": { + "description": "Detailed properties for Application", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationPatchProperties" + } + } + }, + "ApplicationPatchProperties": { + "description": "Application properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Application." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Application." + }, + "filePath": { + "type": "string", + "description": "Specifies a path for the executable file for the application." + }, + "commandLineSetting": { + "enum": [ + "DoNotAllow", + "Allow", + "Require" + ], + "x-ms-enum": { + "name": "CommandLineSetting", + "modelAsString": true + }, + "type": "string", + "description": "Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all." + }, + "commandLineArguments": { + "type": "string", + "description": "Command Line Arguments for Application." + }, + "showInPortal": { + "type": "boolean", + "description": "Specifies whether to show the RemoteApp program in the RD Web Access server." + }, + "iconPath": { + "type": "string", + "description": "Path to icon." + }, + "iconIndex": { + "type": "integer", + "format": "int32", + "description": "Index of the icon." + }, + "msixPackageFamilyName": { + "type": "string", + "description": "Specifies the package family name for MSIX applications", + "x-nullable": true + }, + "msixPackageApplicationId": { + "type": "string", + "description": "Specifies the package application Id for MSIX applications", + "x-nullable": true + }, + "applicationType": { + "enum": [ + "InBuilt", + "MsixApplication" + ], + "x-ms-enum": { + "name": "RemoteApplicationType", + "modelAsString": true + }, + "type": "string", + "description": "Resource Type of Application." + } + } + }, + "Desktop": { + "description": "Schema for Desktop properties.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for Desktop", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DesktopProperties" + } + } + }, + "DesktopProperties": { + "description": "Schema for Desktop properties.", + "type": "object", + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of Desktop. (internal use)", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of Desktop." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Desktop." + }, + "iconHash": { + "readOnly": true, + "type": "string", + "description": "Hash of the icon." + }, + "iconContent": { + "readOnly": true, + "type": "string", + "format": "byte", + "description": "The icon a 64 bit string as a byte array." + } + } + }, + "DesktopList": { + "type": "object", + "title": "DesktopList", + "description": "List of Desktop definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of Desktop definitions.", + "items": { + "$ref": "#/definitions/Desktop" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "DesktopPatch": { + "type": "object", + "description": "Desktop properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated", + "x-nullable": true + }, + "properties": { + "description": "Detailed properties for Desktop", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DesktopPatchProperties" + } + } + }, + "DesktopPatchProperties": { + "description": "Desktop properties that can be patched.", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description of Desktop." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of Desktop." + } + } + }, + "StartMenuItemProperties": { + "description": "Schema for StartMenuItem properties.", + "type": "object", + "properties": { + "appAlias": { + "type": "string", + "description": "Alias of StartMenuItem." + }, + "filePath": { + "type": "string", + "description": "Path to the file of StartMenuItem." + }, + "commandLineArguments": { + "type": "string", + "description": "Command line arguments for StartMenuItem." + }, + "iconPath": { + "type": "string", + "description": "Path to the icon." + }, + "iconIndex": { + "type": "integer", + "format": "int32", + "description": "Index of the icon." + } + } + }, + "StartMenuItem": { + "type": "object", + "description": "Represents a StartMenuItem definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for StartMenuItem", + "x-ms-client-flatten": true, + "$ref": "#/definitions/StartMenuItemProperties" + } + } + }, + "StartMenuItemList": { + "type": "object", + "title": "StartMenuItemList", + "description": "List of StartMenuItem definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of StartMenuItem definitions.", + "items": { + "$ref": "#/definitions/StartMenuItem" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ExpandMsixImageProperties": { + "description": "Schema for Expand MSIX Image properties.", + "type": "object", + "properties": { + "packageAlias": { + "type": "string", + "description": "Alias of MSIX Package." + }, + "imagePath": { + "type": "string", + "description": "VHD/CIM image path on Network Share.", + "x-nullable": false + }, + "packageName": { + "type": "string", + "description": "Package Name from appxmanifest.xml. ", + "x-nullable": false + }, + "packageFamilyName": { + "type": "string", + "description": "Package Family Name from appxmanifest.xml. Contains Package Name and Publisher name. ", + "x-nullable": false + }, + "packageFullName": { + "type": "string", + "description": "Package Full Name from appxmanifest.xml. ", + "x-nullable": false + }, + "displayName": { + "type": "string", + "description": "User friendly Name to be displayed in the portal. ", + "x-nullable": true + }, + "packageRelativePath": { + "type": "string", + "description": "Relative Path to the package inside the image. ", + "x-nullable": false + }, + "isRegularRegistration": { + "type": "boolean", + "description": "Specifies how to register Package in feed.", + "x-nullable": false + }, + "isActive": { + "type": "boolean", + "description": "Make this version of the package the active one across the hostpool. ", + "x-nullable": false + }, + "packageDependencies": { + "type": "array", + "description": "List of package dependencies. ", + "items": { + "$ref": "#/definitions/MsixPackageDependencies" + }, + "x-nullable": true + }, + "version": { + "type": "string", + "description": "Package Version found in the appxmanifest.xml. ", + "x-nullable": false + }, + "lastUpdated": { + "format": "date-time", + "type": "string", + "description": "Date Package was last updated, found in the appxmanifest.xml. ", + "x-nullable": false + }, + "packageApplications": { + "type": "array", + "description": "List of package applications. ", + "items": { + "$ref": "#/definitions/MsixPackageApplications" + }, + "x-nullable": false + }, + "certificateName": { + "type": "string", + "description": "Certificate name found in the appxmanifest.xml. ", + "x-nullable": true + }, + "certificateExpiry": { + "format": "date-time", + "type": "string", + "description": "Date certificate expires, found in the appxmanifest.xml. ", + "x-nullable": true + } + } + }, + "ExpandMsixImage": { + "type": "object", + "description": "Represents the definition of contents retrieved after expanding the MSIX Image. ", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for ExpandMsixImage", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpandMsixImageProperties" + } + } + }, + "ExpandMsixImageList": { + "type": "object", + "title": "ExpandMsixImageList", + "description": "List of MSIX package properties retrieved from MSIX Image expansion.", + "properties": { + "value": { + "type": "array", + "description": "List of MSIX package properties from give MSIX Image.", + "items": { + "$ref": "#/definitions/ExpandMsixImage" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "MSIXImageURI": { + "description": "Represents URI referring to MSIX Image", + "type": "object", + "properties": { + "uri": { + "type": "string", + "description": "URI to Image" + } + } + }, + "SessionHost": { + "type": "object", + "description": "Represents a SessionHost definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for SessionHost", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SessionHostProperties" + } + } + }, + "SessionHostProperties": { + "description": "Schema for SessionHost properties.", + "type": "object", + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of SessionHost. (internal use)", + "readOnly": true + }, + "lastHeartBeat": { + "format": "date-time", + "type": "string", + "description": "Last heart beat from SessionHost." + }, + "sessions": { + "type": "integer", + "format": "int32", + "description": "Number of sessions on SessionHost." + }, + "agentVersion": { + "type": "string", + "description": "Version of agent on SessionHost." + }, + "allowNewSession": { + "type": "boolean", + "description": "Allow a new session." + }, + "virtualMachineId": { + "type": "string", + "description": "Virtual Machine Id of SessionHost's underlying virtual machine.", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "Resource Id of SessionHost's underlying virtual machine.", + "readOnly": true + }, + "assignedUser": { + "type": "string", + "description": "User assigned to SessionHost." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of SessionHost" + }, + "status": { + "enum": [ + "Available", + "Unavailable", + "Shutdown", + "Disconnected", + "Upgrading", + "UpgradeFailed", + "NoHeartbeat", + "NotJoinedToDomain", + "DomainTrustRelationshipLost", + "SxSStackListenerNotReady", + "FSLogixNotHealthy", + "NeedsAssistance" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true, + "values": [ + { + "value": "Available", + "description": "Session Host has passed all the health checks and is available to handle connections." + }, + { + "value": "Unavailable", + "description": "Session Host is either turned off or has failed critical health checks which is causing service not to be able to route connections to this session host. Note this replaces previous 'NoHeartBeat' status." + }, + { + "value": "Shutdown", + "description": "Session Host is shutdown - RD Agent reported session host to be stopped or deallocated." + }, + { + "value": "Disconnected", + "description": "The Session Host is unavailable because it is currently disconnected." + }, + { + "value": "Upgrading", + "description": "Session Host is unavailable because currently an upgrade of RDAgent/side-by-side stack is in progress. Note: this state will be removed once the upgrade completes and the host is able to accept connections." + }, + { + "value": "UpgradeFailed", + "description": "Session Host is unavailable because the critical component upgrade (agent, side-by-side stack, etc.) failed." + }, + { + "value": "NoHeartbeat", + "description": "The Session Host is not heart beating." + }, + { + "value": "NotJoinedToDomain", + "description": "SessionHost is not joined to domain." + }, + { + "value": "DomainTrustRelationshipLost", + "description": "SessionHost's domain trust relationship lost" + }, + { + "value": "SxSStackListenerNotReady", + "description": "SxS stack installed on the SessionHost is not ready to receive connections." + }, + { + "value": "FSLogixNotHealthy", + "description": "FSLogix is in an unhealthy state on the session host." + }, + { + "value": "NeedsAssistance", + "description": "New status to inform admins that the health on their endpoint needs to be fixed. The connections might not fail, as these issues are not fatal." + } + ] + }, + "type": "string", + "description": "Status for a SessionHost." + }, + "statusTimestamp": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the status.", + "readOnly": true + }, + "osVersion": { + "type": "string", + "description": "The version of the OS on the session host." + }, + "sxSStackVersion": { + "type": "string", + "description": "The version of the side by side stack on the session host." + }, + "updateState": { + "enum": [ + "Initial", + "Pending", + "Started", + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "UpdateState", + "modelAsString": true + }, + "type": "string", + "description": "Update state of a SessionHost." + }, + "lastUpdateTime": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the last update.", + "readOnly": true + }, + "updateErrorMessage": { + "type": "string", + "description": "The error message." + }, + "lastSessionHostUpdateTime": { + "type": "string", + "format": "date-time", + "description": "The last time update was completed.", + "readOnly": true + }, + "sessionHostConfiguration": { + "type": "string", + "description": "SessionHostConfiguration version reference at the time the update is initiated, in the format of date time. Example: 2024-04-26T04:56:45Z", + "readOnly": true + }, + "sessionHostHealthCheckResults": { + "type": "array", + "readOnly": true, + "description": "List of SessionHostHealthCheckReports", + "items": { + "$ref": "#/definitions/SessionHostHealthCheckReport" + } + } + } + }, + "SessionHostHealthCheckReport": { + "type": "object", + "description": "The report for session host information.", + "properties": { + "healthCheckName": { + "enum": [ + "DomainJoinedCheck", + "DomainTrustCheck", + "FSLogixHealthCheck", + "SxSStackListenerCheck", + "UrlsAccessibleCheck", + "MonitoringAgentCheck", + "DomainReachable", + "WebRTCRedirectorCheck", + "SupportedEncryptionCheck", + "MetaDataServiceCheck", + "AppAttachHealthCheck" + ], + "x-ms-enum": { + "name": "HealthCheckName", + "modelAsString": true, + "values": [ + { + "value": "DomainJoinedCheck", + "description": "Verifies the SessionHost is joined to a domain. If this check fails is classified as fatal as no connection can succeed if the SessionHost is not joined to the domain. (Currently Enabled)" + }, + { + "value": "DomainTrustCheck", + "description": "Verifies the SessionHost is not experiencing domain trust issues that will prevent authentication on SessionHost at connection time when session is created. If this check fails is classified as fatal as no connection can succeed if we cannot reach the domain for authentication on the SessionHost. (Currently Enabled)" + }, + { + "value": "FSLogixHealthCheck", + "description": "Verifies the FSLogix service is up and running to make sure users' profiles are loaded in the session. If this check fails is classified as fatal as even if the connection can succeed, user experience is bad as the user profile cannot be loaded and user will get a temporary profile in the session. (Currently Disabled)" + }, + { + "value": "SxSStackListenerCheck", + "description": "Verifies that the SxS stack is up and running so connections can succeed. If this check fails is classified as fatal as no connection can succeed if the SxS stack is not ready. (Currently Enabled)" + }, + { + "value": "UrlsAccessibleCheck", + "description": "Verifies that the required WVD service and Geneva URLs are reachable from the SessionHost. These URLs are: RdTokenUri, RdBrokerURI, RdDiagnosticsUri and storage blob URLs for agent monitoring (geneva). If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is unable to store warm path data (logs, operations ...). (Currently Disabled)" + }, + { + "value": "MonitoringAgentCheck", + "description": "Verifies that the required Geneva agent is running. If this check fails, it is non fatal and the machine still can service connections, main issue may be that monitoring agent is missing or running (possibly) older version. (Currently Enabled)" + }, + { + "value": "DomainReachable", + "description": "Verifies the domain the SessionHost is joined to is still reachable. If this check fails is classified as fatal as no connection can succeed if the domain the SessionHost is joined is not reachable at the time of connection. (Currently Disabled)" + }, + { + "value": "WebRTCRedirectorCheck", + "description": "Verifies whether the WebRTCRedirector component is healthy. The WebRTCRedirector component is used to optimize video and audio performance in Microsoft Teams. This checks whether the component is still running, and whether there is a higher version available. If this check fails, it is non fatal and the machine still can service connections, main issue may be the WebRTCRedirector component has to be restarted or updated. (Currently Disabled)" + }, + { + "value": "SupportedEncryptionCheck", + "description": "Verifies the value of SecurityLayer registration key. If the value is 0 (SecurityLayer.RDP) this check fails with Error code = NativeMethodErrorCode.E_FAIL and is fatal. If the value is 1 (SecurityLayer.Negotiate) this check fails with Error code = NativeMethodErrorCode.ERROR_SUCCESS and is non fatal. (Currently Disabled)" + }, + { + "value": "MetaDataServiceCheck", + "description": "Verifies the metadata service is accessible and return compute properties. (Currently Enabled)" + }, + { + "value": "AppAttachHealthCheck", + "description": "Verifies that the AppAttachService is healthy (there were no issues during package staging). The AppAttachService is used to enable the staging/registration (and eventual deregistration/destaging) of MSIX apps that have been set up by the tenant admin. This checks whether the component had any failures during package staging. Failures in staging will prevent some MSIX apps from working properly for the end user. If this check fails, it is non fatal and the machine still can service connections, main issue may be certain apps will not work for end-users. (Currently Enabled)" + } + ] + }, + "type": "string", + "description": "Represents the name of the health check operation performed.", + "readOnly": true + }, + "healthCheckResult": { + "enum": [ + "Unknown", + "HealthCheckSucceeded", + "HealthCheckFailed", + "SessionHostShutdown" + ], + "x-ms-enum": { + "name": "HealthCheckResult", + "modelAsString": true, + "values": [ + { + "value": "Unknown", + "description": "Health check result is not currently known." + }, + { + "value": "HealthCheckSucceeded", + "description": "Health check passed." + }, + { + "value": "HealthCheckFailed", + "description": "Health check failed." + }, + { + "value": "SessionHostShutdown", + "description": "We received a Shutdown notification." + } + ] + }, + "type": "string", + "description": "Represents the Health state of the health check we performed.", + "readOnly": true + }, + "additionalFailureDetails": { + "$ref": "#/definitions/SessionHostHealthCheckFailureDetails", + "description": "Additional detailed information on the failure.", + "readOnly": true + } + } + }, + "SessionHostHealthCheckFailureDetails": { + "type": "object", + "description": "Contains details on the failure.", + "properties": { + "message": { + "type": "string", + "description": "Failure message: hints on what is wrong and how to recover.", + "readOnly": true + }, + "errorCode": { + "type": "integer", + "format": "int32", + "description": "Error code corresponding for the failure.", + "readOnly": true + }, + "lastHealthCheckDateTime": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the last update.", + "readOnly": true + } + } + }, + "SessionHostPatch": { + "type": "object", + "description": "SessionHost properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for SessionHost", + "x-ms-client-flatten": true, + "$ref": "#/definitions/SessionHostPatchProperties" + } + } + }, + "SessionHostPatchProperties": { + "description": "SessionHost properties that can be patched.", + "type": "object", + "properties": { + "allowNewSession": { + "type": "boolean", + "description": "Allow a new session." + }, + "assignedUser": { + "type": "string", + "description": "User assigned to SessionHost." + }, + "friendlyName": { + "type": "string", + "description": "Friendly name of SessionHost" + } + } + }, + "SessionHostList": { + "type": "object", + "title": "SessionHostList", + "description": "List of SessionHost definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of SessionHost definitions.", + "items": { + "$ref": "#/definitions/SessionHost" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "UserSession": { + "type": "object", + "description": "Represents a UserSession definition.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for UserSession", + "x-ms-client-flatten": true, + "$ref": "#/definitions/UserSessionProperties" + } + } + }, + "UserSessionProperties": { + "description": "Schema for UserSession properties.", + "type": "object", + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of user session. (internal use)", + "readOnly": true + }, + "userPrincipalName": { + "type": "string", + "description": "The user principal name." + }, + "applicationType": { + "enum": [ + "RemoteApp", + "Desktop" + ], + "x-ms-enum": { + "name": "ApplicationType", + "modelAsString": true + }, + "type": "string", + "description": "Application type of application." + }, + "sessionState": { + "enum": [ + "Unknown", + "Active", + "Disconnected", + "Pending", + "LogOff", + "UserProfileDiskMounted" + ], + "x-ms-enum": { + "name": "SessionState", + "modelAsString": true + }, + "type": "string", + "description": "State of user session." + }, + "activeDirectoryUserName": { + "type": "string", + "description": "The active directory user name." + }, + "createTime": { + "format": "date-time", + "type": "string", + "description": "The timestamp of the user session create." + } + } + }, + "UserSessionList": { + "type": "object", + "title": "UserSessionList", + "description": "List of UserSession definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of UserSession definitions.", + "items": { + "$ref": "#/definitions/UserSession" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ScalingPlan": { + "type": "object", + "title": "ScalingPlan", + "description": "Represents a scaling plan definition.", + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ResourceModelWithAllowedPropertySet" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for scaling plan.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScalingPlanProperties", + "x-nullable": false + } + } + }, + "ScalingPlanProperties": { + "type": "object", + "description": "Scaling plan properties.", + "required": [ + "timeZone" + ], + "properties": { + "objectId": { + "type": "string", + "description": "ObjectId of scaling plan. (internal use)", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of scaling plan." + }, + "friendlyName": { + "type": "string", + "description": "User friendly name of scaling plan." + }, + "timeZone": { + "type": "string", + "description": "Timezone of the scaling plan." + }, + "hostPoolType": { + "enum": [ + "Pooled", + "Personal" + ], + "x-ms-enum": { + "name": "ScalingHostPoolType", + "modelAsString": true, + "values": [ + { + "value": "Pooled", + "description": "Users get a new (random) SessionHost every time it connects to the HostPool." + }, + { + "value": "Personal", + "description": "Users will be assigned a SessionHost either by administrators (PersonalDesktopAssignmentType = Direct) or upon connecting to the pool (PersonalDesktopAssignmentType = Automatic). They will always be redirected to their assigned SessionHost." + } + ] + }, + "default": "Pooled", + "type": "string", + "description": "HostPool type for desktop.", + "x-nullable": false + }, + "exclusionTag": { + "type": "string", + "description": "Exclusion tag for scaling plan." + }, + "schedules": { + "type": "array", + "description": "List of ScalingPlanPooledSchedule definitions.", + "items": { + "$ref": "#/definitions/ScalingSchedule" + } + }, + "hostPoolReferences": { + "type": "array", + "description": "List of ScalingHostPoolReference definitions.", + "items": { + "$ref": "#/definitions/ScalingHostPoolReference" + } + } + } + }, + "ScalingSchedule": { + "description": "A ScalingPlanPooledSchedule.", + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the ScalingPlanPooledSchedule." + }, + "daysOfWeek": { + "type": "array", + "description": "Set of days of the week on which this schedule is active.", + "items": { + "enum": [ + "Sunday", + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday" + ], + "type": "string" + } + }, + "rampUpStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for ramp up period." + }, + "rampUpLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for ramp up period." + }, + "rampUpMinimumHostsPct": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100, + "description": "Minimum host percentage for ramp up period." + }, + "rampUpCapacityThresholdPct": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100, + "description": "Capacity threshold for ramp up period." + }, + "peakStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for peak period." + }, + "peakLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for peak period." + }, + "rampDownStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for ramp down period." + }, + "rampDownLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for ramp down period." + }, + "rampDownMinimumHostsPct": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100, + "description": "Minimum host percentage for ramp down period." + }, + "rampDownCapacityThresholdPct": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100, + "description": "Capacity threshold for ramp down period." + }, + "rampDownForceLogoffUsers": { + "type": "boolean", + "description": "Should users be logged off forcefully from hosts." + }, + "rampDownStopHostsWhen": { + "enum": [ + "ZeroSessions", + "ZeroActiveSessions" + ], + "x-ms-enum": { + "name": "StopHostsWhen", + "modelAsString": true + }, + "type": "string", + "description": "Specifies when to stop hosts during ramp down period." + }, + "rampDownWaitTimeMinutes": { + "type": "integer", + "format": "int32", + "description": "Number of minutes to wait to stop hosts during ramp down period." + }, + "rampDownNotificationMessage": { + "type": "string", + "description": "Notification message for users during ramp down period." + }, + "offPeakStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for off-peak period." + }, + "offPeakLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for off-peak period." + } + } + }, + "ScalingPlanPooledSchedulePatch": { + "type": "object", + "description": "ScalingPlanPooledSchedule properties that can be patched.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for ScalingPlanPooledSchedule", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScalingPlanPooledScheduleProperties" + } + } + }, + "ScalingPlanPooledScheduleList": { + "type": "object", + "title": "ScalingPlanPooledScheduleList", + "description": "List of ScalingPlanPooledSchedule definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of ScalingPlanPooledSchedule definitions.", + "items": { + "$ref": "#/definitions/ScalingPlanPooledSchedule" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ScalingPlanPooledSchedule": { + "type": "object", + "description": "Represents a ScalingPlanPooledSchedule definition.", + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for ScalingPlanPooledSchedule", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScalingPlanPooledScheduleProperties", + "x-nullable": false + } + } + }, + "ScalingPlanPooledScheduleProperties": { + "description": "A ScalingPlanPooledSchedule.", + "type": "object", + "properties": { + "daysOfWeek": { + "type": "array", + "description": "Set of days of the week on which this schedule is active.", + "items": { + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": true + } + } + }, + "rampUpStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for ramp up period." + }, + "rampUpLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for ramp up period." + }, + "rampUpMinimumHostsPct": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100, + "description": "Minimum host percentage for ramp up period." + }, + "rampUpCapacityThresholdPct": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100, + "description": "Capacity threshold for ramp up period." + }, + "peakStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for peak period." + }, + "peakLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for peak period." + }, + "rampDownStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for ramp down period." + }, + "rampDownLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for ramp down period." + }, + "rampDownMinimumHostsPct": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 100, + "description": "Minimum host percentage for ramp down period." + }, + "rampDownCapacityThresholdPct": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 100, + "description": "Capacity threshold for ramp down period." + }, + "rampDownForceLogoffUsers": { + "type": "boolean", + "description": "Should users be logged off forcefully from hosts." + }, + "rampDownStopHostsWhen": { + "enum": [ + "ZeroSessions", + "ZeroActiveSessions" + ], + "x-ms-enum": { + "name": "StopHostsWhen", + "modelAsString": true + }, + "type": "string", + "description": "Specifies when to stop hosts during ramp down period." + }, + "rampDownWaitTimeMinutes": { + "type": "integer", + "format": "int32", + "description": "Number of minutes to wait to stop hosts during ramp down period." + }, + "rampDownNotificationMessage": { + "type": "string", + "description": "Notification message for users during ramp down period." + }, + "offPeakStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for off-peak period." + }, + "offPeakLoadBalancingAlgorithm": { + "enum": [ + "BreadthFirst", + "DepthFirst" + ], + "x-ms-enum": { + "name": "SessionHostLoadBalancingAlgorithm", + "modelAsString": true + }, + "type": "string", + "description": "Load balancing algorithm for off-peak period." + } + } + }, + "Time": { + "description": "The time for a scaling action to occur.", + "required": [ + "hour", + "minute" + ], + "type": "object", + "properties": { + "hour": { + "format": "int32", + "description": "The hour.", + "maximum": 23, + "minimum": 0, + "type": "integer" + }, + "minute": { + "format": "int32", + "description": "The minute.", + "maximum": 59, + "minimum": 0, + "type": "integer" + } + } + }, + "ScalingHostPoolReference": { + "description": "Scaling plan reference to hostpool.", + "type": "object", + "properties": { + "hostPoolArmPath": { + "type": "string", + "description": "Arm path of referenced hostpool." + }, + "scalingPlanEnabled": { + "type": "boolean", + "description": "Is the scaling plan enabled for this hostpool." + } + } + }, + "ScalingPlanList": { + "type": "object", + "title": "ScalingPlanList", + "description": "List of scaling plan definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of scaling plan definitions.", + "items": { + "$ref": "#/definitions/ScalingPlan" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ScalingPlanPatch": { + "type": "object", + "description": "Scaling plan properties that can be patched.", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "tags to be updated", + "x-nullable": true + }, + "properties": { + "description": "Detailed properties for scaling plan", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScalingPlanPatchProperties" + } + } + }, + "ScalingPlanPatchProperties": { + "type": "object", + "description": "Scaling plan properties.", + "properties": { + "description": { + "type": "string", + "description": "Description of scaling plan." + }, + "friendlyName": { + "type": "string", + "description": "User friendly name of scaling plan." + }, + "timeZone": { + "type": "string", + "description": "Timezone of the scaling plan." + }, + "exclusionTag": { + "type": "string", + "description": "Exclusion tag for scaling plan." + }, + "schedules": { + "type": "array", + "description": "List of ScalingSchedule definitions.", + "items": { + "$ref": "#/definitions/ScalingSchedule" + } + }, + "hostPoolReferences": { + "type": "array", + "description": "List of ScalingHostPoolReference definitions.", + "items": { + "$ref": "#/definitions/ScalingHostPoolReference" + } + } + } + }, + "PrivateEndpointConnectionWithSystemData": { + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateEndpointConnection" + } + ], + "description": "The Private Endpoint Connection resource." + }, + "PrivateLinkResourceListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + }, + "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/v6/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." + }, + "PrivateEndpointConnectionListResultWithSystemData": { + "type": "object", + "properties": { + "value": { + "type": "array", + "description": "Array of private endpoint connections", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionWithSystemData" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + }, + "description": "List of private endpoint connection associated with the specified storage account" + }, + "ScalingPlanPersonalSchedulePatch": { + "type": "object", + "description": "ScalingPlanPersonalSchedule properties that can be patched.", + "properties": { + "properties": { + "description": "Detailed properties for ScalingPlanPersonalSchedule", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScalingPlanPersonalScheduleProperties" + } + } + }, + "ScalingPlanPersonalScheduleList": { + "type": "object", + "title": "ScalingPlanPersonalScheduleList", + "description": "List of ScalingPlanPersonalSchedule definitions.", + "properties": { + "value": { + "type": "array", + "description": "List of ScalingPlanPersonalSchedule definitions.", + "items": { + "$ref": "#/definitions/ScalingPlanPersonalSchedule" + } + }, + "nextLink": { + "type": "string", + "readOnly": true, + "description": "Link to the next page of results." + } + } + }, + "ScalingPlanPersonalSchedule": { + "type": "object", + "description": "Represents a ScalingPlanPersonalSchedule definition.", + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Detailed properties for ScalingPlanPersonalSchedule", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScalingPlanPersonalScheduleProperties", + "x-nullable": false + } + } + }, + "ScalingPlanPersonalScheduleProperties": { + "description": "A ScalingPlanPersonalSchedule.", + "type": "object", + "properties": { + "daysOfWeek": { + "type": "array", + "description": "Set of days of the week on which this schedule is active.", + "items": { + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "type": "string", + "x-ms-enum": { + "name": "DayOfWeek", + "modelAsString": true + } + } + }, + "rampUpStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for ramp up period." + }, + "rampUpAutoStartHosts": { + "enum": [ + "None", + "WithAssignedUser", + "All" + ], + "x-ms-enum": { + "name": "StartupBehavior", + "modelAsString": true, + "values": [ + { + "value": "None", + "description": "Session hosts will not be started by the service. This setting depends on Start VM on Connect to be enabled to start the session hosts." + }, + { + "value": "WithAssignedUser", + "description": "Session hosts with an assigned user will be started during Ramp Up" + }, + { + "value": "All", + "description": "All personal session hosts in the hostpool will be started during ramp up." + } + ] + }, + "type": "string", + "description": "The desired startup behavior during the ramp up period for personal vms in the hostpool." + }, + "rampUpStartVMOnConnect": { + "enum": [ + "Enable", + "Disable" + ], + "x-ms-enum": { + "name": "SetStartVMOnConnect", + "modelAsString": true + }, + "default": "Enable", + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the ramp up phase. If this is disabled, session hosts must be turned on using rampUpAutoStartHosts or by turning them on manually." + }, + "rampUpActionOnDisconnect": { + "enum": [ + "None", + "Deallocate", + "Hibernate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a user disconnect during the ramp up period." + }, + "rampUpMinutesToWaitOnDisconnect": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp up period." + }, + "rampUpActionOnLogoff": { + "enum": [ + "None", + "Deallocate", + "Hibernate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a logoff during the ramp up period." + }, + "rampUpMinutesToWaitOnLogoff": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp up period." + }, + "peakStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for peak period." + }, + "peakStartVMOnConnect": { + "enum": [ + "Enable", + "Disable" + ], + "x-ms-enum": { + "name": "SetStartVMOnConnect", + "modelAsString": true + }, + "default": "Enable", + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the peak phase." + }, + "peakActionOnDisconnect": { + "enum": [ + "None", + "Deallocate", + "Hibernate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a user disconnect during the peak period." + }, + "peakMinutesToWaitOnDisconnect": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the peak period." + }, + "peakActionOnLogoff": { + "enum": [ + "None", + "Deallocate", + "Hibernate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a logoff during the peak period." + }, + "peakMinutesToWaitOnLogoff": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the peak period." + }, + "rampDownStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for ramp down period." + }, + "rampDownStartVMOnConnect": { + "enum": [ + "Enable", + "Disable" + ], + "x-ms-enum": { + "name": "SetStartVMOnConnect", + "modelAsString": true + }, + "default": "Enable", + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the ramp down phase." + }, + "rampDownActionOnDisconnect": { + "enum": [ + "None", + "Deallocate", + "Hibernate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a user disconnect during the ramp down period." + }, + "rampDownMinutesToWaitOnDisconnect": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the ramp down period." + }, + "rampDownActionOnLogoff": { + "enum": [ + "None", + "Deallocate", + "Hibernate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a logoff during the ramp down period." + }, + "rampDownMinutesToWaitOnLogoff": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the ramp down period." + }, + "offPeakStartTime": { + "$ref": "#/definitions/Time", + "description": "Starting time for off-peak period." + }, + "offPeakStartVMOnConnect": { + "enum": [ + "Enable", + "Disable" + ], + "x-ms-enum": { + "name": "SetStartVMOnConnect", + "modelAsString": true + }, + "default": "Enable", + "type": "string", + "description": "The desired configuration of Start VM On Connect for the hostpool during the off-peak phase." + }, + "offPeakActionOnDisconnect": { + "enum": [ + "None", + "Deallocate", + "Hibernate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a user disconnect during the off-peak period." + }, + "offPeakMinutesToWaitOnDisconnect": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user disconnects during the off-peak period." + }, + "offPeakActionOnLogoff": { + "enum": [ + "None", + "Deallocate", + "Hibernate" + ], + "x-ms-enum": { + "name": "SessionHandlingOperation", + "modelAsString": true + }, + "type": "string", + "description": "Action to be taken after a logoff during the off-peak period." + }, + "offPeakMinutesToWaitOnLogoff": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "The time in minutes to wait before performing the desired session handling action when a user logs off during the off-peak period." + } + } + } + }, + "parameters": { + "HostPoolNameParameter": { + "name": "hostPoolName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the host pool within the specified resource group", + "maxLength": 64, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "MSIXPackageFullNameParameter": { + "name": "msixPackageFullName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The version specific package full name of the MSIX package within specified hostpool", + "maxLength": 100, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "AppAttachPackageNameParameter": { + "name": "appAttachPackageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the App Attach package arm object", + "maxLength": 100, + "minLength": 3, + "pattern": "^[a-z0-9]([a-z0-9]|(-(?!-))){1,61}[a-z0-9]$", + "x-ms-parameter-location": "method" + }, + "ApplicationGroupNameParameter": { + "name": "applicationGroupName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the application group", + "maxLength": 64, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ApplicationNameParameter": { + "name": "applicationName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the application within the specified application group", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "DesktopNameParameter": { + "name": "desktopName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the desktop within the specified desktop group", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "WorkspaceNameParameter": { + "name": "workspaceName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the workspace", + "maxLength": 64, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "SessionHostNameParameter": { + "name": "sessionHostName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the session host within the specified host pool", + "maxLength": 48, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "UserSessionIdParameter": { + "name": "userSessionId", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the user session within the specified session host", + "maxLength": 24, + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "StartMenuItemNameParameter": { + "name": "startMenuItemName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the start menu item within the specified host pool", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "MSIXImageURIParameter": { + "name": "msixImageURI", + "in": "path", + "required": true, + "type": "string", + "description": "URI to the MSIX Image (VHD/CIM).", + "maxLength": 100, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ScalingPlanNameParameter": { + "name": "scalingPlanName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the scaling plan.", + "maxLength": 64, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ScalingPlanScheduleNameParameter": { + "name": "scalingPlanScheduleName", + "in": "path", + "required": true, + "pattern": "^[A-Za-z0-9@.\\-_ ]*$", + "type": "string", + "description": "The name of the ScalingPlanSchedule", + "maxLength": 64, + "minLength": 1, + "x-ms-parameter-location": "method" + }, + "vmPathParameter": { + "name": "vmPath", + "in": "query", + "required": false, + "type": "string", + "description": "The path to the VM.", + "pattern": "^[A-Z][a-z][0-9][@./-_ ]*$", + "maxLength": 1092, + "minLength": 3, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ActiveSessionHostConfigurations_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ActiveSessionHostConfigurations_Get.json new file mode 100644 index 000000000000..8cdf26c9794e --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ActiveSessionHostConfigurations_Get.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/activeSessionHostConfigurations/default", + "type": "Microsoft.DesktopVirtualization/hostPools/activeSessionHostConfigurations", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "version": "2022-10-21T17:18:19.1234567Z", + "friendlyName": "InitialConfiguration", + "vmTags": { + "Department": "myDepartment", + "Team": "myTeam" + }, + "vmLocation": "eastus2", + "vmResourceGroup": "myResourceGroup", + "vmNamePrefix": "westus2-vm", + "availabilityZones": [ + 1, + 3 + ], + "networkInfo": { + "subnetId": "/subscriptions/.../resourceGroups/.../providers/Microsoft.Network/virtualNetworks/.../subnets/subnet1", + "securityGroupId": "/subscriptions/.../resourceGroups/.../provider s/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "vmSizeId": "Standard_D2s_v3", + "diskInfo": { + "type": "Standard_LRS" + }, + "customConfigurationScriptUrl": "https://storageaccountname.blob.core.windows.net/blobcontainer/file", + "imageInfo": { + "type": "Marketplace", + "marketplaceInfo": { + "offer": "Windows-10", + "publisher": "MicrosoftWindowsDesktop", + "sku": "19h2-ent", + "exactVersion": "2019.0.20190115" + }, + "customInfo": { + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName" + } + }, + "domainInfo": { + "joinType": "ActiveDirectory", + "activeDirectoryInfo": { + "domainCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "ouPath": "OU=testOU,DC=domain,DC=Domain,DC=com", + "domainName": "wvdarmtest1.net" + }, + "azureActiveDirectoryInfo": { + "mdmProviderGuid": "bdefabc0-95b4-48b3-b645-8a753a63c4fa" + } + }, + "securityInfo": { + "type": "TrustedLaunch", + "secureBootEnabled": true, + "vTpmEnabled": true + }, + "vmAdminCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "bootDiagnosticsInfo": { + "enabled": true, + "storageUri": "https://myStorageAccountName.blob.core.windows.net" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ActiveSessionHostConfigurations_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ActiveSessionHostConfigurations_ListByHostPool.json new file mode 100644 index 000000000000..9fe5b8c70e93 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ActiveSessionHostConfigurations_ListByHostPool.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "default", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/activeSessionHostConfigurations/default", + "type": "Microsoft.DesktopVirtualization/hostPools/activeSessionHostConfigurations", + "systemData": { + "createdBy": "user2", + "createdByType": "User", + "createdAt": "2020-02-01T17:18:19.1234567Z", + "lastModifiedBy": "user3", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-02T17:18:19.1234567Z" + }, + "properties": { + "version": "2022-10-21T17:18:19.1234567Z", + "friendlyName": "InitialConfiguration", + "vmTags": { + "Department": "myDepartment", + "Team": "myTeam" + }, + "vmLocation": "westus2", + "vmResourceGroup": "myResourceGroup", + "vmNamePrefix": "westus2-vm", + "availabilityZones": [ + 1, + 3 + ], + "networkInfo": { + "subnetId": "/subscriptions/.../resourceGroups/.../providers/Microsoft.Network/virtualNetworks/.../subnets/subnet1", + "securityGroupId": "/subscriptions/.../resourceGroups/.../provider s/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "vmSizeId": "Standard_D2s_v3", + "diskInfo": { + "type": "Standard_LRS" + }, + "customConfigurationScriptUrl": "https://storageaccountname.blob.core.windows.net/blobcontainer/file", + "imageInfo": { + "type": "Marketplace", + "marketplaceInfo": { + "offer": "Windows-10", + "publisher": "MicrosoftWindowsDesktop", + "sku": "19h2-ent", + "exactVersion": "2019.0.20190115" + }, + "customInfo": { + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName" + } + }, + "domainInfo": { + "joinType": "ActiveDirectory", + "activeDirectoryInfo": { + "domainCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "ouPath": "OU=testOU,DC=domain,DC=Domain,DC=com", + "domainName": "wvdarmtest1.net" + }, + "azureActiveDirectoryInfo": { + "mdmProviderGuid": "bdefabc0-95b4-48b3-b645-8a753a63c4fa" + } + }, + "securityInfo": { + "type": "TrustedLaunch", + "secureBootEnabled": true, + "vTpmEnabled": true + }, + "vmAdminCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "bootDiagnosticsInfo": { + "enabled": true, + "storageUri": "https://myStorageAccountName.blob.core.windows.net" + } + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackageInfo_Import_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackageInfo_Import_Post.json new file mode 100644 index 000000000000..7ec10eb5726e --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackageInfo_Import_Post.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2024-04-08-preview", + "importPackageInfoRequest": { + "path": "imagepath", + "packageArchitecture": "x64" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "" + } + }, + { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_Create.json new file mode 100644 index 000000000000..4bd4b1ad317b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_Create.json @@ -0,0 +1,167 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-08-preview", + "appAttachPackageName": "msixpackagefullname", + "appAttachPackage": { + "location": "southcentralus", + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "", + "customData": "", + "packageOwnerName": "App Attach" + } + } + }, + "responses": { + "200": { + "body": { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "", + "customData": "", + "packageOwnerName": "App Attach" + } + } + }, + "201": { + "body": { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "", + "customData": "", + "packageOwnerName": "App Attach" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_Delete.json new file mode 100644 index 000000000000..85b845668c34 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_Delete.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-08-preview", + "appAttachPackageName": "packagefullname" + }, + "responses": { + "200": { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "", + "customData": "", + "packageOwnerName": "App Attach" + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_Get.json new file mode 100644 index 000000000000..f9eaba3bdb87 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_Get.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-08-preview", + "appAttachPackageName": "packagefullname" + }, + "responses": { + "200": { + "body": { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "", + "customData": "", + "packageOwnerName": "App Attach" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_ListByResourceGroup.json new file mode 100644 index 000000000000..40cc0eb250e6 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_ListByResourceGroup.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-08-preview", + "$filter": "HostPoolName eq 'hostpool1'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "", + "customData": "", + "packageOwnerName": "App Attach" + } + }, + { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "", + "customData": "", + "packageOwnerName": "App Attach" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_ListBySubscription.json new file mode 100644 index 000000000000..77403c6d66d1 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_ListBySubscription.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2024-04-08-preview", + "$filter": "HostPoolName eq 'hostpool1'" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "", + "customData": "", + "packageOwnerName": "App Attach" + } + }, + { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "", + "customData": "", + "packageOwnerName": "App Attach" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_Update.json new file mode 100644 index 000000000000..646425559762 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/AppAttachPackage_Update.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-08-preview", + "appAttachPackageName": "msixpackagefullname", + "appAttachPackage": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [ + "hostpool1", + "hostpool2" + ], + "keyVaultURL": "url", + "failHealthCheckOnStagingFailure": false + } + }, + "responses": { + "200": { + "body": { + "name": "packageName", + "id": "/subscriptions/d15725f7-6577-4a8c-95f1-3da903b42364/resourcegroups/charlesk-southcentralus/providers/Microsoft.DesktopVirtualization/appattachpackages/ModifierPackage", + "type": "Microsoft.DesktopVirtualization/appattachpackages", + "location": "southcentralus", + "tags": {}, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2023-09-28T23:44:56.13Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-10-09T01:43:31.07Z" + }, + "properties": { + "image": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "certificateName": "certName", + "certificateExpiry": "2023-01-02T17:18:19.1234567Z" + }, + "hostPoolReferences": [], + "failHealthCheckOnStagingFailure": "NeedsAssistance", + "keyVaultURL": "", + "customData": "", + "packageOwnerName": "App Attach" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_Create.json new file mode 100644 index 000000000000..7d29501c717c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_Create.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2024-04-08-preview", + "applicationGroup": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "applicationGroupType": "RemoteApp", + "showInFeed": true + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + } + }, + "201": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_Delete.json new file mode 100644 index 000000000000..9fcb3041c2c0 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_Delete.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_Get.json new file mode 100644 index 000000000000..57dbbf5f8e59 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_Get.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_ListByResourceGroup.json new file mode 100644 index 000000000000..403e294d245a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_ListByResourceGroup.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-08-preview", + "$filter": "applicationGroupType eq 'RailApplication'", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + }, + { + "name": "applicationGroup2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_ListBySubscription.json new file mode 100644 index 000000000000..9921ab10fc33 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_ListBySubscription.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2024-04-08-preview", + "$filter": "applicationGroupType eq 'RailApplication'", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + }, + { + "name": "applicationGroup2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup2", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_Update.json new file mode 100644 index 000000000000..9a64c53d43ff --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ApplicationGroup_Update.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2024-04-08-preview", + "applicationGroup": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly", + "showInFeed": true + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1", + "type": "Microsoft.DesktopVirtualization/applicationGroups", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "workspaceArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "applicationGroupType": "RemoteApp", + "cloudPcResource": false, + "showInFeed": true + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Application_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Application_Create.json new file mode 100644 index 000000000000..a6ff8b2b84ea --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Application_Create.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2024-04-08-preview", + "application": { + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1 + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + }, + "201": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Application_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Application_Delete.json new file mode 100644 index 000000000000..6fa87550355d --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Application_Delete.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Application_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Application_Get.json new file mode 100644 index 000000000000..e64c42c43476 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Application_Get.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Application_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Application_List.json new file mode 100644 index 000000000000..511fc864e2ba --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Application_List.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2024-04-08-preview", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + }, + { + "name": "applicationGroup1/application2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des2", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Application_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Application_Update.json new file mode 100644 index 000000000000..6e52884fc980 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Application_Update.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "applicationName": "application1", + "api-version": "2024-04-08-preview", + "application": { + "properties": { + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/applications", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "filePath": "path", + "commandLineSetting": "Allow", + "commandLineArguments": "arguments", + "showInPortal": true, + "iconPath": "icon", + "iconIndex": 1, + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "applicationType": "InBuilt", + "msixPackageFamilyName": null, + "msixPackageApplicationId": null + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Desktop_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Desktop_Get.json new file mode 100644 index 000000000000..80d557fb54fe --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Desktop_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "desktopName": "SessionDesktop", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop", + "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Desktop_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Desktop_List.json new file mode 100644 index 000000000000..98769c5305bf --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Desktop_List.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2024-04-08-preview", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "applicationGroup1/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/SessionDesktop", + "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Desktop_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Desktop_Update.json new file mode 100644 index 000000000000..0531ee24556b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Desktop_Update.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "desktopName": "SessionDesktop", + "api-version": "2024-04-08-preview", + "desktop": { + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "applicationGroup1/SessionDesktop", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/desktops/SessionDesktop", + "type": "Microsoft.DesktopVirtualization/applicationGroups/desktops", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc", + "iconContent": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_Create.json new file mode 100644 index 000000000000..43497e505341 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_Create.json @@ -0,0 +1,187 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview", + "hostPool": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "registrationInfo": { + "expirationTime": "2020-10-01T14:01:54.9571247Z", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "managementType": "Automated", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + }, + "managedPrivateUDP": "Enabled", + "directUDP": "Enabled", + "publicUDP": "Enabled", + "relayUDP": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2020-10-01T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "managementType": "Automated", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + }, + "managedPrivateUDP": "Enabled", + "directUDP": "Enabled", + "publicUDP": "Enabled", + "relayUDP": "Enabled" + } + } + }, + "201": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2020-10-01T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "managementType": "Automated", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + }, + "managedPrivateUDP": "Enabled", + "directUDP": "Enabled", + "publicUDP": "Enabled", + "relayUDP": "Enabled" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_Delete.json new file mode 100644 index 000000000000..38751125c02e --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_Delete.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview", + "force": true + }, + "responses": { + "200": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "managementType": "Automated", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + } + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_Get.json new file mode 100644 index 000000000000..f71b3a627d2c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_Get.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "managementType": "Automated", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + }, + "managedPrivateUDP": "Default", + "directUDP": "Default", + "publicUDP": "Default", + "relayUDP": "Default" + } + } + }, + "default": { + "body": { + "error": { + "code": "hostPoolDoesNotExist", + "message": "Host Pool Does Not Exist" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_List.json new file mode 100644 index 000000000000..9517c427cd4f --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_List.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2024-04-08-preview", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "managementType": "Automated", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + }, + "managedPrivateUDP": "Default", + "directUDP": "Default", + "publicUDP": "Default", + "relayUDP": "Default" + } + }, + { + "name": "hostPool2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "managementType": "Automated", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + }, + "managedPrivateUDP": "Default", + "directUDP": "Default", + "publicUDP": "Default", + "relayUDP": "Default" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_ListByResourceGroup.json new file mode 100644 index 000000000000..1912d11b8425 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_ListByResourceGroup.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-08-preview", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "managementType": "Automated", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + }, + "managedPrivateUDP": "Default", + "directUDP": "Default", + "publicUDP": "Default", + "relayUDP": "Default" + } + }, + { + "name": "hostPool2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool2", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "managementType": "Automated", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + }, + "managedPrivateUDP": "Default", + "directUDP": "Default", + "publicUDP": "Default", + "relayUDP": "Default" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_Update.json new file mode 100644 index 000000000000..fbe6ca5f5ce9 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPool_Update.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview", + "hostPool": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "friendlyName": "friendly", + "description": "des1", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "personalDesktopAssignmentType": "Automatic", + "registrationInfo": { + "expirationTime": "2020-10-01T15:01:54.9571247Z", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "startVMOnConnect": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + }, + "managedPrivateUDP": "Enabled", + "directUDP": "Enabled", + "publicUDP": "Enabled", + "relayUDP": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostPool1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "type": "/Microsoft.DesktopVirtualization/hostPools", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "friendlyName": "friendly", + "description": "des1", + "hostPoolType": "Pooled", + "personalDesktopAssignmentType": "Automatic", + "customRdpProperty": null, + "maxSessionLimit": 999999, + "loadBalancerType": "BreadthFirst", + "validationEnvironment": null, + "ring": null, + "registrationInfo": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + }, + "vmTemplate": "{json:json}", + "managementType": "Automated", + "ssoadfsAuthority": "https://adfs", + "ssoClientId": "client", + "ssoClientSecretKeyVaultPath": "https://keyvault/secret", + "ssoSecretType": "SharedKey", + "preferredAppGroupType": "Desktop", + "startVMOnConnect": false, + "cloudPcResource": false, + "agentUpdate": { + "type": "Scheduled", + "useSessionHostLocalTime": false, + "maintenanceWindowTimeZone": "Alaskan Standard Time", + "maintenanceWindows": [ + { + "hour": 7, + "dayOfWeek": "Friday" + }, + { + "hour": 8, + "dayOfWeek": "Saturday" + } + ] + }, + "managedPrivateUDP": "Enabled", + "directUDP": "Enabled", + "publicUDP": "Enabled", + "relayUDP": "Enabled" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPools_RetrieveRegistrationToken_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPools_RetrieveRegistrationToken_Post.json new file mode 100644 index 000000000000..4c0e9b35dbb3 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/HostPools_RetrieveRegistrationToken_Post.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "expirationTime": "2008-09-22T14:01:54.9571247Z", + "token": "token", + "registrationTokenOperation": "Update" + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixImage_Expand_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixImage_Expand_Post.json new file mode 100644 index 000000000000..908c4ab2a61f --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixImage_Expand_Post.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2024-04-08-preview", + "msixImageURI": { + "uri": "imagepath" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostpool1/expandmsiximage", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage/imagepath", + "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage", + "properties": { + "packageAlias": "msixpackagealias", + "imagePath": "imagepath", + "packageName": "MsixPackageName", + "packageFamilyName": "MsixPackage_FamilyName", + "packageFullName": "MsixPackage_FullName", + "displayName": "displayname", + "packageRelativePath": "packagerelativepath", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId", + "description": "PackageApplicationDescription", + "appUserModelID": "AppUserModelId", + "friendlyName": "FriendlyName", + "iconImageName": "Iconimagename", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + }, + { + "name": "hostpool1/expandmsiximage", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/expandmsiximage/msixImageURI", + "type": "Microsoft.DesktopVirtualization/hostpools/expandmsiximage", + "properties": { + "packageAlias": "msixpackagealias2", + "imagePath": "imagepath", + "packageName": "MsixPackageName2", + "packageFamilyName": "MsixPackage_FamilyName2", + "packageFullName": "MsixPackage_FullName2", + "displayName": "displayname2", + "packageRelativePath": "packagerelativepath2", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackageDependency1", + "publisher": "PublisherName1", + "minVersion": "ver1" + }, + { + "dependencyName": "MsixPackageDependency2", + "publisher": "PublisherName2", + "minVersion": "ver2" + } + ], + "version": "packageversion", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "AppId1", + "description": "PackageApplicationDescription1", + "appUserModelID": "AppUserModelId1", + "friendlyName": "FriendlyName1", + "iconImageName": "Iconimagename1", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + }, + { + "appId": "AppId2", + "description": "PackageApplicationDescription2", + "appUserModelID": "AppUserModelId2", + "friendlyName": "FriendlyName2", + "iconImageName": "Iconimagename2", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixPackage_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixPackage_Create.json new file mode 100644 index 000000000000..67440096c77f --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixPackage_Create.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2024-04-08-preview", + "msixPackageFullName": "msixpackagefullname", + "msixPackage": { + "properties": { + "displayName": "displayname", + "imagePath": "imagepath", + "isActive": false, + "isRegularRegistration": false, + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "description": "application-desc", + "appId": "ApplicationId", + "appUserModelID": "AppUserModelId", + "friendlyName": "friendlyname", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ], + "packageDependencies": [ + { + "dependencyName": "MsixTest_Dependency_Name", + "minVersion": "version", + "publisher": "PublishedName" + } + ], + "packageFamilyName": "MsixPackage_FamilyName", + "packageName": "MsixPackage_name", + "packageRelativePath": "packagerelativepath", + "version": "version" + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + }, + "201": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": true, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixPackage_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixPackage_Delete.json new file mode 100644 index 000000000000..a831bd7e13fb --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixPackage_Delete.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2024-04-08-preview", + "msixPackageFullName": "packagefullname" + }, + "responses": { + "200": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixPackage_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixPackage_Get.json new file mode 100644 index 000000000000..47ea01b43f0a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixPackage_Get.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2024-04-08-preview", + "msixPackageFullName": "packagefullname" + }, + "responses": { + "200": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixPackage_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixPackage_List.json new file mode 100644 index 000000000000..029dfc67ffdf --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixPackage_List.json @@ -0,0 +1,103 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2024-04-08-preview", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + }, + { + "name": "hostpool1/MsixPackageFullName2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName2", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath2", + "packageName": "MsixPackage_Name2", + "packageFamilyName": "MsixPackage_FamilyName2", + "displayName": "dis2", + "packageRelativePath": "MsixPackage_RelativePackageRoot2", + "isRegularRegistration": false, + "isActive": false, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name2", + "publisher": "MsixPackage_Dependency_Publisher2", + "minVersion": "packageDep_version2" + } + ], + "version": "version2", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id2", + "description": "desc2", + "appUserModelID": "Application_ModelID2", + "friendlyName": "fri2", + "iconImageName": "Apptile2", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixPackage_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixPackage_Update.json new file mode 100644 index 000000000000..d3825fca98a8 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/MsixPackage_Update.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostpool1", + "api-version": "2024-04-08-preview", + "msixPackageFullName": "msixpackagefullname", + "msixPackage": { + "properties": { + "displayName": "displayname", + "isActive": true, + "isRegularRegistration": false + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostpool1/MsixPackageFullName", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourcegroups/resourcegroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostpool1/msixpackages/msixPackageFullName", + "type": "Microsoft.DesktopVirtualization/hostpools/msixpackages", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "imagePath": "imagepath", + "packageName": "MsixPackage_Name", + "packageFamilyName": "MsixPackage_FamilyName", + "displayName": "dis", + "packageRelativePath": "MsixPackage_RelativePackageRoot", + "isRegularRegistration": false, + "isActive": true, + "packageDependencies": [ + { + "dependencyName": "MsixPackage_Dependency_Name", + "publisher": "MsixPackage_Dependency_Publisher", + "minVersion": "packageDep_version" + } + ], + "version": "version", + "lastUpdated": "2008-09-22T14:01:54.9571247Z", + "packageApplications": [ + { + "appId": "Application_Id", + "description": "desc", + "appUserModelID": "Application_ModelID", + "friendlyName": "fri", + "iconImageName": "Apptile", + "rawIcon": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo", + "rawPng": "VGhpcyBpcyBhIHN0cmluZyB0byBoYXNo" + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/OperationDescription_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/OperationDescription_List.json new file mode 100644 index 000000000000..a8684491910f --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/OperationDescription_List.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DesktopVirtualization/hostpools/read", + "display": { + "provider": "Microsoft.DesktopVirtualization", + "resource": "hostpools", + "operation": "Read hostpool", + "description": "Read hostpool" + }, + "isDataAction": false + }, + { + "name": "Microsoft.DesktopVirtualization/hostpools/write", + "display": { + "provider": "Microsoft.DesktopVirtualization", + "resource": "hostpools", + "operation": "Write hostpool", + "description": "Write hostpool" + }, + "properties": { + "serviceSpecification": { + "logSpecifications": [ + { + "name": "", + "displayName": "" + }, + { + "name": "", + "displayName": "" + }, + { + "name": "", + "displayName": "" + } + ] + } + }, + "isDataAction": false + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_DeleteByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_DeleteByHostPool.json new file mode 100644 index 000000000000..1b5f0077264e --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_DeleteByHostPool.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "privateEndpointConnectionName": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_DeleteByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_DeleteByWorkspace.json new file mode 100644 index 000000000000..88600c93c218 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_DeleteByWorkspace.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "privateEndpointConnectionName": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_GetByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_GetByHostPool.json new file mode 100644 index 000000000000..7f4d336c67e0 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_GetByHostPool.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "privateEndpointConnectionName": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "name": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateEndpointConnections/hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/hostpools/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_GetByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_GetByWorkspace.json new file mode 100644 index 000000000000..78bdf9bc81ae --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_GetByWorkspace.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "privateEndpointConnectionName": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "name": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateEndpointConnections/workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/workspaces/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_ListByHostPool.json new file mode 100644 index 000000000000..5129362c200d --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_ListByHostPool.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateEndpointConnections/hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/hostpools/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_ListByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_ListByWorkspace.json new file mode 100644 index 000000000000..1e4b0db96c40 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_ListByWorkspace.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateEndpointConnections/workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/workspaces/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + } + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_UpdateByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_UpdateByHostPool.json new file mode 100644 index 000000000000..208718628003 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_UpdateByHostPool.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "privateEndpointConnectionName": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2024-04-08-preview", + "connection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin@consoto.com", + "actionsRequired": "None" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateEndpointConnections/hostPool1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/hostpools/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin@consoto.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_UpdateByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_UpdateByWorkspace.json new file mode 100644 index 000000000000..f7bc2aa6aa4c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateEndpointConnection_UpdateByWorkspace.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "privateEndpointConnectionName": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "api-version": "2024-04-08-preview", + "connection": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin@consoto.com", + "actionsRequired": "None" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateEndpointConnections/workspace1.377103f1-5179-4bdf-8556-4cdd3207cc5b", + "type": "Microsoft.DesktopVirtualization/workspaces/privateEndpointConnections", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup2/providers/Microsoft.Network/privateEndpoints/endpointName1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by admin@consoto.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateLinkResources_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateLinkResources_ListByHostPool.json new file mode 100644 index 000000000000..e6a97a8161a4 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateLinkResources_ListByHostPool.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "hostpool", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostpools/hostPool1/privateLinkResources/hostpool", + "type": "Microsoft.DesktopVirtualization/hostpools/privateLinkResources", + "properties": { + "groupId": "hostpool", + "requiredMembers": [ + "rdbroker", + "rddiagnostics", + "rdweb", + "rdgateway" + ], + "requiredZoneNames": [ + "privatelink.wvd.microsoft.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateLinkResources_ListByWorkspace.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateLinkResources_ListByWorkspace.json new file mode 100644 index 000000000000..3facae82fdb3 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/PrivateLinkResources_ListByWorkspace.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1/privateLinkResources/workspace", + "type": "Microsoft.DesktopVirtualization/workspaces/privateLinkResources", + "properties": { + "groupId": "workspace", + "requiredMembers": [ + "rdbroker", + "rddiagnostics", + "rdweb", + "rdgateway" + ], + "requiredZoneNames": [ + "privatelink.wvd.microsoft.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPersonalSchedule_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPersonalSchedule_Create.json new file mode 100644 index 000000000000..a853360d9d59 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPersonalSchedule_Create.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1", + "api-version": "2024-04-08-preview", + "scalingPlanSchedule": { + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpAutoStartHosts": "All", + "rampUpStartVMOnConnect": "Enable", + "rampUpActionOnDisconnect": "None", + "rampUpMinutesToWaitOnDisconnect": 10, + "rampUpActionOnLogoff": "None", + "rampUpMinutesToWaitOnLogoff": 10, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakStartVMOnConnect": "Enable", + "peakActionOnDisconnect": "None", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownStartVMOnConnect": "Enable", + "rampDownActionOnDisconnect": "None", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Enable", + "offPeakActionOnDisconnect": "None", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + } + }, + "responses": { + "200": { + "body": { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpAutoStartHosts": "All", + "rampUpActionOnDisconnect": "None", + "rampUpMinutesToWaitOnDisconnect": 10, + "rampUpActionOnLogoff": "None", + "rampUpMinutesToWaitOnLogoff": 10, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakStartVMOnConnect": "Enable", + "peakActionOnDisconnect": "None", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownStartVMOnConnect": "Enable", + "rampDownActionOnDisconnect": "None", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Enable", + "offPeakActionOnDisconnect": "None", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + } + }, + "201": { + "body": { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpAutoStartHosts": "All", + "rampUpStartVMOnConnect": "Enable", + "rampUpActionOnDisconnect": "None", + "rampUpMinutesToWaitOnDisconnect": 10, + "rampUpActionOnLogoff": "None", + "rampUpMinutesToWaitOnLogoff": 10, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakStartVMOnConnect": "Enable", + "peakActionOnDisconnect": "Deallocate", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownStartVMOnConnect": "Enable", + "rampDownActionOnDisconnect": "None", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Enable", + "offPeakActionOnDisconnect": "None", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPersonalSchedule_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPersonalSchedule_Delete.json new file mode 100644 index 000000000000..ec18cfc2c35d --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPersonalSchedule_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPersonalSchedule_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPersonalSchedule_Get.json new file mode 100644 index 000000000000..64e8f5744f9b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPersonalSchedule_Get.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "PersonalScalingPlan1", + "scalingPlanScheduleName": "PersonalScalingPlanSchedule", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "name": "PersonalScalingPlanSchedule", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/PersonalScalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpAutoStartHosts": "All", + "rampUpStartVMOnConnect": "Enable", + "rampUpActionOnDisconnect": "None", + "rampUpMinutesToWaitOnDisconnect": 10, + "rampUpActionOnLogoff": "None", + "rampUpMinutesToWaitOnLogoff": 10, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakStartVMOnConnect": "Enable", + "peakActionOnDisconnect": "None", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownStartVMOnConnect": "Enable", + "rampDownActionOnDisconnect": "None", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Enable", + "offPeakActionOnDisconnect": "None", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPersonalSchedule_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPersonalSchedule_List.json new file mode 100644 index 000000000000..989e71c53d94 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPersonalSchedule_List.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan", + "api-version": "2024-04-08-preview", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "scalingPlanScheduleWeekday", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpAutoStartHosts": "All", + "rampUpStartVMOnConnect": "Enable", + "rampUpActionOnDisconnect": "None", + "rampUpMinutesToWaitOnDisconnect": 10, + "rampUpActionOnLogoff": "None", + "rampUpMinutesToWaitOnLogoff": 10, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakStartVMOnConnect": "Enable", + "peakActionOnDisconnect": "None", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownStartVMOnConnect": "Enable", + "rampDownActionOnDisconnect": "None", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Enable", + "offPeakActionOnDisconnect": "None", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + }, + { + "name": "scalingPlanScheduleWeekend", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/scalingPlanScheduleWeekends1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Saturday", + "Sunday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpAutoStartHosts": "All", + "rampUpStartVMOnConnect": "Enable", + "rampUpActionOnDisconnect": "None", + "rampUpMinutesToWaitOnDisconnect": 10, + "rampUpActionOnLogoff": "None", + "rampUpMinutesToWaitOnLogoff": 10, + "peakStartTime": { + "hour": 10, + "minute": 0 + }, + "peakStartVMOnConnect": "Enable", + "peakActionOnDisconnect": "Deallocate", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 14, + "minute": 0 + }, + "rampDownStartVMOnConnect": "Enable", + "rampDownActionOnDisconnect": "Deallocate", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 16, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Enable", + "offPeakActionOnDisconnect": "Deallocate", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPersonalSchedule_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPersonalSchedule_Update.json new file mode 100644 index 000000000000..bfe9f0cfae98 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPersonalSchedule_Update.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1", + "api-version": "2024-04-08-preview", + "scalingPlanSchedule": { + "properties": { + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakActionOnDisconnect": "None", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownActionOnDisconnect": "None", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Disable", + "offPeakActionOnDisconnect": "None", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + } + }, + "responses": { + "200": { + "body": { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/personalSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/personalSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpAutoStartHosts": "All", + "rampUpStartVMOnConnect": "Enable", + "rampUpActionOnDisconnect": "None", + "rampUpMinutesToWaitOnDisconnect": 10, + "rampUpActionOnLogoff": "None", + "rampUpMinutesToWaitOnLogoff": 10, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakStartVMOnConnect": "Enable", + "peakActionOnDisconnect": "None", + "peakMinutesToWaitOnDisconnect": 10, + "peakActionOnLogoff": "Deallocate", + "peakMinutesToWaitOnLogoff": 10, + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownStartVMOnConnect": "Enable", + "rampDownActionOnDisconnect": "None", + "rampDownMinutesToWaitOnDisconnect": 10, + "rampDownActionOnLogoff": "Deallocate", + "rampDownMinutesToWaitOnLogoff": 10, + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakStartVMOnConnect": "Disable", + "offPeakActionOnDisconnect": "None", + "offPeakMinutesToWaitOnDisconnect": 10, + "offPeakActionOnLogoff": "Deallocate", + "offPeakMinutesToWaitOnLogoff": 10 + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPooledSchedule_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPooledSchedule_Create.json new file mode 100644 index 000000000000..6d2d6a1d97d4 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPooledSchedule_Create.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1", + "api-version": "2024-04-08-preview", + "scalingPlanSchedule": { + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + } + }, + "responses": { + "200": { + "body": { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + } + }, + "201": { + "body": { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPooledSchedule_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPooledSchedule_Delete.json new file mode 100644 index 000000000000..ec18cfc2c35d --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPooledSchedule_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPooledSchedule_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPooledSchedule_Get.json new file mode 100644 index 000000000000..b9e563637154 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPooledSchedule_Get.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPooledSchedule_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPooledSchedule_List.json new file mode 100644 index 000000000000..fc04a1067057 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPooledSchedule_List.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "api-version": "2024-04-08-preview", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + }, + { + "name": "scalingPlanScheduleWeekends1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekends1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Saturday", + "Sunday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 10, + "rampUpCapacityThresholdPct": 90, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 0, + "rampDownCapacityThresholdPct": 100, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPooledSchedule_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPooledSchedule_Update.json new file mode 100644 index 000000000000..01efa2f5fe7d --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlanPooledSchedule_Update.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "scalingPlanScheduleName": "scalingPlanScheduleWeekdays1", + "api-version": "2024-04-08-preview", + "scalingPlanSchedule": { + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownWaitTimeMinutes": 30 + } + } + }, + "responses": { + "200": { + "body": { + "name": "scalingPlanScheduleWeekdays1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1/pooledSchedules/scalingPlanScheduleWeekdays1", + "type": "Microsoft.DesktopVirtualization/scalingPlans/pooledSchedules", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_Create.json new file mode 100644 index 000000000000..dd09fe35f33f --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_Create.json @@ -0,0 +1,215 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "api-version": "2024-04-08-preview", + "scalingPlan": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + }, + "201": { + "body": { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_Delete.json new file mode 100644 index 000000000000..12fbf0ca527f --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_Delete.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_Get.json new file mode 100644 index 000000000000..8abba1a1039b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_Get.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of scaling plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_ListByHostPool.json new file mode 100644 index 000000000000..79b228c0338e --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_ListByHostPool.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_ListByResourceGroup.json new file mode 100644 index 000000000000..79ffd936cd06 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_ListByResourceGroup.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-08-preview", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + }, + { + "name": "scalingPlan2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": false, + "rampDownStopHostsWhen": "ZeroSessions", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_ListBySubscription.json new file mode 100644 index 000000000000..f4b980eaf703 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_ListBySubscription.json @@ -0,0 +1,158 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2024-04-08-preview", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + }, + { + "name": "scalingPlan2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan2", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": false, + "rampDownStopHostsWhen": "ZeroActiveSessions", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_Update.json new file mode 100644 index 000000000000..8708827ceb05 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/ScalingPlan_Update.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "scalingPlanName": "scalingPlan1", + "api-version": "2024-04-08-preview", + "workspace": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "scalingPlan1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/scalingPlan1", + "type": "Microsoft.DesktopVirtualization/scalingPlans", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "00000000-0000-0000-0000-000000000000", + "description": "Description of Scaling Plan", + "friendlyName": "Scaling Plan 1", + "timeZone": "Central Standard Time", + "hostPoolType": "Pooled", + "exclusionTag": "value", + "schedules": [ + { + "name": "schedule1", + "daysOfWeek": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday" + ], + "rampUpStartTime": { + "hour": 6, + "minute": 0 + }, + "rampUpLoadBalancingAlgorithm": "DepthFirst", + "rampUpMinimumHostsPct": 20, + "rampUpCapacityThresholdPct": 80, + "peakStartTime": { + "hour": 8, + "minute": 0 + }, + "peakLoadBalancingAlgorithm": "BreadthFirst", + "rampDownStartTime": { + "hour": 18, + "minute": 0 + }, + "rampDownLoadBalancingAlgorithm": "DepthFirst", + "rampDownMinimumHostsPct": 20, + "rampDownCapacityThresholdPct": 50, + "rampDownForceLogoffUsers": true, + "rampDownWaitTimeMinutes": 30, + "rampDownNotificationMessage": "message", + "offPeakStartTime": { + "hour": 20, + "minute": 0 + }, + "offPeakLoadBalancingAlgorithm": "DepthFirst" + } + ], + "hostPoolReferences": [ + { + "hostPoolArmPath": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1", + "scalingPlanEnabled": true + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostConfigurations_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostConfigurations_Create.json new file mode 100644 index 000000000000..3040a8bf970d --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostConfigurations_Create.json @@ -0,0 +1,238 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview", + "sessionHostConfiguration": { + "properties": { + "friendlyName": "InitialConfiguration", + "vmTags": { + "Department": "myDepartment", + "Team": "myTeam" + }, + "vmLocation": "eastus2", + "vmResourceGroup": "myResourceGroup", + "vmNamePrefix": "westus2-vm", + "availabilityZones": [ + 1, + 3 + ], + "networkInfo": { + "subnetId": "/subscriptions/.../resourceGroups/.../providers/Microsoft.Network/virtualNetworks/.../subnets/subnet1", + "securityGroupId": "/subscriptions/.../resourceGroups/.../provider s/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "vmSizeId": "Standard_D2s_v3", + "diskInfo": { + "type": "Standard_LRS" + }, + "customConfigurationScriptUrl": "https://storageaccountname.blob.core.windows.net/blobcontainer/file", + "imageInfo": { + "type": "Marketplace", + "marketplaceInfo": { + "offer": "Windows-10", + "publisher": "MicrosoftWindowsDesktop", + "sku": "19h2-ent", + "exactVersion": "2019.0.20190115" + }, + "customInfo": { + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName" + } + }, + "domainInfo": { + "joinType": "ActiveDirectory", + "activeDirectoryInfo": { + "domainCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "ouPath": "OU=testOU,DC=domain,DC=Domain,DC=com", + "domainName": "wvdarmtest1.net" + }, + "azureActiveDirectoryInfo": { + "mdmProviderGuid": "bdefabc0-95b4-48b3-b645-8a753a63c4fa" + } + }, + "securityInfo": { + "type": "TrustedLaunch", + "secureBootEnabled": true, + "vTpmEnabled": true + }, + "vmAdminCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "bootDiagnosticsInfo": { + "enabled": true, + "storageUri": "https://myStorageAccountName.blob.core.windows.net" + } + } + } + }, + "responses": { + "200": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostConfigurations/default/operationStatuses/ed5d502c-acaa-42ec-ad61-0d8488a9fd1d" + }, + "body": { + "name": "default", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostConfigurations/default", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHostConfigurations", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "version": "2022-10-21T17:18:19.1234567Z", + "friendlyName": "InitialConfiguration", + "provisioningState": "Provisioning", + "vmTags": { + "Department": "myDepartment", + "Team": "myTeam" + }, + "vmLocation": "eastus2", + "vmResourceGroup": "myResourceGroup", + "vmNamePrefix": "westus2-vm", + "availabilityZones": [ + 1, + 3 + ], + "networkInfo": { + "subnetId": "/subscriptions/.../resourceGroups/.../providers/Microsoft.Network/virtualNetworks/.../subnets/subnet1", + "securityGroupId": "/subscriptions/.../resourceGroups/.../provider s/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "vmSizeId": "Standard_D2s_v3", + "diskInfo": { + "type": "Standard_LRS" + }, + "customConfigurationScriptUrl": "https://storageaccountname.blob.core.windows.net/blobcontainer/file", + "imageInfo": { + "type": "Marketplace", + "marketplaceInfo": { + "offer": "Windows-10", + "publisher": "MicrosoftWindowsDesktop", + "sku": "19h2-ent", + "exactVersion": "2019.0.20190115" + }, + "customInfo": { + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName" + } + }, + "domainInfo": { + "joinType": "ActiveDirectory", + "activeDirectoryInfo": { + "domainCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "ouPath": "OU=testOU,DC=domain,DC=Domain,DC=com", + "domainName": "wvdarmtest1.net" + }, + "azureActiveDirectoryInfo": { + "mdmProviderGuid": "bdefabc0-95b4-48b3-b645-8a753a63c4fa" + } + }, + "securityInfo": { + "type": "TrustedLaunch", + "secureBootEnabled": true, + "vTpmEnabled": true + }, + "vmAdminCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "bootDiagnosticsInfo": { + "enabled": true, + "storageUri": "https://myStorageAccountName.blob.core.windows.net" + } + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostConfigurations/default/operationStatuses/ed5d502c-acaa-42ec-ad61-0d8488a9fd1d" + }, + "body": { + "name": "default", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostConfigurations/default", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHostConfigurations", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "version": "2022-10-21T17:18:19.1234567Z", + "friendlyName": "InitialConfiguration", + "provisioningState": "Provisioning", + "vmTags": { + "Department": "myDepartment", + "Team": "myTeam" + }, + "vmLocation": "eastus2", + "vmResourceGroup": "myResourceGroup", + "vmNamePrefix": "westus2-vm", + "availabilityZones": [ + 1, + 3 + ], + "networkInfo": { + "subnetId": "/subscriptions/.../resourceGroups/.../providers/Microsoft.Network/virtualNetworks/.../subnets/subnet1", + "securityGroupId": "/subscriptions/.../resourceGroups/.../provider s/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "vmSizeId": "Standard_D2s_v3", + "diskInfo": { + "type": "Standard_LRS" + }, + "customConfigurationScriptUrl": "https://storageaccountname.blob.core.windows.net/blobcontainer/file", + "imageInfo": { + "type": "Marketplace", + "marketplaceInfo": { + "offer": "Windows-10", + "publisher": "MicrosoftWindowsDesktop", + "sku": "19h2-ent", + "exactVersion": "2019.0.20190115" + }, + "customInfo": { + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName" + } + }, + "domainInfo": { + "joinType": "ActiveDirectory", + "activeDirectoryInfo": { + "domainCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "ouPath": "OU=testOU,DC=domain,DC=Domain,DC=com", + "domainName": "wvdarmtest1.net" + }, + "azureActiveDirectoryInfo": { + "mdmProviderGuid": "bdefabc0-95b4-48b3-b645-8a753a63c4fa" + } + }, + "securityInfo": { + "type": "TrustedLaunch", + "secureBootEnabled": true, + "vTpmEnabled": true + }, + "vmAdminCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "bootDiagnosticsInfo": { + "enabled": true, + "storageUri": "https://myStorageAccountName.blob.core.windows.net" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostConfigurations_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostConfigurations_Get.json new file mode 100644 index 000000000000..80d9f6e57901 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostConfigurations_Get.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostConfigurations/default", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHostConfigurations", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "version": "2022-10-21T17:18:19.1234567Z", + "friendlyName": "InitialConfiguration", + "provisioningState": "Provisioning", + "vmTags": { + "Department": "myDepartment", + "Team": "myTeam" + }, + "vmLocation": "eastus2", + "vmResourceGroup": "myResourceGroup", + "vmNamePrefix": "westus2-vm", + "availabilityZones": [ + 1, + 3 + ], + "networkInfo": { + "subnetId": "/subscriptions/.../resourceGroups/.../providers/Microsoft.Network/virtualNetworks/.../subnets/subnet1", + "securityGroupId": "/subscriptions/.../resourceGroups/.../provider s/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "vmSizeId": "Standard_D2s_v3", + "diskInfo": { + "type": "Standard_LRS" + }, + "customConfigurationScriptUrl": "https://storageaccountname.blob.core.windows.net/blobcontainer/file", + "imageInfo": { + "type": "Marketplace", + "marketplaceInfo": { + "offer": "Windows-10", + "publisher": "MicrosoftWindowsDesktop", + "sku": "19h2-ent", + "exactVersion": "2019.0.20190115" + }, + "customInfo": { + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName" + } + }, + "domainInfo": { + "joinType": "ActiveDirectory", + "activeDirectoryInfo": { + "domainCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "ouPath": "OU=testOU,DC=domain,DC=Domain,DC=com", + "domainName": "wvdarmtest1.net" + }, + "azureActiveDirectoryInfo": { + "mdmProviderGuid": "bdefabc0-95b4-48b3-b645-8a753a63c4fa" + } + }, + "securityInfo": { + "type": "TrustedLaunch", + "secureBootEnabled": true, + "vTpmEnabled": true + }, + "vmAdminCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "bootDiagnosticsInfo": { + "enabled": true, + "storageUri": "https://myStorageAccountName.blob.core.windows.net" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostConfigurations_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostConfigurations_ListByHostPool.json new file mode 100644 index 000000000000..96bae3dcd620 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostConfigurations_ListByHostPool.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "default", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostConfigurations/default", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHostConfigurations", + "systemData": { + "createdBy": "user2", + "createdByType": "User", + "createdAt": "2020-02-01T17:18:19.1234567Z", + "lastModifiedBy": "user3", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-02-02T17:18:19.1234567Z" + }, + "properties": { + "version": "2022-10-21T17:18:19.1234567Z", + "friendlyName": "InitialConfiguration", + "provisioningState": "Provisioning", + "vmTags": { + "Department": "myDepartment", + "Team": "myTeam" + }, + "vmLocation": "westus2", + "vmResourceGroup": "myResourceGroup", + "vmNamePrefix": "westus2-vm", + "availabilityZones": [ + 1, + 3 + ], + "networkInfo": { + "subnetId": "/subscriptions/.../resourceGroups/.../providers/Microsoft.Network/virtualNetworks/.../subnets/subnet1", + "securityGroupId": "/subscriptions/.../resourceGroups/.../provider s/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "vmSizeId": "Standard_D2s_v3", + "diskInfo": { + "type": "Standard_LRS" + }, + "customConfigurationScriptUrl": "https://storageaccountname.blob.core.windows.net/blobcontainer/file", + "imageInfo": { + "type": "Marketplace", + "marketplaceInfo": { + "offer": "Windows-10", + "publisher": "MicrosoftWindowsDesktop", + "sku": "19h2-ent", + "exactVersion": "2019.0.20190115" + }, + "customInfo": { + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName" + } + }, + "domainInfo": { + "joinType": "ActiveDirectory", + "activeDirectoryInfo": { + "domainCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "ouPath": "OU=testOU,DC=domain,DC=Domain,DC=com", + "domainName": "wvdarmtest1.net" + }, + "azureActiveDirectoryInfo": { + "mdmProviderGuid": "bdefabc0-95b4-48b3-b645-8a753a63c4fa" + } + }, + "securityInfo": { + "type": "TrustedLaunch", + "secureBootEnabled": true, + "vTpmEnabled": true + }, + "vmAdminCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "bootDiagnosticsInfo": { + "enabled": true, + "storageUri": "https://myStorageAccountName.blob.core.windows.net" + } + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostConfigurations_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostConfigurations_Update.json new file mode 100644 index 000000000000..1875eadb8679 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostConfigurations_Update.json @@ -0,0 +1,157 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview", + "sessionHostConfiguration": { + "properties": { + "friendlyName": "Second Version, Updated Location", + "vmTags": { + "Department": "myDepartment", + "Team": "myTeam" + }, + "vmLocation": "eastus2", + "vmResourceGroup": "myResourceGroup", + "vmNamePrefix": "westus2-vm", + "availabilityZones": [ + 1, + 3 + ], + "networkInfo": { + "subnetId": "/subscriptions/.../resourceGroups/.../providers/Microsoft.Network/virtualNetworks/.../subnets/subnet1", + "securityGroupId": "/subscriptions/.../resourceGroups/.../provider s/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "vmSizeId": "Standard_D2s_v3", + "diskInfo": { + "type": "Standard_LRS" + }, + "customConfigurationScriptUrl": "https://storageaccountname.blob.core.windows.net/blobcontainer/file", + "imageInfo": { + "type": "Marketplace", + "marketplaceInfo": { + "offer": "Windows-10", + "publisher": "MicrosoftWindowsDesktop", + "sku": "19h2-ent", + "exactVersion": "2019.0.20190115" + }, + "customInfo": { + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName" + } + }, + "domainInfo": { + "activeDirectoryInfo": { + "domainCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + } + } + }, + "securityInfo": { + "type": "TrustedLaunch", + "secureBootEnabled": true, + "vTpmEnabled": true + }, + "vmAdminCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "bootDiagnosticsInfo": { + "enabled": true, + "storageUri": "https://myStorageAccountName.blob.core.windows.net" + } + } + } + }, + "responses": { + "200": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostConfigurations/default/operationStatuses/ed5d502c-acaa-42ec-ad61-0d8488a9fd1d" + }, + "body": { + "name": "default", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostConfigurations/default", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHostConfigurations", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "version": "2022-10-21T17:18:19.1234567Z", + "friendlyName": "InitialConfiguration", + "provisioningState": "Provisioning", + "vmTags": { + "Department": "myDepartment", + "Team": "myTeam" + }, + "vmLocation": "eastus2", + "vmResourceGroup": "myResourceGroup", + "vmNamePrefix": "westus2-vm", + "availabilityZones": [ + 1, + 3 + ], + "networkInfo": { + "subnetId": "/subscriptions/.../resourceGroups/.../providers/Microsoft.Network/virtualNetworks/.../subnets/subnet1", + "securityGroupId": "/subscriptions/.../resourceGroups/.../provider s/Microsoft.Network/networkSecurityGroups/nsg1" + }, + "vmSizeId": "Standard_D2s_v3", + "diskInfo": { + "type": "Standard_LRS" + }, + "customConfigurationScriptUrl": "https://storageaccountname.blob.core.windows.net/blobcontainer/file", + "imageInfo": { + "type": "Marketplace", + "marketplaceInfo": { + "offer": "Windows-10", + "publisher": "MicrosoftWindowsDesktop", + "sku": "19h2-ent", + "exactVersion": "2019.0.20190115" + }, + "customInfo": { + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/images/imageName" + } + }, + "domainInfo": { + "joinType": "ActiveDirectory", + "activeDirectoryInfo": { + "domainCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "ouPath": "OU=testOU,DC=domain,DC=Domain,DC=com", + "domainName": "wvdarmtest1.net" + }, + "azureActiveDirectoryInfo": { + "mdmProviderGuid": "bdefabc0-95b4-48b3-b645-8a753a63c4fa" + } + }, + "securityInfo": { + "type": "TrustedLaunch", + "secureBootEnabled": true, + "vTpmEnabled": true + }, + "vmAdminCredentials": { + "usernameKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/myusername", + "passwordKeyVaultSecretUri": "https://myvault.vault.azure.net/secrets/mysecretname" + }, + "bootDiagnosticsInfo": { + "enabled": true, + "storageUri": "https://myStorageAccountName.blob.core.windows.net" + } + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostConfigurations/default/operationResults/ed5d502c-acaa-42ec-ad61-0d8488a9fd1d", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostConfigurations/default/operationStatuses/ed5d502c-acaa-42ec-ad61-0d8488a9fd1d", + "Retry-After": "60" + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_ControlSessionHostUpdate_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_ControlSessionHostUpdate_Post.json new file mode 100644 index 000000000000..ca6d7252f45a --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_ControlSessionHostUpdate_Post.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview", + "hostPoolUpdateControlParameter": { + "action": "Start", + "cancelMessage": "Host pool update started" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostManagements/default/operationResults/ed5d502c-acaa-42ec-ad61-0d8488a9fd1d", + "Retry-After": "60" + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_Create.json new file mode 100644 index 000000000000..b4076c661c36 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_Create.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview", + "sessionHostManagement": { + "properties": { + "scheduledDateTimeZone": "Alaskan Standard Time", + "update": { + "deleteOriginalVm": true, + "maxVmsRemoved": 4, + "logOffDelayMinutes": 10, + "logOffMessage": "logging off for hostpool update" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostManagements/default", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHostManagements", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "scheduledDateTimeZone": "Alaskan Standard Time", + "update": { + "deleteOriginalVm": true, + "maxVmsRemoved": 4, + "logOffDelayMinutes": 10, + "logOffMessage": "logging off for hostpool update" + } + } + } + }, + "201": { + "body": { + "name": "default", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostManagements/default", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHostManagements", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "scheduledDateTimeZone": "Alaskan Standard Time", + "update": { + "deleteOriginalVm": true, + "maxVmsRemoved": 4, + "logOffDelayMinutes": 10, + "logOffMessage": "logging off for hostpool update" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_Get.json new file mode 100644 index 000000000000..1d85bd130d62 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_Get.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostManagements/default/operationResults/ed5d502c-acaa-42ec-ad61-0d8488a9fd1d" + }, + "body": { + "name": "default", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostManagements/default", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHostManagements", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "scheduledDateTimeZone": "Alaskan Standard Time", + "update": { + "deleteOriginalVm": true, + "maxVmsRemoved": 4, + "logOffDelayMinutes": 10, + "logOffMessage": "logging off for hostpool update" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_ListByHostPool.json new file mode 100644 index 000000000000..0a6d8447b941 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_ListByHostPool.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "default", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostManagements/default", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHostManagements", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "scheduledDateTimeZone": "Alaskan Standard Time", + "update": { + "deleteOriginalVm": true, + "maxVmsRemoved": 4, + "logOffDelayMinutes": 10, + "logOffMessage": "logging off for hostpool update" + } + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_Update.json new file mode 100644 index 000000000000..2e75f52a3a8e --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_Update.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview", + "sessionHostManagement": { + "properties": { + "scheduledDateTimeZone": "Alaskan Standard Time", + "update": { + "deleteOriginalVm": true, + "maxVmsRemoved": 4, + "logOffDelayMinutes": 10, + "logOffMessage": "logging off for hostpool update" + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostManagements/default", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHostManagements", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "scheduledDateTimeZone": "Alaskan Standard Time", + "update": { + "deleteOriginalVm": true, + "maxVmsRemoved": 4, + "logOffDelayMinutes": 10, + "logOffMessage": "logging off for hostpool update" + } + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_UpdateSessionHosts_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_UpdateSessionHosts_Post.json new file mode 100644 index 000000000000..8f9a43afee34 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_UpdateSessionHosts_Post.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview", + "updateSessionHostsRequestBody": { + "scheduledDateTime": "2008-09-22T14:01:54.9571247Z", + "scheduledDateTimeZone": "Alaskan Standard Time", + "update": { + "deleteOriginalVm": true, + "maxVmsRemoved": 4, + "logOffDelayMinutes": 10, + "logOffMessage": "logging off for hostpool update" + } + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_UpdateStatus_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_UpdateStatus_Get.json new file mode 100644 index 000000000000..82234206f128 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHostManagements_UpdateStatus_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHostManagements/default/sessionHostUpdateStatuses/default", + "name": "30972f1b-b61d-4fd8-bd34-3dcfa24670f3", + "status": "Failed", + "startTime": "2020-10-26T13:45:39.6554616Z", + "endTime": "2020-10-26T13:45:42.7025301Z", + "percentComplete": 1.0, + "error": { + "code": "BadArgument", + "message": "The provided database 'foo' has an invalid username." + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHost_Delete.json new file mode 100644 index 000000000000..178d2903710c --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHost_Delete.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2024-04-08-preview", + "force": true + }, + "responses": { + "200": { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "lastSessionHostUpdateTime": "2021-01-14T02:09:37.6236843Z", + "sessionHostConfiguration": "2021-01-14T02:09:37.6236843Z", + "friendlyName": "friendly", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1", + "sessionHostHealthCheckResults": [ + { + "healthCheckName": "DomainJoinedCheck", + "healthCheckResult": "HealthCheckSucceeded", + "additionalFailureDetails": { + "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥", + "errorCode": 0, + "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z" + } + } + ] + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHost_Get.json new file mode 100644 index 000000000000..436fc0732846 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHost_Get.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "lastSessionHostUpdateTime": "2021-01-14T02:09:37.6236843Z", + "sessionHostConfiguration": "2021-01-14T02:09:37.6236843Z", + "friendlyName": "friendly", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1", + "sessionHostHealthCheckResults": [ + { + "healthCheckName": "DomainJoinedCheck", + "healthCheckResult": "HealthCheckSucceeded", + "additionalFailureDetails": { + "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥", + "errorCode": 0, + "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z" + } + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHost_List.json new file mode 100644 index 000000000000..a6c2d07453e2 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHost_List.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "lastSessionHostUpdateTime": "2021-01-14T02:09:37.6236843Z", + "sessionHostConfiguration": "2021-01-14T02:09:37.6236843Z", + "friendlyName": "friendly", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1", + "sessionHostHealthCheckResults": [ + { + "healthCheckName": "DomainJoinedCheck", + "healthCheckResult": "HealthCheckSucceeded", + "additionalFailureDetails": { + "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥", + "errorCode": 0, + "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z" + } + } + ] + } + }, + { + "name": "sessionHost2.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost2microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "lastHeartBeat": "2008-09-22T14:01:54.9571247Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user2@microsoft.com", + "status": "Available", + "statusTimestamp": "2008-09-22T14:01:54.9571247Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef", + "lastSessionHostUpdateTime": "2021-01-14T02:09:37.6236843Z", + "sessionHostConfiguration": "2021-01-14T02:09:37.6236843Z", + "friendlyName": "friendly", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2", + "sessionHostHealthCheckResults": [ + { + "healthCheckName": "DomainJoinedCheck", + "healthCheckResult": "HealthCheckSucceeded", + "additionalFailureDetails": { + "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥", + "errorCode": 0, + "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z" + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHost_RetryProvisioning_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHost_RetryProvisioning_Post.json new file mode 100644 index 000000000000..acf09cb75835 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHost_RetryProvisioning_Post.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHost_Update.json new file mode 100644 index 000000000000..37abf69961f1 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/SessionHost_Update.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2024-04-08-preview", + "force": true, + "sessionHost": { + "properties": { + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "sessionHost1.microsoft.com", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionhosts", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "lastHeartBeat": "2019-01-11T19:27:13.6108027Z", + "sessions": 1, + "agentVersion": "1.0.0.1391", + "allowNewSession": true, + "assignedUser": "user1@microsoft.com", + "status": "Available", + "statusTimestamp": "2019-01-24T20:00:08.2893033Z", + "osVersion": "10.0.17763", + "sxSStackVersion": "rdp-sxs190816002", + "updateState": "Succeeded", + "lastUpdateTime": "2008-09-22T14:01:54.9571247Z", + "updateErrorMessage": "", + "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef", + "lastSessionHostUpdateTime": "2021-01-14T02:09:37.6236843Z", + "sessionHostConfiguration": "2021-01-14T02:09:37.6236843Z", + "friendlyName": "friendly", + "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1", + "sessionHostHealthCheckResults": [ + { + "healthCheckName": "DomainJoinedCheck", + "healthCheckResult": "HealthCheckSucceeded", + "additionalFailureDetails": { + "message": "SessionHost healthy: is joined to domain ≤wvdarmtest1.net≥", + "errorCode": 0, + "lastHealthCheckDateTime": "2021-01-14T02:09:37.6236843Z" + } + } + ] + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/StartMenuItem_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/StartMenuItem_List.json new file mode 100644 index 000000000000..c022e604c63b --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/StartMenuItem_List.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "applicationGroupName": "applicationGroup1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "application1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application1", + "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems", + "properties": { + "appAlias": "word", + "filePath": "/path/to/file", + "commandLineArguments": "arguments", + "iconPath": "/path/to/icon", + "iconIndex": 1 + } + }, + { + "name": "application2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/startMenuItem/application2", + "type": "Microsoft.DesktopVirtualization/applicationGroups/startMenuItems", + "properties": { + "appAlias": "excel", + "filePath": "/path/to/file", + "commandLineArguments": "arguments", + "iconPath": "/path/to/icon", + "iconIndex": 1 + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_Delete.json new file mode 100644 index 000000000000..b20b2558d635 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_Delete.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2024-04-08-preview", + "force": true + }, + "responses": { + "200": { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_Disconnect_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_Disconnect_Post.json new file mode 100644 index 000000000000..98093092b730 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_Disconnect_Post.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_Get.json new file mode 100644 index 000000000000..df0ed5840c17 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_List.json new file mode 100644 index 000000000000..3d9c61f1f1b3 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_List.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "api-version": "2024-04-08-preview", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + }, + { + "name": "2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_ListByHostPool.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_ListByHostPool.json new file mode 100644 index 000000000000..09fa6b989dcd --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_ListByHostPool.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "api-version": "2024-04-08-preview", + "$filter": "userPrincipalName eq 'user1@microsoft.com' and state eq 'active'", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/1", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + }, + { + "name": "2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/hostPools/hostPool1/sessionHosts/sessionHost1.microsoft.com/userSessions/2", + "type": "Microsoft.DesktopVirtualization/hostPools/sessionHosts/userSessions", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "userPrincipalName": "user1@microsoft.com", + "applicationType": "Desktop", + "sessionState": "Active", + "activeDirectoryUserName": "WVDARM\\user1", + "createTime": "2008-09-22T14:01:54.9571247Z" + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_SendMessage_Post.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_SendMessage_Post.json new file mode 100644 index 000000000000..8ceacdd98413 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/UserSession_SendMessage_Post.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "hostPoolName": "hostPool1", + "sessionHostName": "sessionHost1.microsoft.com", + "userSessionId": "1", + "api-version": "2024-04-08-preview", + "sendMessage": { + "messageTitle": "title", + "messageBody": "body" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_Create.json new file mode 100644 index 000000000000..27a8a04baed0 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_Create.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2024-04-08-preview", + "workspace": { + "location": "centralus", + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + } + }, + "201": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_Delete.json new file mode 100644 index 000000000000..a0d57540f4f9 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_Delete.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + }, + "204": {} + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_Get.json new file mode 100644 index 000000000000..381ca8daffef --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_Get.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2024-04-08-preview" + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_ListByResourceGroup.json new file mode 100644 index 000000000000..12c2e990f991 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_ListByResourceGroup.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "api-version": "2024-04-08-preview", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + }, + { + "name": "workspace2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_ListBySubscription.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_ListBySubscription.json new file mode 100644 index 000000000000..242f86982475 --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_ListBySubscription.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "api-version": "2024-04-08-preview", + "pageSize": 10, + "isDescending": true, + "initialSkip": 0 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + }, + { + "name": "workspace2", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace2", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + } + ] + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_Update.json new file mode 100644 index 000000000000..3fe912c624ab --- /dev/null +++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2024-04-08-preview/examples/Workspace_Update.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa", + "resourceGroupName": "resourceGroup1", + "workspaceName": "workspace1", + "api-version": "2024-04-08-preview", + "workspace": { + "tags": { + "tag1": "value1", + "tag2": "value2" + }, + "properties": { + "description": "des1", + "friendlyName": "friendly" + } + } + }, + "responses": { + "200": { + "body": { + "name": "workspace1", + "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/workspaces/workspace1", + "type": "Microsoft.DesktopVirtualization/workspaces", + "location": "centralus", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-01-01T17:18:19.1234567Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-02T17:18:19.1234567Z" + }, + "properties": { + "objectId": "7877fb31-4bde-49fd-9df3-c046e0ec5325", + "description": "des1", + "friendlyName": "friendly", + "cloudPcResource": false + } + } + } + } +} diff --git a/specification/desktopvirtualization/resource-manager/readme.md b/specification/desktopvirtualization/resource-manager/readme.md index 54bad6e5fc53..c3fd9598a910 100644 --- a/specification/desktopvirtualization/resource-manager/readme.md +++ b/specification/desktopvirtualization/resource-manager/readme.md @@ -26,10 +26,37 @@ These are the global settings for the DesktopVirtualizationClient API. ``` yaml openapi-type: arm -tag: package-2024-04 +tag: package-preview-2024-04 ``` +### Tag: package-preview-2024-04 + +These settings apply only when `--tag=package-preview-2024-04` is specified on the command line. + +```yaml $(tag) == 'package-preview-2024-04' +input-file: + - Microsoft.DesktopVirtualization/preview/2024-04-08-preview/desktopvirtualization.json +suppressions: + - code: AvoidAdditionalProperties + from: desktopvirtualization.json + reason: False postive -> additionalProperties showing in the nested object properties, not at the top level. E.g. "object.vmTags.additionalProperties" and not "object.additionalProperties". We cannot manually exclude using where clauses because of an active bug on this rule. When this is fixed, we should be able to add a (single) where clause. + - code: XmsPageableForListCalls + from: desktopvirtualization.json + reason: False postive -> we have a singleton element in the collection, per recommendation from ARM API review, meaning that we will never return a collection hence no need for such list annotations. Learn more about this (approved) scenario @ ARM RPC Guidance https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#singleton-resources + where: + - $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements/default'].* + - $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements/default/sessionHostUpdateStatuses/default'].* + - $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostConfigurations/default'].* + - $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/activeSessionHostConfigurations/default'].* + - code: EvenSegmentedPathForPutOperation + from: desktopvirtualization.json + reason: False postive -> we have a singleton element in the collection, per recommendation from ARM API review, meaning that we won't have an "even" number of segments. Learn more about this (approved) scenario @ ARM RPC Guidance https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/common-api-contracts.md#singleton-resources + where: + - $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostManagements/default'] + - $.paths['/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHostConfigurations/default'] +``` + ### Tag: package-2024-04 These settings apply only when `--tag=package-2024-04` is specified on the command line. diff --git a/specification/devcenter/DevCenter/DevBox/models.tsp b/specification/devcenter/DevCenter/DevBox/models.tsp index 93179a31531c..63b0321adbda 100644 --- a/specification/devcenter/DevCenter/DevBox/models.tsp +++ b/specification/devcenter/DevCenter/DevBox/models.tsp @@ -408,18 +408,18 @@ model Pool { imageReference?: ImageReference; @doc(""" -Indicates whether owners of Dev Boxes in this pool are local administrators on -the Dev Boxes. -""") + Indicates whether owners of Dev Boxes in this pool are local administrators on + the Dev Boxes. + """) localAdministrator?: LocalAdminStatus; @doc("Stop on disconnect configuration settings for Dev Boxes created in this pool.") stopOnDisconnect?: StopOnDisconnectConfiguration; @doc(""" -Overall health status of the Pool. Indicates whether or not the Pool is -available to create Dev Boxes. -""") + Overall health status of the Pool. Indicates whether or not the Pool is + available to create Dev Boxes. + """) healthStatus: PoolHealthStatus; @doc("Display name of the pool.") @@ -484,15 +484,15 @@ model ImageReference { @doc("Stop on disconnect configuration settings for Dev Boxes created in this pool.") model StopOnDisconnectConfiguration { @doc(""" -Indicates whether the feature to stop the devbox on disconnect once the grace -period has lapsed is enabled. -""") + Indicates whether the feature to stop the devbox on disconnect once the grace + period has lapsed is enabled. + """) status: StopOnDisconnectEnableStatus; @doc(""" -The specified time in minutes to wait before stopping a Dev Box once disconnect -is detected. -""") + The specified time in minutes to wait before stopping a Dev Box once disconnect + is detected. + """) gracePeriodMinutes?: int32; } @@ -575,9 +575,9 @@ model DevBox { provisioningState?: DevBoxProvisioningState; @doc(""" -The current action state of the Dev Box. This is state is based on previous -action performed by user. -""") + The current action state of the Dev Box. This is state is based on previous + action performed by user. + """) @visibility("read") actionState?: string; @@ -586,9 +586,9 @@ action performed by user. powerState?: PowerState; @doc(""" -A unique identifier for the Dev Box. This is a GUID-formatted string (e.g. -00000000-0000-0000-0000-000000000000). -""") + A unique identifier for the Dev Box. This is a GUID-formatted string (e.g. + 00000000-0000-0000-0000-000000000000). + """) @visibility("read") uniqueId?: Azure.Core.uuid; @@ -597,9 +597,9 @@ A unique identifier for the Dev Box. This is a GUID-formatted string (e.g. error?: Azure.Core.Foundations.Error; @doc(""" -Azure region where this Dev Box is located. This will be the same region as the -Virtual Network it is attached to. -""") + Azure region where this Dev Box is located. This will be the same region as the + Virtual Network it is attached to. + """) @visibility("read") location?: Azure.Core.azureLocation; @@ -923,10 +923,10 @@ model CustomizationTaskListValidationError { @added(APIVersions.v2024_05_01_preview) model CustomizationGroup { @doc(""" - Tasks to apply. Note by default tasks are excluded from the response when - listing customization groups. To include them, use the `include=tasks` query - parameter. - """) + Tasks to apply. Note by default tasks are excluded from the response when + listing customization groups. To include them, use the `include=tasks` query + parameter. + """) tasks?: CustomizationTask[]; @doc("The unique URI of the customization group.") diff --git a/specification/devcenter/DevCenter/DevBox/routes.tsp b/specification/devcenter/DevCenter/DevBox/routes.tsp index 1d84033630ad..7b1b78069f00 100644 --- a/specification/devcenter/DevCenter/DevBox/routes.tsp +++ b/specification/devcenter/DevCenter/DevBox/routes.tsp @@ -265,9 +265,9 @@ interface DevBoxes { >; @doc(""" - Lists customization groups on the Dev Box. Listed customization groups exclude - task information unless specified via the include parameter. - """) + Lists customization groups on the Dev Box. Listed customization groups exclude + task information unless specified via the include parameter. + """) @added(APIVersions.v2024_05_01_preview) listCustomizationGroups is StandardResourceOperations.ResourceList< CustomizationGroup, @@ -279,8 +279,8 @@ interface DevBoxes { >; @doc(""" - Gets a customization group. - """) + Gets a customization group. + """) @added(APIVersions.v2024_05_01_preview) getCustomizationGroup is StandardResourceOperations.ResourceRead; @@ -309,9 +309,9 @@ interface DevBoxes { projectName: string; @doc(""" - The AAD object id of the user. If value is 'me', the identity is taken from the - authentication context. - """) + The AAD object id of the user. If value is 'me', the identity is taken from the + authentication context. + """) @maxLength(36) @minLength(2) @pattern("^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$") @@ -354,9 +354,9 @@ interface DevBoxes { projectName: string; @doc(""" - The AAD object id of the user. If value is 'me', the identity is taken from the - authentication context. - """) + The AAD object id of the user. If value is 'me', the identity is taken from the + authentication context. + """) @maxLength(36) @minLength(2) @pattern("^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$") diff --git a/specification/devcenter/DevCenter/DevCenter/routes.tsp b/specification/devcenter/DevCenter/DevCenter/routes.tsp index 8bbdeab5cd1d..b1fc6f9bcf21 100644 --- a/specification/devcenter/DevCenter/DevCenter/routes.tsp +++ b/specification/devcenter/DevCenter/DevCenter/routes.tsp @@ -32,9 +32,9 @@ interface DevCenter { projectName: string; @doc(""" - The AAD object id of the user. If value is 'me', the identity is taken from the - authentication context. - """) + The AAD object id of the user. If value is 'me', the identity is taken from the + authentication context. + """) @maxLength(36) @minLength(2) @pattern("^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$") diff --git a/specification/devcenter/DevCenter/Environments/models.tsp b/specification/devcenter/DevCenter/Environments/models.tsp index 42d07d34e076..06b7c1b03cef 100644 --- a/specification/devcenter/DevCenter/Environments/models.tsp +++ b/specification/devcenter/DevCenter/Environments/models.tsp @@ -225,9 +225,9 @@ alias EnvironmentUpdateProperties = { alias EnvironmentPatchProperties = { @doc(""" - The time the expiration date will be triggered (UTC), after which the - environment and associated resources will be deleted. - """) + The time the expiration date will be triggered (UTC), after which the + environment and associated resources will be deleted. + """) @added(APIVersions.v2024_02_01) expirationDate?: utcDateTime; }; @@ -401,15 +401,15 @@ model EnvironmentDefinitionParameter { default?: string; @doc(""" -A string of one of the basic JSON types (number, integer, array, object, -boolean, string). -""") + A string of one of the basic JSON types (number, integer, array, object, + boolean, string). + """) type: ParameterType; @doc(""" -Whether or not this parameter is read-only. If true, default should have a -value. -""") + Whether or not this parameter is read-only. If true, default should have a + value. + """) readOnly?: boolean; @doc("Whether or not this parameter is required.") @@ -439,10 +439,10 @@ model EnvironmentType { name: string; @doc(""" -Id of a subscription or management group that the environment type will be -mapped to. The environment's resources will be deployed into this subscription -or management group. -""") + Id of a subscription or management group that the environment type will be + mapped to. The environment's resources will be deployed into this subscription + or management group. + """) deploymentTargetId: string; @doc("Indicates whether this environment type is enabled for use in this project.") diff --git a/specification/devcenter/DevCenter/Environments/routes.tsp b/specification/devcenter/DevCenter/Environments/routes.tsp index 47970641d893..f88a5386ca96 100644 --- a/specification/devcenter/DevCenter/Environments/routes.tsp +++ b/specification/devcenter/DevCenter/Environments/routes.tsp @@ -385,9 +385,9 @@ interface Environments { environmentTypeName: string; @doc(""" - The AAD object id of the user. If value is 'me', the identity is taken from the - authentication context. - """) + The AAD object id of the user. If value is 'me', the identity is taken from the + authentication context. + """) @maxLength(36) @minLength(2) @pattern("^[a-zA-Z0-9]{8}-([a-zA-Z0-9]{4}-){3}[a-zA-Z0-9]{12}$|^me$") diff --git a/specification/devcenter/DevCenter/shared/models.tsp b/specification/devcenter/DevCenter/shared/models.tsp index 5c11d664a453..e15a428d5b3e 100644 --- a/specification/devcenter/DevCenter/shared/models.tsp +++ b/specification/devcenter/DevCenter/shared/models.tsp @@ -70,9 +70,9 @@ model Project { description?: string; @doc(""" -When specified, indicates the maximum number of Dev Boxes a single user can -create across all pools in the project. -""") + When specified, indicates the maximum number of Dev Boxes a single user can + create across all pools in the project. + """) @minValue(0) maxDevBoxesPerUser?: int32; diff --git a/specification/devcenter/DevCenter/tspconfig.yaml b/specification/devcenter/DevCenter/tspconfig.yaml index c30cb2134bc5..4aec9f6a6a96 100644 --- a/specification/devcenter/DevCenter/tspconfig.yaml +++ b/specification/devcenter/DevCenter/tspconfig.yaml @@ -8,6 +8,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." output-file: "{azure-resource-provider-folder}/Microsoft.DevCenter/{version-status}/{version}/devcenter.json" examples-directory: "{project-root}/examples" @@ -33,6 +34,7 @@ options: description: "Azure Developer DevCenter Client" version: "1.0.0" flavor: azure + api-version: "2023-04-01" "@azure-tools/typespec-java": package-dir: "azure-developer-devcenter" namespace: com.azure.developer.devcenter diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/commonDefinitions.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/commonDefinitions.json new file mode 100644 index 000000000000..b5445a6169d9 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/commonDefinitions.json @@ -0,0 +1,170 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-06-01-preview", + "title": "DevCenter", + "description": "DevCenter Management 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": {}, + "definitions": { + "Capability": { + "description": "A name/value pair to describe a capability.", + "type": "object", + "properties": { + "name": { + "description": "Name of the capability.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Value of the capability.", + "type": "string", + "readOnly": true + } + } + }, + "TrackedResourceUpdate": { + "description": "Base tracked resource type for PATCH updates", + "type": "object", + "properties": { + "tags": { + "$ref": "#/definitions/Tags", + "description": "Resource tags." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + } + } + }, + "Tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "DevCenterSku": { + "description": "The resource model definition representing SKU for DevCenter resources", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Sku" + } + ], + "properties": { + "resourceType": { + "type": "string", + "description": "The name of the resource type", + "readOnly": true + }, + "locations": { + "description": "SKU supported locations.", + "type": "array", + "readOnly": true, + "items": { + "type": "string" + } + }, + "capabilities": { + "description": "Collection of name/value pairs to describe the SKU capabilities.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Capability" + }, + "x-ms-identifiers": [] + } + }, + "required": [ + "name" + ] + }, + "ProvisioningState": { + "type": "string", + "description": "Provisioning state of the resource.", + "enum": [ + "NotSpecified", + "Accepted", + "Running", + "Creating", + "Created", + "Updating", + "Updated", + "Deleting", + "Deleted", + "Succeeded", + "Failed", + "Canceled", + "MovingResources", + "TransientFailure", + "RolloutInProgress", + "StorageProvisioningFailed" + ], + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + }, + "parameters": { + "ProjectNameParameter": { + "name": "projectName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the project.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "TopParameter": { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'.", + "type": "integer", + "format": "int32", + "required": false, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/devcenter.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/devcenter.json new file mode 100644 index 000000000000..a20f88602595 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/devcenter.json @@ -0,0 +1,7236 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-06-01-preview", + "title": "DevCenter", + "description": "DevCenter Management 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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/plans": { + "get": { + "tags": [ + "Plans" + ], + "description": "Lists all devcenter plans in a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Plans_ListBySubscription", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PlanListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_ListBySubscription": { + "$ref": "./examples/Plans_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/plans": { + "get": { + "tags": [ + "Plans" + ], + "description": "Lists all devcenter plans in a 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" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Plans_ListByResourceGroup", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PlanListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_ListByResourceGroup": { + "$ref": "./examples/Plans_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/plans/{planName}": { + "get": { + "tags": [ + "Plans" + ], + "description": "Gets a devcenter plan.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + } + ], + "operationId": "Plans_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_Get": { + "$ref": "./examples/Plans_Get.json" + } + } + }, + "put": { + "tags": [ + "Plans" + ], + "description": "Creates or updates a devcenter plan resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a devcenter plan.", + "required": true, + "schema": { + "$ref": "#/definitions/DevCenterPlan" + } + } + ], + "operationId": "Plans_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterPlan" + } + }, + "201": { + "description": "Created. The request will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DevCenterPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_Create": { + "$ref": "./examples/Plans_Create.json" + } + } + }, + "patch": { + "tags": [ + "Plans" + ], + "description": "Partially updates a devcenter plan.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable devcenter plan properties.", + "required": true, + "schema": { + "$ref": "#/definitions/PlanUpdate" + } + } + ], + "operationId": "Plans_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterPlan" + } + }, + "202": { + "description": "Accepted. The request 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-examples": { + "Plans_Update": { + "$ref": "./examples/Plans_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Plans" + ], + "description": "Deletes a devcenter plan", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + } + ], + "operationId": "Plans_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_Delete": { + "$ref": "./examples/Plans_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/plans/{planName}/members": { + "get": { + "tags": [ + "Plans" + ], + "description": "Lists all of the members assigned to a devcenter plan.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "PlanMembers_List", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PlanMembersListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_ListByResourceGroup": { + "$ref": "./examples/PlanMembers_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/plans/{planName}/members/{memberName}": { + "get": { + "tags": [ + "Plans" + ], + "description": "Gets a devcenter plan member.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + }, + { + "$ref": "#/parameters/PlanMemberNameParameter" + } + ], + "operationId": "PlanMembers_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterPlanMember" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_Get": { + "$ref": "./examples/PlanMembers_Get.json" + } + } + }, + "put": { + "tags": [ + "Plans" + ], + "description": "Creates or updates a devcenter plan member resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + }, + { + "$ref": "#/parameters/PlanMemberNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a devcenter plan.", + "required": true, + "schema": { + "$ref": "#/definitions/DevCenterPlanMember" + } + } + ], + "operationId": "PlanMembers_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterPlanMember" + } + }, + "201": { + "description": "Created. The request will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DevCenterPlanMember" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_Create": { + "$ref": "./examples/PlanMembers_Create.json" + } + } + }, + "patch": { + "tags": [ + "Plans" + ], + "description": "Partially updates a devcenter plan.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + }, + { + "$ref": "#/parameters/PlanMemberNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable devcenter plan properties.", + "required": true, + "schema": { + "$ref": "#/definitions/PlanMemberUpdate" + } + } + ], + "operationId": "PlanMembers_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterPlanMember" + } + }, + "202": { + "description": "Accepted. The request 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-examples": { + "Plans_Update": { + "$ref": "./examples/PlanMembers_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Plans" + ], + "description": "Deletes a devcenter plan member", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + }, + { + "$ref": "#/parameters/PlanMemberNameParameter" + } + ], + "operationId": "PlanMembers_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_Delete": { + "$ref": "./examples/PlanMembers_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/devcenters": { + "get": { + "tags": [ + "DevCenters" + ], + "description": "Lists all devcenters in a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "DevCenters_ListBySubscription", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevCenters_ListBySubscription": { + "$ref": "./examples/DevCenters_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters": { + "get": { + "tags": [ + "DevCenters" + ], + "description": "Lists all devcenters in a 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" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "DevCenters_ListByResourceGroup", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevCenters_ListByResourceGroup": { + "$ref": "./examples/DevCenters_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}": { + "get": { + "tags": [ + "DevCenters" + ], + "description": "Gets a devcenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + } + ], + "operationId": "DevCenters_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevCenters_Get": { + "$ref": "./examples/DevCenters_Get.json" + } + } + }, + "put": { + "tags": [ + "DevCenters" + ], + "description": "Creates or updates a devcenter resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a devcenter.", + "required": true, + "schema": { + "$ref": "#/definitions/DevCenter" + } + } + ], + "operationId": "DevCenters_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenter" + } + }, + "201": { + "description": "Created. The request will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DevCenter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevCenters_Create": { + "$ref": "./examples/DevCenters_Create.json" + }, + "DevCenters_CreateWithPlanId": { + "$ref": "./examples/DevCenters_CreateWithPlanId.json" + }, + "DevCenters_CreateWithUserIdentity": { + "$ref": "./examples/DevCenters_CreateWithUserIdentity.json" + }, + "DevCenters_CreateWithEncryption": { + "$ref": "./examples/DevCenters_CreateWithEncryption.json" + }, + "DevCenters_CreateWithDisabledManagedNetworks": { + "$ref": "./examples/DevCenters_CreateWithDisabledManagedNetworks.json" + } + } + }, + "patch": { + "tags": [ + "DevCenters" + ], + "description": "Partially updates a devcenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable devcenter properties.", + "required": true, + "schema": { + "$ref": "#/definitions/DevCenterUpdate" + } + } + ], + "operationId": "DevCenters_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenter" + } + }, + "202": { + "description": "Accepted. The request 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-examples": { + "DevCenters_Update": { + "$ref": "./examples/DevCenters_Patch.json" + } + } + }, + "delete": { + "tags": [ + "DevCenters" + ], + "description": "Deletes a devcenter", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + } + ], + "operationId": "DevCenters_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevCenters_Delete": { + "$ref": "./examples/DevCenters_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/encryptionSets": { + "get": { + "tags": [ + "EncryptionSets" + ], + "description": "Lists all encryption sets in the devcenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "EncryptionSets_List", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EncryptionSetListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EncryptionSets_List": { + "$ref": "./examples/DevCenterEncryptionSets_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/encryptionSets/{encryptionSetName}": { + "get": { + "tags": [ + "EncryptionSets" + ], + "description": "Gets a devcenter encryption set.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/DevCenterEncryptionSetNameParameter" + } + ], + "operationId": "EncryptionSets_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterEncryptionSet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EncryptionSets_Get": { + "$ref": "./examples/DevCenterEncryptionSets_Get.json" + } + } + }, + "put": { + "tags": [ + "EncryptionSets" + ], + "description": "Creates or updates a devcenter encryption set resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/DevCenterEncryptionSetNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a devcenter encryption set.", + "required": true, + "schema": { + "$ref": "#/definitions/DevCenterEncryptionSet" + } + } + ], + "operationId": "EncryptionSets_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterEncryptionSet" + } + }, + "201": { + "description": "Created. The request will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DevCenterEncryptionSet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EncryptionSets_Create": { + "$ref": "./examples/DevCenterEncryptionSets_Create.json" + } + } + }, + "patch": { + "tags": [ + "EncryptionSets" + ], + "description": "Partially updates a devcenter encryption set.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/DevCenterEncryptionSetNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable devcenter encryption set properties.", + "required": true, + "schema": { + "$ref": "#/definitions/EncryptionSetUpdate" + } + } + ], + "operationId": "EncryptionSets_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterEncryptionSet" + } + }, + "202": { + "description": "Accepted. The request 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-examples": { + "EncryptionSets_Update": { + "$ref": "./examples/DevCenterEncryptionSets_Patch.json" + } + } + }, + "delete": { + "tags": [ + "EncryptionSets" + ], + "description": "Deletes a devcenter encryption set", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/DevCenterEncryptionSetNameParameter" + } + ], + "operationId": "EncryptionSets_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EncryptionSets_Delete": { + "$ref": "./examples/DevCenterEncryptionSets_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/projects": { + "get": { + "tags": [ + "Projects" + ], + "description": "Lists all projects in the subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Projects_ListBySubscription", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProjectListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Projects_ListBySubscription": { + "$ref": "./examples/Projects_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects": { + "get": { + "tags": [ + "Projects" + ], + "description": "Lists all projects in the 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" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Projects_ListByResourceGroup", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProjectListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Projects_ListByResourceGroup": { + "$ref": "./examples/Projects_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}": { + "get": { + "tags": [ + "Projects" + ], + "description": "Gets a specific project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + } + ], + "operationId": "Projects_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Projects_Get": { + "$ref": "./examples/Projects_Get.json" + } + } + }, + "put": { + "tags": [ + "Projects" + ], + "description": "Creates or updates a project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a project.", + "required": true, + "schema": { + "$ref": "#/definitions/Project" + } + } + ], + "operationId": "Projects_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "Succeeded", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "201": { + "description": "Accepted. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Projects_CreateOrUpdate": { + "$ref": "./examples/Projects_Put.json" + }, + "Projects_CreateOrUpdateWithLimitsPerDev": { + "$ref": "./examples/Projects_PutWithMaxDevBoxPerUser.json" + } + } + }, + "patch": { + "tags": [ + "Projects" + ], + "description": "Partially updates a project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable project properties.", + "required": true, + "schema": { + "$ref": "#/definitions/ProjectUpdate" + } + } + ], + "operationId": "Projects_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "Succeeded", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "202": { + "description": "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-examples": { + "Projects_Update": { + "$ref": "./examples/Projects_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Projects" + ], + "description": "Deletes a project resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + } + ], + "operationId": "Projects_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Projects_Delete": { + "$ref": "./examples/Projects_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/getInheritedSettings": { + "post": { + "tags": [ + "Projects" + ], + "description": "Gets applicable inherited settings for this project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + } + ], + "operationId": "Projects_GetInheritedSettings", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InheritedSettingsForProject" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Projects_GetInheritedSettings": { + "$ref": "./examples/Projects_GetInheritedSettings.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/attachednetworks": { + "get": { + "tags": [ + "Attached NetworkConnections." + ], + "description": "Lists the attached NetworkConnections for a Project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "AttachedNetworks_ListByProject", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AttachedNetworkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AttachedNetworks_ListByProject": { + "$ref": "./examples/AttachedNetworks_ListByProject.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/attachednetworks/{attachedNetworkConnectionName}": { + "get": { + "tags": [ + "Attached NetworkConnections" + ], + "description": "Gets an attached NetworkConnection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/AttachedNetworkConnectionNameParameter" + } + ], + "operationId": "AttachedNetworks_GetByProject", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AttachedNetworkConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AttachedNetworks_GetByProject": { + "$ref": "./examples/AttachedNetworks_GetByProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs": { + "get": { + "tags": [ + "Project Catalogs" + ], + "description": "Lists the catalogs associated with a project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "ProjectCatalogs_List", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CatalogListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectCatalogs_List": { + "$ref": "./examples/ProjectCatalogs_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}": { + "get": { + "tags": [ + "Project Catalogs" + ], + "description": "Gets an associated project catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "ProjectCatalogs_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectCatalogs_Get": { + "$ref": "./examples/ProjectCatalogs_Get.json" + } + } + }, + "put": { + "tags": [ + "Project Catalogs" + ], + "description": "Creates or updates a project catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a catalog.", + "required": true, + "schema": { + "$ref": "#/definitions/Catalog" + } + } + ], + "operationId": "ProjectCatalogs_CreateOrUpdate", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "201": { + "description": "Accepted. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ProjectCatalogs_CreateOrUpdateGitHub": { + "$ref": "./examples/ProjectCatalogs_CreateGitHub.json" + }, + "ProjectCatalogs_CreateOrUpdateAdo": { + "$ref": "./examples/ProjectCatalogs_CreateAdo.json" + } + } + }, + "patch": { + "tags": [ + "Project Catalogs" + ], + "description": "Partially updates a project catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable project catalog properties.", + "required": true, + "schema": { + "$ref": "#/definitions/CatalogUpdate" + } + } + ], + "operationId": "ProjectCatalogs_Patch", + "responses": { + "200": { + "description": "The resource was updated.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "202": { + "description": "The request 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": "azure-async-operation" + }, + "x-ms-examples": { + "ProjectCatalogs_Patch": { + "$ref": "./examples/ProjectCatalogs_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Project Catalogs" + ], + "description": "Deletes a project catalog resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "ProjectCatalogs_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectCatalogs_Delete": { + "$ref": "./examples/ProjectCatalogs_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/environmentDefinitions": { + "get": { + "tags": [ + "Environment Definitions" + ], + "description": "Lists the environment definitions in this project catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "EnvironmentDefinitions_ListByProjectCatalog", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentDefinitions_ListByProjectCatalog": { + "$ref": "./examples/EnvironmentDefinitions_ListByProjectCatalog.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentDefinitionNameParameter" + } + ], + "get": { + "tags": [ + "Environment Definitions" + ], + "description": "Gets an environment definition from the catalog.", + "operationId": "EnvironmentDefinitions_GetByProjectCatalog", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentDefinitions_GetByProjectCatalog": { + "$ref": "./examples/EnvironmentDefinitions_GetByProjectCatalog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}/getErrorDetails": { + "post": { + "tags": [ + "Environment Definitions" + ], + "description": "Gets Environment Definition error details", + "operationId": "ProjectCatalogEnvironmentDefinitions_GetErrorDetails", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentDefinitionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "vdi.json#/definitions/CatalogResourceValidationErrorDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectCatalogEnvironmentDefinitions_GetErrorDetails": { + "$ref": "./examples/ProjectCatalogEnvironmentDefinitions_GetErrorDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/getSyncErrorDetails": { + "post": { + "tags": [ + "Project Catalogs" + ], + "description": "Gets project catalog synchronization error details", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "ProjectCatalogs_GetSyncErrorDetails", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/SyncErrorDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectCatalogs_GetSyncErrorDetails": { + "$ref": "./examples/ProjectCatalogs_GetSyncErrorDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/sync": { + "post": { + "tags": [ + "Project Catalogs" + ], + "description": "Syncs templates for a template source.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "ProjectCatalogs_Sync", + "responses": { + "202": { + "description": "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": "azure-async-operation" + }, + "x-ms-examples": { + "ProjectCatalogs_Sync": { + "$ref": "./examples/ProjectCatalogs_Sync.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/connect": { + "post": { + "tags": [ + "Project Catalogs" + ], + "description": "Connects a project catalog to enable syncing.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "ProjectCatalogs_Connect", + "responses": { + "202": { + "description": "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": "azure-async-operation" + }, + "x-ms-examples": { + "ProjectCatalogs_Connect": { + "$ref": "./examples/ProjectCatalogs_Connect.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/galleries": { + "get": { + "tags": [ + "Galleries" + ], + "description": "Lists galleries for a devcenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Galleries_ListByDevCenter", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/GalleryListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Galleries_ListByDevCenter": { + "$ref": "./examples/Galleries_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/galleries/{galleryName}": { + "get": { + "tags": [ + "Galleries" + ], + "description": "Gets a gallery", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/GalleryNameParameter" + } + ], + "operationId": "Galleries_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Galleries_Get": { + "$ref": "./examples/Galleries_Get.json" + } + } + }, + "put": { + "tags": [ + "Galleries" + ], + "description": "Creates or updates a gallery.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/GalleryNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a gallery.", + "required": true, + "schema": { + "$ref": "#/definitions/Gallery" + } + } + ], + "operationId": "Galleries_CreateOrUpdate", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "201": { + "description": "Accepted. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Galleries_CreateOrUpdate": { + "$ref": "./examples/Galleries_Create.json" + } + } + }, + "delete": { + "tags": [ + "Galleries" + ], + "description": "Deletes a gallery resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/GalleryNameParameter" + } + ], + "operationId": "Galleries_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Galleries_Delete": { + "$ref": "./examples/Galleries_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/images": { + "get": { + "tags": [ + "Images" + ], + "description": "Lists images for a devcenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Images_ListByDevCenter", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Images_ListByDevCenter": { + "$ref": "./examples/Images_ListByDevCenter.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/galleries/{galleryName}/images": { + "get": { + "tags": [ + "Images" + ], + "description": "Lists images for a gallery.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/GalleryNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Images_ListByGallery", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Images_ListByGallery": { + "$ref": "./examples/Images_ListByGallery.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/galleries/{galleryName}/images/{imageName}": { + "get": { + "tags": [ + "Images" + ], + "description": "Gets a gallery image.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/GalleryNameParameter" + }, + { + "$ref": "#/parameters/ImageNameParameter" + } + ], + "operationId": "Images_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Images_Get": { + "$ref": "./examples/Images_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/galleries/{galleryName}/images/{imageName}/versions": { + "get": { + "tags": [ + "Image Versions" + ], + "description": "Lists versions for an image.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/GalleryNameParameter" + }, + { + "$ref": "#/parameters/ImageNameParameter" + } + ], + "operationId": "ImageVersions_ListByImage", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageVersionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ImageVersions_ListByImage": { + "$ref": "./examples/ImageVersions_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/galleries/{galleryName}/images/{imageName}/versions/{versionName}": { + "get": { + "tags": [ + "Image Versions" + ], + "description": "Gets an image 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/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/GalleryNameParameter" + }, + { + "$ref": "#/parameters/ImageNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + } + ], + "operationId": "ImageVersions_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Versions_Get": { + "$ref": "./examples/ImageVersions_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/images": { + "get": { + "tags": [ + "Images" + ], + "description": "Lists images for a project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + } + ], + "operationId": "Images_ListByProject", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Images_ListByProject": { + "$ref": "./examples/Images_ListByProject.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/images/{imageName}": { + "get": { + "tags": [ + "Images" + ], + "description": "Gets an image.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/ProjectImageNameParameter" + } + ], + "operationId": "Images_GetByProject", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Images_GetByProject": { + "$ref": "./examples/Images_GetByProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/images/{imageName}/versions": { + "get": { + "tags": [ + "Image Versions" + ], + "description": "Lists versions for an image.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/ProjectImageNameParameter" + } + ], + "operationId": "ImageVersions_ListByProject", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageVersionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ImageVersions_ListByProject": { + "$ref": "./examples/ImageVersions_ListByProject.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/images/{imageName}/versions/{versionName}": { + "get": { + "tags": [ + "Image Versions" + ], + "description": "Gets an image 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/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/ProjectImageNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + } + ], + "operationId": "ImageVersions_GetByProject", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ImageVersions_GetByProject": { + "$ref": "./examples/ImageVersions_GetByProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/listSkus": { + "post": { + "tags": [ + "Project SKUs" + ], + "description": "Lists SKUs available to the project", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + } + ], + "operationId": "Skus_ListByProject", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "vdi.json#/definitions/SkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Skus_ListByProject": { + "$ref": "./examples/Skus_ListByProject.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/attachednetworks": { + "get": { + "tags": [ + "Attached NetworkConnections." + ], + "description": "Lists the attached NetworkConnections for a DevCenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "AttachedNetworks_ListByDevCenter", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AttachedNetworkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AttachedNetworks_ListByDevCenter": { + "$ref": "./examples/AttachedNetworks_ListByDevCenter.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/attachednetworks/{attachedNetworkConnectionName}": { + "get": { + "tags": [ + "Attached NetworkConnections" + ], + "description": "Gets an attached NetworkConnection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/AttachedNetworkConnectionNameParameter" + } + ], + "operationId": "AttachedNetworks_GetByDevCenter", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AttachedNetworkConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AttachedNetworks_GetByDevCenter": { + "$ref": "./examples/AttachedNetworks_GetByDevCenter.json" + } + } + }, + "put": { + "tags": [ + "Attached NetworkConnections" + ], + "description": "Creates or updates an attached NetworkConnection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/AttachedNetworkConnectionNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents an attached NetworkConnection.", + "required": true, + "schema": { + "$ref": "#/definitions/AttachedNetworkConnection" + } + } + ], + "operationId": "AttachedNetworks_CreateOrUpdate", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AttachedNetworkConnection" + } + }, + "201": { + "description": "Accepted. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/AttachedNetworkConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "AttachedNetworks_Create": { + "$ref": "./examples/AttachedNetworks_Create.json" + } + } + }, + "delete": { + "tags": [ + "Attached NetworkConnections" + ], + "description": "Un-attach a NetworkConnection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/AttachedNetworkConnectionNameParameter" + } + ], + "operationId": "AttachedNetworks_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AttachedNetworks_Delete": { + "$ref": "./examples/AttachedNetworks_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs": { + "get": { + "tags": [ + "Catalogs" + ], + "description": "Lists catalogs for a devcenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Catalogs_ListByDevCenter", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CatalogListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_ListByDevCenter": { + "$ref": "./examples/Catalogs_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}": { + "get": { + "tags": [ + "Catalogs" + ], + "description": "Gets a catalog", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "Catalogs_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_Get": { + "$ref": "./examples/Catalogs_Get.json" + } + } + }, + "put": { + "tags": [ + "Catalogs" + ], + "description": "Creates or updates a catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a catalog.", + "required": true, + "schema": { + "$ref": "#/definitions/Catalog" + } + } + ], + "operationId": "Catalogs_CreateOrUpdate", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "201": { + "description": "Accepted. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Catalogs_CreateOrUpdateGitHub": { + "$ref": "./examples/Catalogs_CreateGitHub.json" + }, + "Catalogs_CreateOrUpdateAdo": { + "$ref": "./examples/Catalogs_CreateAdo.json" + } + } + }, + "patch": { + "tags": [ + "Catalogs" + ], + "description": "Partially updates a catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable catalog properties.", + "required": true, + "schema": { + "$ref": "#/definitions/CatalogUpdate" + } + } + ], + "operationId": "Catalogs_Update", + "responses": { + "200": { + "description": "The resource was updated.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "202": { + "description": "The request 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": "azure-async-operation" + }, + "x-ms-examples": { + "Catalogs_Update": { + "$ref": "./examples/Catalogs_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Catalogs" + ], + "description": "Deletes a catalog resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "Catalogs_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_Delete": { + "$ref": "./examples/Catalogs_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/getSyncErrorDetails": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "post": { + "tags": [ + "Catalogs" + ], + "description": "Gets catalog synchronization error details", + "operationId": "Catalogs_GetSyncErrorDetails", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/SyncErrorDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_GetSyncErrorDetails": { + "$ref": "./examples/Catalogs_GetSyncErrorDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/sync": { + "post": { + "tags": [ + "Catalogs" + ], + "description": "Syncs templates for a template source.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "Catalogs_Sync", + "responses": { + "202": { + "description": "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": "azure-async-operation" + }, + "x-ms-examples": { + "Catalogs_Sync": { + "$ref": "./examples/Catalogs_Sync.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/connect": { + "post": { + "tags": [ + "Catalogs" + ], + "description": "Connects a catalog to enable syncing.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "Catalogs_Connect", + "responses": { + "202": { + "description": "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": "azure-async-operation" + }, + "x-ms-examples": { + "Catalogs_Connect": { + "$ref": "./examples/Catalogs_Connect.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/environmentTypes": { + "get": { + "tags": [ + "Environment Types" + ], + "description": "Lists environment types for the devcenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "EnvironmentTypes_ListByDevCenter", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentTypeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentTypes_ListByDevCenter": { + "$ref": "./examples/EnvironmentTypes_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/environmentTypes/{environmentTypeName}": { + "get": { + "tags": [ + "Environment Types" + ], + "description": "Gets an environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + } + ], + "operationId": "EnvironmentTypes_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentTypes_Get": { + "$ref": "./examples/EnvironmentTypes_Get.json" + } + } + }, + "put": { + "tags": [ + "Environment Types" + ], + "description": "Creates or updates an environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents an Environment Type.", + "required": true, + "schema": { + "$ref": "#/definitions/EnvironmentType" + } + } + ], + "operationId": "EnvironmentTypes_CreateOrUpdate", + "responses": { + "200": { + "description": "Succeeded", + "schema": { + "$ref": "#/definitions/EnvironmentType" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EnvironmentType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentTypes_CreateOrUpdate": { + "$ref": "./examples/EnvironmentTypes_Put.json" + } + } + }, + "patch": { + "tags": [ + "Environment Types" + ], + "description": "Partially updates an environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable environment type properties.", + "required": true, + "schema": { + "$ref": "#/definitions/EnvironmentTypeUpdate" + } + } + ], + "operationId": "EnvironmentTypes_Update", + "responses": { + "200": { + "description": "The resource was updated.", + "schema": { + "$ref": "#/definitions/EnvironmentType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentTypes_Update": { + "$ref": "./examples/EnvironmentTypes_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Environment Types" + ], + "description": "Deletes an environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + } + ], + "operationId": "EnvironmentTypes_Delete", + "responses": { + "200": { + "description": "Resource was deleted." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentTypes_Delete": { + "$ref": "./examples/EnvironmentTypes_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/allowedEnvironmentTypes": { + "get": { + "tags": [ + "Environment Types" + ], + "description": "Lists allowed environment types for a project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "ProjectAllowedEnvironmentTypes_List", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AllowedEnvironmentTypeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectAllowedEnvironmentTypes_List": { + "$ref": "./examples/ProjectAllowedEnvironmentTypes_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/allowedEnvironmentTypes/{environmentTypeName}": { + "get": { + "tags": [ + "Environment Types" + ], + "description": "Gets an allowed environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + } + ], + "operationId": "ProjectAllowedEnvironmentTypes_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AllowedEnvironmentType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectAllowedEnvironmentTypes_Get": { + "$ref": "./examples/ProjectAllowedEnvironmentTypes_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/environmentTypes": { + "get": { + "tags": [ + "Environment Types" + ], + "description": "Lists environment types for a project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "ProjectEnvironmentTypes_List", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProjectEnvironmentTypeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectEnvironmentTypes_List": { + "$ref": "./examples/ProjectEnvironmentTypes_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/environmentTypes/{environmentTypeName}": { + "get": { + "tags": [ + "Environment Types" + ], + "description": "Gets a project environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + } + ], + "operationId": "ProjectEnvironmentTypes_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProjectEnvironmentType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectEnvironmentTypes_Get": { + "$ref": "./examples/ProjectEnvironmentTypes_Get.json" + } + } + }, + "put": { + "tags": [ + "Environment Types" + ], + "description": "Creates or updates a project environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a Project Environment Type.", + "required": true, + "schema": { + "$ref": "#/definitions/ProjectEnvironmentType" + } + } + ], + "operationId": "ProjectEnvironmentTypes_CreateOrUpdate", + "responses": { + "200": { + "description": "Succeeded", + "schema": { + "$ref": "#/definitions/ProjectEnvironmentType" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ProjectEnvironmentType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectEnvironmentTypes_CreateOrUpdate": { + "$ref": "./examples/ProjectEnvironmentTypes_Put.json" + } + } + }, + "patch": { + "tags": [ + "Environment Types" + ], + "description": "Partially updates a project environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable project environment type properties.", + "required": true, + "schema": { + "$ref": "#/definitions/ProjectEnvironmentTypeUpdate" + } + } + ], + "operationId": "ProjectEnvironmentTypes_Update", + "responses": { + "200": { + "description": "The resource was updated.", + "schema": { + "$ref": "#/definitions/ProjectEnvironmentType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectEnvironmentTypes_Update": { + "$ref": "./examples/ProjectEnvironmentTypes_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Environment Types" + ], + "description": "Deletes a project environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + } + ], + "operationId": "ProjectEnvironmentTypes_Delete", + "responses": { + "200": { + "description": "Resource was deleted." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectEnvironmentTypes_Delete": { + "$ref": "./examples/ProjectEnvironmentTypes_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/devboxdefinitions": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Dev Box Definitions" + ], + "description": "List Dev Box definitions for a devcenter.", + "operationId": "DevBoxDefinitions_ListByDevCenter", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBoxDefinitionListResult" + } + }, + "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" + }, + "x-ms-examples": { + "DevBoxDefinitions_ListByDevCenter": { + "$ref": "./examples/DevBoxDefinitions_ListByDevCenter.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/devboxdefinitions/{devBoxDefinitionName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/DevBoxDefinitionName" + } + ], + "get": { + "tags": [ + "Dev Box Definitions" + ], + "description": "Gets a Dev Box definition", + "operationId": "DevBoxDefinitions_Get", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBoxDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevBoxDefinitions_Get": { + "$ref": "./examples/DevBoxDefinitions_Get.json" + } + } + }, + "put": { + "tags": [ + "Dev Box Definitions" + ], + "description": "Creates or updates a Dev Box definition.", + "operationId": "DevBoxDefinitions_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents a Dev Box definition.", + "required": true, + "schema": { + "$ref": "#/definitions/DevBoxDefinition" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBoxDefinition" + } + }, + "201": { + "description": "Created. The operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DevBoxDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevBoxDefinitions_Create": { + "$ref": "./examples/DevBoxDefinitions_Create.json" + } + } + }, + "patch": { + "tags": [ + "Dev Box Definitions" + ], + "description": "Partially updates a Dev Box definition.", + "operationId": "DevBoxDefinitions_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents a Dev Box definition.", + "required": true, + "schema": { + "$ref": "#/definitions/DevBoxDefinitionUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBoxDefinition" + } + }, + "202": { + "description": "Accepted. The 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-examples": { + "DevBoxDefinitions_Patch": { + "$ref": "./examples/DevBoxDefinitions_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Dev Box Definitions" + ], + "description": "Deletes a Dev Box definition", + "operationId": "DevBoxDefinitions_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [], + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevBoxDefinitions_Delete": { + "$ref": "./examples/DevBoxDefinitions_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/devboxdefinitions": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Dev Box Definitions" + ], + "description": "List Dev Box definitions configured for a project.", + "operationId": "DevBoxDefinitions_ListByProject", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBoxDefinitionListResult" + } + }, + "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" + }, + "x-ms-examples": { + "DevBoxDefinitions_ListByProject": { + "$ref": "./examples/DevBoxDefinitions_ListByProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/devboxdefinitions/{devBoxDefinitionName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/DevBoxDefinitionName" + } + ], + "get": { + "tags": [ + "Dev Box Definitions" + ], + "description": "Gets a Dev Box definition configured for a project", + "operationId": "DevBoxDefinitions_GetByProject", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBoxDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevBoxDefinitions_GetByProject": { + "$ref": "./examples/DevBoxDefinitions_GetByProject.json" + } + } + } + }, + "/providers/Microsoft.DevCenter/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available resource provider 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": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Operations_Get": { + "$ref": "./examples/Operations_Get.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/locations/{location}/operationStatuses/{operationId}": { + "get": { + "description": "Gets the current status of an async operation.", + "operationId": "OperationStatuses_Get", + "summary": "Get Operation Status", + "tags": [ + "OperationStatus" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + } + ], + "responses": { + "200": { + "description": "The requested operation status", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "202": { + "description": "The requested operation status", + "headers": { + "Location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/OperationStatus_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/locations/{location}/usages": { + "get": { + "operationId": "Usages_ListByLocation", + "description": "Lists the current usages and limits in this location for the provided subscription.", + "tags": [ + "Usages" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + } + ], + "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/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listUsages": { + "$ref": "./examples/Usages_ListByLocation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailability" + ], + "operationId": "CheckNameAvailability_Execute", + "x-ms-examples": { + "NameAvailability": { + "$ref": "./examples/CheckNameAvailability.json" + } + }, + "description": "Check the availability of name for resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "nameAvailabilityRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityRequest" + }, + "description": "The required parameters for checking if resource name is available." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/checkScopedNameAvailability": { + "post": { + "tags": [ + "CheckScopedNameAvailability" + ], + "operationId": "CheckScopedNameAvailability_Execute", + "x-ms-examples": { + "DevcenterCatalogNameAvailability": { + "$ref": "./examples/CheckScopedNameAvailability_DevCenterCatalog.json" + }, + "ProjectCatalogNameAvailability": { + "$ref": "./examples/CheckScopedNameAvailability_ProjectCatalog.json" + } + }, + "description": "Check the availability of name for resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "nameAvailabilityRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckScopedNameAvailabilityRequest" + }, + "description": "The required parameters for checking if resource name is available." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Customization Tasks" + ], + "description": "List Tasks in the catalog.", + "operationId": "CustomizationTasks_ListByCatalog", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomizationTaskListResult" + } + }, + "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" + }, + "x-ms-examples": { + "CustomizationTasks_ListByCatalog": { + "$ref": "./examples/CustomizationTasks_ListByCatalog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks/{taskName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/CustomizationTaskNameParameter" + } + ], + "get": { + "tags": [ + "Customization Tasks" + ], + "description": "Gets a Task from the catalog", + "operationId": "CustomizationTasks_Get", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomizationTask" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CustomizationTasks_Get": { + "$ref": "./examples/CustomizationTasks_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks/{taskName}/getErrorDetails": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/CustomizationTaskNameParameter" + } + ], + "post": { + "tags": [ + "Customization Tasks" + ], + "description": "Gets Customization Task error details", + "operationId": "CustomizationTasks_GetErrorDetails", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "vdi.json#/definitions/CatalogResourceValidationErrorDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CustomizationTasks_GetErrorDetails": { + "$ref": "./examples/CustomizationTasks_GetErrorDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions": { + "get": { + "tags": [ + "Environment Definitions" + ], + "description": "List environment definitions in the catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "EnvironmentDefinitions_ListByCatalog", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentDefinitionListResult" + } + }, + "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" + }, + "x-ms-examples": { + "EnvironmentDefinitions_ListByCatalog": { + "$ref": "./examples/EnvironmentDefinitions_ListByCatalog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentDefinitionNameParameter" + } + ], + "get": { + "tags": [ + "Environment Definitions" + ], + "description": "Gets an environment definition from the catalog.", + "operationId": "EnvironmentDefinitions_Get", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentDefinitions_Get": { + "$ref": "./examples/EnvironmentDefinitions_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}/getErrorDetails": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentDefinitionNameParameter" + } + ], + "post": { + "tags": [ + "Environment Definitions" + ], + "description": "Gets Environment Definition error details", + "operationId": "EnvironmentDefinitions_GetErrorDetails", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "vdi.json#/definitions/CatalogResourceValidationErrorDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentDefinitions_GetErrorDetails": { + "$ref": "./examples/EnvironmentDefinitions_GetErrorDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/imageDefinitions": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Image Definitions" + ], + "description": "List Image Definitions in the catalog.", + "operationId": "ProjectCatalogImageDefinitions_ListByProjectCatalog", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageDefinitionListResult" + } + }, + "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" + }, + "x-ms-examples": { + "ImageDefinitions_ListByProjectCatalog": { + "$ref": "./examples/ImageDefinitions_ListByProjectCatalog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/imageDefinitions/{imageDefinitionName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/ImageDefinitionNameParameter" + } + ], + "get": { + "tags": [ + "Image Definitions" + ], + "description": "Gets an Image Definition from the catalog", + "operationId": "ProjectCatalogImageDefinitions_GetByProjectCatalog", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ImageDefinitions_GetByProjectCatalog": { + "$ref": "./examples/ImageDefinitions_GetByProjectCatalog.json" + } + } + } + } + }, + "definitions": { + "DevCenterPlan": { + "type": "object", + "description": "Represents a devcenter plan resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Plan properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/PlanProperties" + }, + "sku": { + "description": "The SKU for DevCenters created using this definition.", + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Sku" + } + } + }, + "PlanProperties": { + "description": "Properties of the devcenter plan.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + } + } + }, + "DevCenterPlanMember": { + "type": "object", + "description": "Represents a devcenter plan member resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Plan member properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/PlanMemberProperties" + }, + "tags": { + "$ref": "commonDefinitions.json#/definitions/Tags", + "description": "Resource tags." + } + } + }, + "PlanMemberProperties": { + "description": "Properties of the devcenter plan member.", + "type": "object", + "properties": { + "memberId": { + "description": "The unique id of the member.", + "type": "string" + }, + "memberType": { + "description": "The type of the member (user, group)", + "enum": [ + "User", + "Group" + ], + "type": "string", + "x-ms-enum": { + "name": "PlanMemberType", + "modelAsString": true + } + }, + "tags": { + "$ref": "commonDefinitions.json#/definitions/Tags", + "description": "Resource tags." + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + } + } + }, + "PlanMemberUpdate": { + "description": "The devcenter plan member resource for partial updates. Properties not provided in the update request will not be changed.", + "type": "object", + "properties": { + "tags": { + "$ref": "commonDefinitions.json#/definitions/Tags", + "description": "Resource tags." + } + } + }, + "DevCenter": { + "type": "object", + "description": "Represents a devcenter resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "DevCenter properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DevCenterProperties" + }, + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + } + } + }, + "DevCenterProperties": { + "description": "Properties of the devcenter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DevCenterUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "devCenterUri": { + "description": "The URI of the Dev Center.", + "$ref": "#/definitions/DevCenterUri", + "readOnly": true + } + } + }, + "DevCenterUpdateProperties": { + "description": "Properties of the devcenter. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "planId": { + "type": "string", + "description": "Resource Id of an associated Plan" + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption settings to be used for server-side encryption for proprietary content (such as catalogs, logs, customizations)." + }, + "displayName": { + "type": "string", + "description": "The display name of the devcenter." + }, + "projectCatalogSettings": { + "$ref": "#/definitions/DevCenterProjectCatalogSettings", + "description": "Dev Center settings to be used when associating a project with a catalog." + }, + "networkSettings": { + "$ref": "#/definitions/DevCenterNetworkSettings", + "description": "Network settings that will be enforced on network resources associated with the Dev Center." + }, + "devBoxProvisioningSettings": { + "$ref": "#/definitions/DevBoxProvisioningSettings", + "description": "Settings to be used in the provisioning of all Dev Boxes that belong to this dev center." + } + } + }, + "DevCenterEncryptionSet": { + "description": "Represents a devcenter encryption set resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DevCenterEncryptionSetProperties", + "description": "Properties of a devcenter encryption set." + }, + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + } + } + }, + "DevCenterEncryptionSetProperties": { + "description": "Properties of the devcenter encryption set.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DevCenterEncryptionSetUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + } + } + }, + "DevCenterEncryptionSetUpdateProperties": { + "description": "Properties of the devcenter encryption set. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "devboxDisksEncryptionEnableStatus": { + "description": "Devbox disk encryption enable or disable status. Indicates if Devbox disks encryption using DevCenter CMK is enabled or not.", + "$ref": "#/definitions/DevboxDisksEncryptionEnableStatus" + }, + "keyEncryptionKeyUrl": { + "type": "string", + "description": "Key encryption key Url, versioned or non-versioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek." + } + } + }, + "DevboxDisksEncryptionEnableStatus": { + "description": "Devbox disk encryption enable or disable status. Indicates if Devbox disks encryption is enabled or not.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "DevboxDisksEncryptionEnableStatus", + "modelAsString": true + } + }, + "DevCenterProjectCatalogSettings": { + "type": "object", + "description": "Project catalog settings for project catalogs under a project associated to this dev center.", + "properties": { + "catalogItemSyncEnableStatus": { + "description": "Whether project catalogs associated with projects in this dev center can be configured to sync catalog items.", + "$ref": "#/definitions/CatalogItemSyncEnableStatus" + } + } + }, + "DevBoxProvisioningSettings": { + "type": "object", + "description": "Provisioning settings that apply to all Dev Boxes created in this dev center", + "properties": { + "installAzureMonitorAgentEnableStatus": { + "description": "Whether project catalogs associated with projects in this dev center can be configured to sync catalog items.", + "$ref": "#/definitions/InstallAzureMonitorAgentEnableStatus" + } + } + }, + "CatalogItemSyncEnableStatus": { + "description": "Catalog item sync types enable or disable status. Indicates whether project catalogs are allowed to sync catalog items under projects associated to this dev center.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "CatalogItemSyncEnableStatus", + "modelAsString": true + } + }, + "DevCenterNetworkSettings": { + "type": "object", + "description": "Network settings for the Dev Center.", + "properties": { + "microsoftHostedNetworkEnableStatus": { + "$ref": "#/definitions/MicrosoftHostedNetworkEnableStatus" + } + } + }, + "ProjectNetworkSettings": { + "type": "object", + "description": "Network settings for the project.", + "properties": { + "microsoftHostedNetworkEnableStatus": { + "$ref": "#/definitions/MicrosoftHostedNetworkEnableStatus", + "readOnly": true + } + } + }, + "MicrosoftHostedNetworkEnableStatus": { + "description": "Indicates whether pools in this Dev Center can use Microsoft Hosted Networks. Defaults to Enabled if not set.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "MicrosoftHostedNetworkEnableStatus", + "modelAsString": true + } + }, + "Encryption": { + "type": "object", + "properties": { + "customerManagedKeyEncryption": { + "$ref": "../../../../../common-types/resource-management/v4/customermanagedkeys.json#/definitions/customerManagedKeyEncryption" + } + } + }, + "InstallAzureMonitorAgentEnableStatus": { + "description": "Setting to be used when determining whether to install the Azure Monitor Agent service on Dev Boxes that belong to this dev center.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "InstallAzureMonitorAgentEnableStatus", + "modelAsString": true + } + }, + "PlanUpdate": { + "description": "The devcenter plan resource for partial updates. Properties not provided in the update request will not be changed.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "sku": { + "description": "The SKU for DevCenters created using this definition.", + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Sku" + } + } + }, + "DevCenterUpdate": { + "description": "The devcenter resource for partial updates. Properties not provided in the update request will not be changed.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DevCenterUpdateProperties", + "description": "Properties of a Dev Center to be updated." + } + } + }, + "EncryptionSetUpdate": { + "description": "The devcenter encryption set resource for partial updates. Properties not provided in the update request will not be changed.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DevCenterEncryptionSetUpdateProperties", + "description": "Properties of a Dev Center encryption set to be updated." + }, + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + } + } + }, + "PlanListResult": { + "description": "Result of the list devcenter plans operation", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DevCenterPlan" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "PlanMembersListResult": { + "description": "Result of the list devcenter plan members operation", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DevCenterPlanMember" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "DevCenterListResult": { + "description": "Result of the list devcenters operation", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DevCenter" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "EncryptionSetListResult": { + "description": "Result of the list devcenter encryption set operation", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DevCenterEncryptionSet" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "DevCenterUri": { + "description": "The URI of the resource.", + "readOnly": true, + "type": "string" + }, + "Project": { + "description": "Represents a project resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProjectProperties", + "description": "Properties of a project." + }, + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + } + } + }, + "ProjectUpdateProperties": { + "description": "Properties of a project. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "devCenterId": { + "type": "string", + "description": "Resource Id of an associated DevCenter" + }, + "description": { + "type": "string", + "description": "Description of the project." + }, + "maxDevBoxesPerUser": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "When specified, limits the maximum number of Dev Boxes a single user can create across all pools in the project. This will have no effect on existing Dev Boxes when reduced." + }, + "displayName": { + "type": "string", + "description": "The display name of the project." + }, + "catalogSettings": { + "$ref": "#/definitions/ProjectCatalogSettings", + "description": "Settings to be used when associating a project with a catalog." + } + } + }, + "ProjectCatalogSettings": { + "description": "Settings to be used when associating a project with a catalog.", + "type": "object", + "properties": { + "catalogItemSyncTypes": { + "description": "Indicates catalog item types that can be synced.", + "type": "array", + "items": { + "$ref": "#/definitions/CatalogItemType" + } + } + } + }, + "ProjectProperties": { + "description": "Properties of a project.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProjectUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "devCenterUri": { + "description": "The URI of the Dev Center resource this project is associated with.", + "$ref": "#/definitions/DevCenterUri", + "readOnly": true + } + } + }, + "ProjectUpdate": { + "description": "The project properties for partial update. Properties not provided in the update request will not be changed.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProjectUpdateProperties", + "description": "Properties of a project to be updated." + }, + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + } + } + }, + "ProjectListResult": { + "description": "Results of the project list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Project" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "InheritedSettingsForProject": { + "description": "Applicable inherited settings for a project.", + "type": "object", + "properties": { + "projectCatalogSettings": { + "$ref": "#/definitions/DevCenterProjectCatalogSettings", + "description": "Dev Center settings to be used when associating a project with a catalog.", + "readOnly": true + }, + "networkSettings": { + "$ref": "#/definitions/ProjectNetworkSettings", + "description": "Network settings that will be enforced on this project.", + "readOnly": true + } + } + }, + "Catalog": { + "description": "Represents a catalog.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CatalogProperties", + "description": "Catalog properties." + } + } + }, + "CatalogUpdateProperties": { + "description": "Properties of a catalog. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "gitHub": { + "description": "Properties for a GitHub catalog type.", + "$ref": "#/definitions/GitCatalog" + }, + "adoGit": { + "description": "Properties for an Azure DevOps catalog type.", + "$ref": "#/definitions/GitCatalog" + }, + "syncType": { + "enum": [ + "Manual", + "Scheduled" + ], + "description": "Indicates the type of sync that is configured for the catalog.", + "type": "string", + "x-ms-enum": { + "name": "CatalogSyncType", + "modelAsString": true + } + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + } + } + }, + "CatalogProperties": { + "description": "Properties of a catalog.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CatalogUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "syncState": { + "enum": [ + "Succeeded", + "InProgress", + "Failed", + "Canceled" + ], + "description": "The synchronization state of the catalog.", + "readOnly": true, + "type": "string", + "x-ms-enum": { + "name": "CatalogSyncState", + "modelAsString": true + } + }, + "lastSyncStats": { + "description": "Stats of the latest synchronization.", + "$ref": "#/definitions/SyncStats", + "readOnly": true + }, + "connectionState": { + "enum": [ + "Connected", + "Disconnected" + ], + "description": "The connection state of the catalog.", + "readOnly": true, + "type": "string", + "x-ms-enum": { + "name": "CatalogConnectionState", + "modelAsString": true + } + }, + "lastConnectionTime": { + "description": "When the catalog was last connected.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "lastSyncTime": { + "description": "When the catalog was last synced.", + "type": "string", + "readOnly": true, + "format": "date-time" + } + } + }, + "SyncStats": { + "description": "Stats of the synchronization.", + "type": "object", + "properties": { + "added": { + "description": "Count of catalog items added during synchronization.", + "type": "integer", + "format": "int32", + "readOnly": true, + "minimum": 0 + }, + "updated": { + "description": "Count of catalog items updated during synchronization.", + "type": "integer", + "format": "int32", + "readOnly": true, + "minimum": 0 + }, + "unchanged": { + "description": "Count of catalog items that were unchanged during synchronization.", + "type": "integer", + "format": "int32", + "readOnly": true, + "minimum": 0 + }, + "removed": { + "description": "Count of catalog items removed during synchronization.", + "type": "integer", + "format": "int32", + "readOnly": true, + "minimum": 0 + }, + "validationErrors": { + "description": "Count of catalog items that had validation errors during synchronization.", + "type": "integer", + "format": "int32", + "readOnly": true, + "minimum": 0 + }, + "synchronizationErrors": { + "description": "Count of synchronization errors that occured during synchronization.", + "type": "integer", + "format": "int32", + "readOnly": true, + "minimum": 0 + }, + "syncedCatalogItemTypes": { + "description": "Indicates catalog item types that were synced.", + "type": "array", + "items": { + "$ref": "#/definitions/CatalogItemType" + } + } + } + }, + "GitCatalog": { + "description": "Properties for a Git repository catalog.", + "type": "object", + "properties": { + "uri": { + "description": "Git URI.", + "type": "string" + }, + "branch": { + "description": "Git branch.", + "type": "string" + }, + "secretIdentifier": { + "description": "A reference to the Key Vault secret containing a security token to authenticate to a Git repository.", + "type": "string" + }, + "path": { + "description": "The folder where the catalog items can be found inside the repository.", + "type": "string" + } + } + }, + "CatalogUpdate": { + "description": "The catalog's properties for partial update. Properties not provided in the update request will not be changed.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CatalogUpdateProperties", + "description": "Catalog properties for update." + } + } + }, + "CatalogListResult": { + "description": "Results of the catalog list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Catalog" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "SyncErrorDetails": { + "description": "Synchronization error details.", + "type": "object", + "properties": { + "operationError": { + "description": "Error information for the overall synchronization operation.", + "readOnly": true, + "$ref": "vdi.json#/definitions/CatalogErrorDetails" + }, + "conflicts": { + "description": "Catalog items that have conflicting names.", + "type": "array", + "items": { + "$ref": "#/definitions/CatalogConflictError" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "errors": { + "description": "Errors that occured during synchronization.", + "type": "array", + "items": { + "$ref": "#/definitions/CatalogSyncError" + }, + "x-ms-identifiers": [], + "readOnly": true + } + } + }, + "CatalogSyncError": { + "description": "An individual synchronization error.", + "type": "object", + "properties": { + "path": { + "description": "The path of the file the error is associated with.", + "type": "string", + "readOnly": true + }, + "errorDetails": { + "description": "Errors associated with the file.", + "type": "array", + "items": { + "$ref": "vdi.json#/definitions/CatalogErrorDetails" + }, + "x-ms-identifiers": [], + "readOnly": true + } + } + }, + "CatalogConflictError": { + "description": "An individual conflict error.", + "type": "object", + "properties": { + "path": { + "description": "The path of the file that has a conflicting name.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the conflicting catalog item.", + "type": "string", + "readOnly": true + } + } + }, + "Gallery": { + "description": "Represents a gallery.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryProperties", + "description": "Gallery properties." + } + } + }, + "GalleryProperties": { + "description": "Properties of a gallery.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "galleryResourceId": { + "description": "The resource ID of the backing Azure Compute Gallery.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "galleryResourceId" + ] + }, + "Image": { + "description": "Represents an image.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ImageProperties", + "description": "Image properties." + } + } + }, + "ImageProperties": { + "description": "Properties of an image.", + "type": "object", + "properties": { + "description": { + "description": "The description of the image.", + "type": "string", + "readOnly": true + }, + "publisher": { + "description": "The publisher of the image.", + "type": "string", + "readOnly": true + }, + "offer": { + "description": "The name of the image offer.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "The SKU name for the image.", + "type": "string", + "readOnly": true + }, + "recommendedMachineConfiguration": { + "description": "The recommended machine configuration to use with the image.", + "$ref": "#/definitions/RecommendedMachineConfiguration", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "hibernateSupport": { + "description": "Indicates whether this image has hibernate enabled. Not all images are capable of supporting hibernation. To find out more see https://aka.ms/devbox/hibernate", + "readOnly": true, + "$ref": "#/definitions/HibernateSupport" + } + } + }, + "RecommendedMachineConfiguration": { + "description": "Properties for a recommended machine configuration.", + "type": "object", + "properties": { + "memory": { + "description": "Recommended memory range.", + "$ref": "#/definitions/ResourceRange", + "readOnly": true + }, + "vCPUs": { + "description": "Recommended vCPU range.", + "$ref": "#/definitions/ResourceRange", + "readOnly": true + } + } + }, + "ResourceRange": { + "description": "Properties for a range of values.", + "type": "object", + "properties": { + "min": { + "description": "Minimum value.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "max": { + "description": "Maximum value.", + "type": "integer", + "format": "int32", + "readOnly": true + } + } + }, + "ImageVersion": { + "description": "Represents an image version.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ImageVersionProperties", + "description": "Image version properties." + } + } + }, + "ImageVersionProperties": { + "description": "Properties of an image version.", + "type": "object", + "properties": { + "name": { + "description": "The semantic version string.", + "type": "string", + "readOnly": true + }, + "publishedDate": { + "description": "The datetime that the backing image version was published.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "excludeFromLatest": { + "description": "If the version should be excluded from being treated as the latest version.", + "type": "boolean", + "readOnly": true + }, + "osDiskImageSizeInGb": { + "description": "The size of the OS disk image, in GB.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + } + } + }, + "GalleryListResult": { + "description": "Results of the gallery list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Gallery" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "ImageListResult": { + "description": "Results of the image list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Image" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "ImageVersionListResult": { + "description": "Results of the image version list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ImageVersion" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "AllowedEnvironmentType": { + "description": "Represents an allowed environment type.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AllowedEnvironmentTypeProperties", + "description": "Properties of an allowed environment type." + } + } + }, + "AllowedEnvironmentTypeProperties": { + "description": "Properties of an allowed environment type.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "displayName": { + "description": "The display name of the allowed environment type.", + "type": "string", + "readOnly": true + } + } + }, + "AllowedEnvironmentTypeListResult": { + "description": "Result of the allowed environment type list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AllowedEnvironmentType" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "EnvironmentType": { + "description": "Represents an environment type.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EnvironmentTypeProperties", + "description": "Properties of an environment type." + }, + "tags": { + "$ref": "commonDefinitions.json#/definitions/Tags", + "description": "Resource tags." + } + } + }, + "EnvironmentTypeProperties": { + "description": "Properties of an environment type.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentTypeUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + } + } + }, + "EnvironmentTypeUpdate": { + "description": "The environment type for partial update. Properties not provided in the update request will not be changed.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EnvironmentTypeUpdateProperties", + "description": "Properties of an environment type to be updated." + }, + "tags": { + "$ref": "commonDefinitions.json#/definitions/Tags", + "description": "Resource tags." + } + } + }, + "EnvironmentTypeUpdateProperties": { + "description": "Properties of an environment type. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The display name of the environment type." + } + } + }, + "EnvironmentTypeListResult": { + "description": "Result of the environment type list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentType" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "ProjectEnvironmentType": { + "description": "Represents an environment type.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProjectEnvironmentTypeProperties", + "description": "Properties of an environment type." + }, + "tags": { + "$ref": "commonDefinitions.json#/definitions/Tags", + "description": "Resource tags." + }, + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "location": { + "type": "string", + "description": "The geo-location for the environment type" + } + } + }, + "ProjectEnvironmentTypeUpdateProperties": { + "description": "Properties of a project environment type. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "deploymentTargetId": { + "description": "Id of a subscription that the environment type will be mapped to. The environment's resources will be deployed into this subscription.", + "type": "string" + }, + "displayName": { + "description": "The display name of the project environment type.", + "type": "string" + }, + "status": { + "description": "Defines whether this Environment Type can be used in this Project.", + "$ref": "#/definitions/EnvironmentTypeEnableStatus" + }, + "creatorRoleAssignment": { + "description": "The role definition assigned to the environment creator on backing resources.", + "type": "object", + "properties": { + "roles": { + "type": "object", + "description": "A map of roles to assign to the environment creator.", + "additionalProperties": { + "$ref": "#/definitions/EnvironmentRole" + } + } + } + }, + "userRoleAssignments": { + "description": "Role Assignments created on environment backing resources. This is a mapping from a user object ID to an object of role definition IDs.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserRoleAssignment" + } + } + } + }, + "ProjectEnvironmentTypeProperties": { + "description": "Properties of a project environment type.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProjectEnvironmentTypeUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "environmentCount": { + "description": "The number of environments of this type.", + "type": "integer", + "format": "int32", + "minimum": 0, + "readOnly": true + } + } + }, + "ProjectEnvironmentTypeUpdate": { + "description": "The project environment type for partial update. Properties not provided in the update request will not be changed.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProjectEnvironmentTypeUpdateProperties", + "description": "Properties to configure an environment type." + }, + "tags": { + "$ref": "commonDefinitions.json#/definitions/Tags", + "description": "Resource tags." + }, + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + } + } + }, + "ProjectEnvironmentTypeListResult": { + "description": "Result of the project environment type list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ProjectEnvironmentType" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "DevBoxDefinitionListResult": { + "description": "Results of the Dev Box definition list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DevBoxDefinition" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "DevBoxDefinitionUpdate": { + "description": "Partial update of a Dev Box definition resource.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DevBoxDefinitionUpdateProperties", + "description": "Properties of a Dev Box definition to be updated." + } + } + }, + "DevBoxDefinition": { + "description": "Represents a definition for a Developer Machine.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Dev Box definition properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DevBoxDefinitionProperties" + } + } + }, + "DevBoxDefinitionUpdateProperties": { + "description": "Properties of a Dev Box definition. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "imageReference": { + "$ref": "vdi.json#/definitions/ImageReference", + "description": "Image reference information." + }, + "sku": { + "description": "The SKU for Dev Boxes created using this definition.", + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Sku" + }, + "osStorageType": { + "description": "The storage type used for the Operating System disk of Dev Boxes created using this definition.", + "type": "string" + }, + "hibernateSupport": { + "description": "Indicates whether Dev Boxes created with this definition are capable of hibernation. Not all images are capable of supporting hibernation. To find out more see https://aka.ms/devbox/hibernate", + "$ref": "#/definitions/HibernateSupport" + } + } + }, + "DevBoxDefinitionProperties": { + "description": "Properties of a Dev Box definition.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DevBoxDefinitionUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "imageValidationStatus": { + "description": "Validation status of the configured image.", + "$ref": "vdi.json#/definitions/ImageValidationStatus", + "readOnly": true + }, + "imageValidationErrorDetails": { + "description": "Details for image validator error. Populated when the image validation is not successful.", + "$ref": "vdi.json#/definitions/ImageValidationErrorDetails", + "readOnly": true + }, + "validationStatus": { + "description": "Validation status for the Dev Box Definition.", + "$ref": "vdi.json#/definitions/CatalogResourceValidationStatus", + "readOnly": true + }, + "activeImageReference": { + "$ref": "vdi.json#/definitions/ImageReference", + "description": "Image reference information for the currently active image (only populated during updates).", + "readOnly": true + } + }, + "required": [ + "imageReference", + "sku" + ] + }, + "AttachedNetworkConnection": { + "description": "Represents an attached NetworkConnection.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AttachedNetworkConnectionProperties", + "description": "Attached NetworkConnection properties." + } + } + }, + "AttachedNetworkConnectionProperties": { + "description": "Properties of an attached NetworkConnection.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "networkConnectionId": { + "description": "The resource ID of the NetworkConnection you want to attach.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "networkConnectionLocation": { + "description": "The geo-location where the NetworkConnection resource specified in 'networkConnectionResourceId' property lives.", + "type": "string", + "readOnly": true + }, + "healthCheckStatus": { + "$ref": "vdi.json#/definitions/HealthCheckStatus", + "readOnly": true + }, + "domainJoinType": { + "description": "AAD Join type of the network. This is populated based on the referenced Network Connection.", + "$ref": "vdi.json#/definitions/DomainJoinType", + "readOnly": true + } + }, + "required": [ + "networkConnectionId" + ] + }, + "AttachedNetworkListResult": { + "description": "Results of the Attached Networks list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/AttachedNetworkConnection" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "EnvironmentRole": { + "type": "object", + "description": "A role that can be assigned to a user.", + "properties": { + "roleName": { + "description": "The common name of the Role Assignment. This is a descriptive name such as 'AcrPush'.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "This is a description of the Role Assignment.", + "type": "string", + "readOnly": true + } + } + }, + "UserRoleAssignment": { + "type": "object", + "description": "Mapping of user object ID to role assignments.", + "x-ms-client-name": "userRoleAssignmentValue", + "properties": { + "roles": { + "type": "object", + "description": "A map of roles to assign to the parent user.", + "additionalProperties": { + "$ref": "#/definitions/EnvironmentRole" + } + } + } + }, + "OperationStatus": { + "description": "The current status of an async operation", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult" + } + ], + "properties": { + "properties": { + "description": "Custom operation properties, populated only for a successful operation.", + "type": "object", + "readOnly": true + } + } + }, + "CatalogItemType": { + "description": "Indicates catalog item types.", + "enum": [ + "EnvironmentDefinition", + "ImageDefinition" + ], + "type": "string", + "x-ms-enum": { + "name": "CatalogItemType", + "modelAsString": true + } + }, + "EnvironmentTypeEnableStatus": { + "description": "Indicates whether the environment type is either enabled or disabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnvironmentTypeEnableStatus", + "modelAsString": true + } + }, + "HibernateSupport": { + "description": "Indicates whether hibernate is enabled/disabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "HibernateSupport", + "modelAsString": true + } + }, + "ListUsagesResult": { + "description": "List of Core Usages.", + "type": "object", + "properties": { + "value": { + "description": "The array page of Usages.", + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "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" + }, + "value": { + "description": "The name of the resource.", + "type": "string" + } + } + }, + "CustomizationTaskListResult": { + "description": "Results of the Task list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomizationTask" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "CustomizationTask": { + "description": "Represents a Task to be used in customizing a Dev Box.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Task properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomizationTaskProperties" + } + } + }, + "CustomizationTaskProperties": { + "description": "Properties of a Task.", + "type": "object", + "properties": { + "inputs": { + "description": "Inputs to the task.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/CustomizationTaskInput" + }, + "readOnly": true + }, + "timeout": { + "description": "The default timeout for the task.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "validationStatus": { + "description": "Validation status for the Task.", + "$ref": "vdi.json#/definitions/CatalogResourceValidationStatus", + "readOnly": true + } + } + }, + "CustomizationTaskInput": { + "description": "Input for a Task.", + "type": "object", + "properties": { + "description": { + "description": "Description of the input.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the input.", + "type": "string", + "enum": [ + "string", + "number", + "boolean" + ], + "x-ms-enum": { + "name": "CustomizationTaskInputType", + "modelAsString": true + }, + "readOnly": true + }, + "required": { + "description": "Whether or not the input is required.", + "type": "boolean", + "readOnly": true + } + } + }, + "EnvironmentDefinitionListResult": { + "description": "Results of the environment definition list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentDefinition" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "EnvironmentDefinition": { + "description": "Represents an environment definition catalog item.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Environment definition properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/EnvironmentDefinitionProperties" + } + } + }, + "EnvironmentDefinitionProperties": { + "description": "Properties of an environment definition.", + "type": "object", + "properties": { + "description": { + "description": "A short description of the environment definition.", + "type": "string", + "readOnly": true + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentDefinitionParameter" + }, + "description": "Input parameters passed to an environment.", + "readOnly": true + }, + "templatePath": { + "description": "Path to the Environment Definition entrypoint file.", + "type": "string", + "readOnly": true + }, + "validationStatus": { + "description": "Validation status for the environment definition.", + "$ref": "vdi.json#/definitions/CatalogResourceValidationStatus", + "readOnly": true + } + } + }, + "EnvironmentDefinitionParameter": { + "type": "object", + "description": "Properties of an Environment Definition parameter", + "properties": { + "id": { + "type": "string", + "description": "Unique ID of the parameter", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Display name of the parameter", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the parameter", + "readOnly": true + }, + "type": { + "description": "A string of one of the basic JSON types (number, integer, array, object, boolean, string)", + "$ref": "#/definitions/ParameterType", + "readOnly": true + }, + "readOnly": { + "type": "boolean", + "description": "Whether or not this parameter is read-only. If true, default should have a value.", + "readOnly": true + }, + "required": { + "type": "boolean", + "description": "Whether or not this parameter is required", + "readOnly": true + } + } + }, + "ParameterType": { + "type": "string", + "enum": [ + "array", + "boolean", + "integer", + "number", + "object", + "string" + ], + "description": "The type of data a parameter accepts.", + "readOnly": true, + "x-ms-enum": { + "name": "ParameterType", + "modelAsString": true, + "values": [ + { + "value": "array", + "description": "The parameter accepts an array of values." + }, + { + "value": "boolean", + "description": "The parameter accepts a boolean value." + }, + { + "value": "integer", + "description": "The parameter accepts an integer value." + }, + { + "value": "number", + "description": "The parameter accepts a number value." + }, + { + "value": "object", + "description": "The parameter accepts an object value." + }, + { + "value": "string", + "description": "The parameter accepts a string value." + } + ] + } + }, + "CheckScopedNameAvailabilityRequest": { + "description": "The scoped name check availability request body.", + "type": "object", + "properties": { + "name": { + "description": "The name of the resource for which availability needs to be checked.", + "type": "string" + }, + "type": { + "description": "The resource type.", + "type": "string" + }, + "scope": { + "description": "The resource id to scope the name check.", + "type": "string" + } + } + }, + "ImageDefinitionListResult": { + "description": "Results of the Image Definition list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageDefinition" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "ImageDefinition": { + "description": "Represents a definition for an Image.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Image Definition properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ImageDefinitionProperties" + } + } + }, + "ImageDefinitionProperties": { + "description": "Properties of an Image Definition.", + "type": "object", + "properties": { + "imageReference": { + "$ref": "vdi.json#/definitions/ImageReference", + "description": "Image reference information." + } + }, + "required": [ + "imageReference" + ] + } + }, + "parameters": { + "PlanNameParameter": { + "name": "planName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the devcenter plan.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "PlanMemberNameParameter": { + "name": "memberName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a devcenter plan member.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "DevCenterNameParameter": { + "name": "devCenterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the devcenter.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + "minLength": 3, + "maxLength": 26 + }, + "DevCenterEncryptionSetNameParameter": { + "name": "encryptionSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the devcenter encryption set.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + "minLength": 3, + "maxLength": 63 + }, + "ProjectNameParameter": { + "name": "projectName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the project.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "CatalogNameParameter": { + "name": "catalogName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Catalog.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "GalleryNameParameter": { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "ImageNameParameter": { + "name": "imageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the image.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-.]{0,78}[a-zA-Z0-9]$", + "minLength": 3, + "maxLength": 80 + }, + "ProjectImageNameParameter": { + "name": "imageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the image.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9~][a-zA-Z0-9-.~]{0,151}[a-zA-Z0-9]$", + "minLength": 3, + "maxLength": 153 + }, + "VersionNameParameter": { + "name": "versionName", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the image.", + "x-ms-parameter-location": "method", + "pattern": "^[0-9]{1,10}[.][0-9]{1,10}[.][0-9]{1,10}$", + "minLength": 5, + "maxLength": 32 + }, + "EnvironmentTypeNameParameter": { + "name": "environmentTypeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the environment type.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "AttachedNetworkConnectionNameParameter": { + "name": "attachedNetworkConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the attached NetworkConnection.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "DevBoxDefinitionName": { + "name": "devBoxDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Dev Box definition.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "FilterParameter": { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName').", + "type": "string", + "required": false, + "x-ms-parameter-location": "method" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "description": "The Azure region", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "description": "The ID of an ongoing async operation", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "CustomizationTaskNameParameter": { + "name": "taskName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Task.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "EnvironmentDefinitionNameParameter": { + "name": "environmentDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Environment Definition.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "ImageDefinitionNameParameter": { + "name": "imageDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Image Definition.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_Create.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_Create.json new file mode 100644 index 000000000000..128033ffc00f --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_Create.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "attachedNetworkConnectionName": "network-uswest3", + "body": { + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/attachednetworks/network-uswest3", + "name": "network-uswest3", + "type": "Microsoft.DevCenter/devcenters/attachednetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3", + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/attachednetworks/network-uswest3", + "name": "network-uswest3", + "type": "Microsoft.DevCenter/devcenters/attachednetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3", + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_Delete.json new file mode 100644 index 000000000000..c9af0cb42b0a --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "attachedNetworkConnectionName": "network-uswest3" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_GetByDevCenter.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_GetByDevCenter.json new file mode 100644 index 000000000000..a9e1d4479254 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_GetByDevCenter.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "attachedNetworkConnectionName": "network-uswest3" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/attachednetworks/network-uswest3", + "name": "network-uswest3", + "type": "Microsoft.DevCenter/devcenters/attachednetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3", + "networkConnectionLocation": "centralus", + "healthCheckStatus": "Healthy", + "provisioningState": "Created" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_GetByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_GetByProject.json new file mode 100644 index 000000000000..af6e496b47e5 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_GetByProject.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "attachedNetworkConnectionName": "network-uswest3" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/attachednetworks/network-uswest3", + "name": "network-uswest3", + "type": "Microsoft.DevCenter/projects/attachednetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3", + "networkConnectionLocation": "centralus", + "healthCheckStatus": "Healthy", + "provisioningState": "Created" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_ListByDevCenter.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_ListByDevCenter.json new file mode 100644 index 000000000000..f96943d667b0 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_ListByDevCenter.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/attachednetworks/netmap1", + "name": "netmap1", + "type": "Microsoft.DevCenter/devcenters/attachedNetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3", + "networkConnectionLocation": "centralus", + "healthCheckStatus": "Healthy", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "Application", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + }, + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/attachednetworks/netmap2", + "name": "netmap2", + "type": "Microsoft.DevCenter/devcenters/attachedNetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/network-uswest3", + "networkConnectionLocation": "centralus", + "healthCheckStatus": "Healthy", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_ListByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_ListByProject.json new file mode 100644 index 000000000000..855a280115ce --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/AttachedNetworks_ListByProject.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/attachednetworks/netmap1", + "name": "netmap1", + "type": "Microsoft.DevCenter/projects/attachedNetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3", + "networkConnectionLocation": "centralus", + "healthCheckStatus": "Healthy", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "Application", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + }, + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/attachednetworks/netmap2", + "name": "netmap2", + "type": "Microsoft.DevCenter/projects/attachedNetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3", + "networkConnectionLocation": "centralus", + "healthCheckStatus": "Healthy", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_Connect.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_Connect.json new file mode 100644 index 000000000000..c5b45c5f80dc --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_Connect.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_CreateAdo.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_CreateAdo.json new file mode 100644 index 000000000000..7c87ecc5bf39 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_CreateAdo.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog", + "body": { + "properties": { + "adoGit": { + "uri": "https://contoso@dev.azure.com/contoso/contosoOrg/_git/centralrepo-fakecontoso", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "syncType": "Scheduled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "properties": { + "adoGit": { + "uri": "https://contoso@dev.azure.com/contoso/contosoOrg/_git/centralrepo-fakecontoso", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0 + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded", + "syncType": "Scheduled" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "properties": { + "adoGit": { + "uri": "https://contoso@dev.azure.com/contoso/contosoOrg/_git/centralrepo-fakecontoso", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0 + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded", + "syncType": "Scheduled" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_CreateGitHub.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_CreateGitHub.json new file mode 100644 index 000000000000..e42941258315 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_CreateGitHub.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog", + "body": { + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "syncType": "Manual" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0 + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded", + "syncType": "Manual" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0 + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded", + "syncType": "Manual" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_Delete.json new file mode 100644 index 000000000000..01363185614d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_Get.json new file mode 100644 index 000000000000..56431803f829 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_Get.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 1, + "updated": 1, + "unchanged": 1, + "removed": 1, + "validationErrors": 1, + "synchronizationErrors": 1 + }, + "lastConnectionTime": "2020-11-18T18:28:00.314Z", + "lastSyncTime": "2020-11-18T18:28:00.314Z", + "provisioningState": "Succeeded", + "connectionState": "Connected", + "syncState": "Succeeded", + "syncType": "Scheduled" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_GetSyncErrorDetails.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_GetSyncErrorDetails.json new file mode 100644 index 000000000000..34f84993b95b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_GetSyncErrorDetails.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog" + }, + "responses": { + "200": { + "body": { + "operationError": { + "code": "Conflict", + "message": "The source control credentials could not be validated successfully." + }, + "conflicts": [ + { + "path": "/Environments/Duplicate/manifest.yaml", + "name": "DuplicateEnvironmentName" + } + ], + "errors": [ + { + "path": "/Environments/Invalid/manifest.yaml", + "errorDetails": [ + { + "code": "ParseError", + "message": "Schema Error Within Catalog Item: Missing Name" + } + ] + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_List.json new file mode 100644 index 000000000000..621960426b54 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_List.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 1, + "updated": 1, + "unchanged": 1, + "removed": 1, + "validationErrors": 1, + "synchronizationErrors": 1 + }, + "lastConnectionTime": "2020-11-18T18:28:00.314Z", + "lastSyncTime": "2020-11-18T18:28:00.314Z", + "provisioningState": "Succeeded", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_Patch.json new file mode 100644 index 000000000000..83b06b48c300 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_Patch.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog", + "body": { + "properties": { + "gitHub": { + "path": "/environments" + }, + "syncType": "Scheduled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/environments" + }, + "lastSyncStats": { + "added": 1, + "updated": 1, + "unchanged": 1, + "removed": 1, + "validationErrors": 1, + "synchronizationErrors": 1 + }, + "lastConnectionTime": "2020-11-18T18:28:00.314Z", + "lastSyncTime": "2020-11-18T18:28:00.314Z", + "provisioningState": "Succeeded", + "connectionState": "Connected", + "syncState": "Succeeded", + "syncType": "Scheduled" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_Sync.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_Sync.json new file mode 100644 index 000000000000..c5b45c5f80dc --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Catalogs_Sync.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CheckNameAvailability.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..84b26d919f72 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CheckNameAvailability.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "nameAvailabilityRequest": { + "name": "name1", + "type": "Microsoft.DevCenter/devcenters" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CheckScopedNameAvailability_DevCenterCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CheckScopedNameAvailability_DevCenterCatalog.json new file mode 100644 index 000000000000..25192b4d4c3b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CheckScopedNameAvailability_DevCenterCatalog.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "nameAvailabilityRequest": { + "name": "name1", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "scope": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CheckScopedNameAvailability_ProjectCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CheckScopedNameAvailability_ProjectCatalog.json new file mode 100644 index 000000000000..1691a87ef0a9 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CheckScopedNameAvailability_ProjectCatalog.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "nameAvailabilityRequest": { + "name": "name1", + "type": "Microsoft.DevCenter/projects/catalogs", + "scope": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CustomizationTasks_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CustomizationTasks_Get.json new file mode 100644 index 000000000000..8c77588e3720 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CustomizationTasks_Get.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog", + "taskName": "SampleTask" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog/tasks/SampleTask", + "name": "SampleTask", + "type": "Microsoft.DevCenter/devcenters/catalogs/tasks", + "properties": { + "inputs": { + "package": { + "type": "string", + "required": true + }, + "feed": { + "type": "string" + } + }, + "timeout": 30, + "validationStatus": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CustomizationTasks_GetErrorDetails.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CustomizationTasks_GetErrorDetails.json new file mode 100644 index 000000000000..cc7375b09ae6 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CustomizationTasks_GetErrorDetails.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog", + "taskName": "SampleTask" + }, + "responses": { + "200": { + "body": { + "errors": [ + { + "code": "ParameterValueInvalid", + "message": "Expected parameter value for 'InstanceCount' to be integer but found the string 'test'." + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CustomizationTasks_ListByCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CustomizationTasks_ListByCatalog.json new file mode 100644 index 000000000000..b2df9cbb719f --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/CustomizationTasks_ListByCatalog.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog/tasks/SampleTask", + "name": "SampleTask", + "type": "Microsoft.DevCenter/devcenters/catalogs/tasks", + "properties": { + "inputs": { + "package": { + "type": "string", + "required": true + }, + "feed": { + "type": "string" + } + }, + "timeout": 30 + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_Create.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_Create.json new file mode 100644 index 000000000000..9add845c2a01 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_Create.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "devBoxDefinitionName": "WebDevBox", + "body": { + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled" + }, + "location": "centralus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/devboxdefinitions/devBoxDefinitionName", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/devcenters/devboxdefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled", + "provisioningState": "Succeeded" + }, + "location": "centralus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/devboxdefinitions/devBoxDefinitionName", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/devcenters/devboxdefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled", + "provisioningState": "Created" + }, + "location": "centralus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_Delete.json new file mode 100644 index 000000000000..c12977e9b88d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "devBoxDefinitionName": "WebDevBox" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_Get.json new file mode 100644 index 000000000000..6643a11272c5 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_Get.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "devBoxDefinitionName": "WebDevBox" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/devboxdefinitions/WebDevBox", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/devcenters/devboxdefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled", + "provisioningState": "Succeeded" + }, + "location": "centralus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_GetByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_GetByProject.json new file mode 100644 index 000000000000..452677d2fbbf --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_GetByProject.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProject", + "devBoxDefinitionName": "WebDevBox" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProject/devboxdefinitions/WebDevBox", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/projects/devboxdefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled", + "provisioningState": "Succeeded" + }, + "location": "centralus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_ListByDevCenter.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_ListByDevCenter.json new file mode 100644 index 000000000000..109b10c9d7bf --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_ListByDevCenter.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "devBoxDefinitionName": "WebDevBox" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/devboxdefinitions/WebDevBox", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/devcenters/devboxdefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled", + "provisioningState": "Succeeded" + }, + "location": "centralus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_ListByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_ListByProject.json new file mode 100644 index 000000000000..d6282b4e8895 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_ListByProject.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProject", + "devBoxDefinitionName": "WebDevBox" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProject/devboxdefinitions/WebDevBox", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/projects/devboxdefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled", + "provisioningState": "Succeeded" + }, + "location": "centralus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_Patch.json new file mode 100644 index 000000000000..1440314d9cbc --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevBoxDefinitions_Patch.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "devBoxDefinitionName": "WebDevBox", + "body": { + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/2.0.0" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/devboxdefinitions/WebDevBox", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/devcenters/devboxdefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/2.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled", + "provisioningState": "Succeeded" + }, + "location": "centralus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenterEncryptionSets_Create.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenterEncryptionSets_Create.json new file mode 100644 index 000000000000..5a22d7802dbd --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenterEncryptionSets_Create.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "encryptionSetName": "EncryptionWestUs", + "body": { + "location": "westus", + "properties": { + "devboxDisksEncryptionEnableStatus": "Enabled", + "keyEncryptionKeyUrl": "https://contosovaultwestus.vault.azure.net/keys/contosokek" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/encryptionSets/EncryptionWestUs", + "name": "EncryptionWestUs", + "type": "Microsoft.DevCenter/devcenters/encryptionSets", + "properties": { + "devboxDisksEncryptionEnableStatus": "Enabled", + "keyEncryptionKeyUrl": "https://contosovaultwestus.vault.azure.net/keys/contosokek", + "provisioningState": "Accepted" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/encryptionSets/EncryptionWestUs", + "name": "EncryptionWestUs", + "type": "Microsoft.DevCenter/devcenters/encryptionSets", + "properties": { + "devboxDisksEncryptionEnableStatus": "Enabled", + "keyEncryptionKeyUrl": "https://contosovaultwestus.vault.azure.net/keys/contosokek", + "provisioningState": "Accepted" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenterEncryptionSets_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenterEncryptionSets_Delete.json new file mode 100644 index 000000000000..1ae4c08efc0a --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenterEncryptionSets_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "encryptionSetName": "EncryptionWestUs" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenterEncryptionSets_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenterEncryptionSets_Get.json new file mode 100644 index 000000000000..730f3d774db9 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenterEncryptionSets_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "encryptionSetName": "EncryptionWestUs" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/encryptionSets/EncryptionWestUs", + "name": "EncryptionWestUs", + "type": "Microsoft.DevCenter/devcenters/encryptionSets", + "properties": { + "devboxDisksEncryptionEnableStatus": "Enabled", + "keyEncryptionKeyUrl": "https://contosovaultwestus.vault.azure.net/keys/contosokek", + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenterEncryptionSets_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenterEncryptionSets_List.json new file mode 100644 index 000000000000..9150ff98ed56 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenterEncryptionSets_List.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/encryptionSets/EncryptionWestUs", + "name": "EncryptionWestUs", + "type": "Microsoft.DevCenter/devcenters/encryptionSets", + "properties": { + "devboxDisksEncryptionEnableStatus": "Enabled", + "keyEncryptionKeyUrl": "https://contosovaultwestus.vault.azure.net/keys/contosokek", + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenterEncryptionSets_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenterEncryptionSets_Patch.json new file mode 100644 index 000000000000..e08e69e0a7a6 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenterEncryptionSets_Patch.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "encryptionSetName": "EncryptionWestUs", + "body": { + "properties": { + "devboxDisksEncryptionEnableStatus": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/encryptionSets/EncryptionWestUs", + "name": "EncryptionWestUs", + "type": "Microsoft.DevCenter/devcenters/encryptionSets", + "properties": { + "devboxDisksEncryptionEnableStatus": "Enabled", + "keyEncryptionKeyUrl": "https://contosovault.vault.azure.net/keys/contosokekwestus", + "provisioningState": "Accepted" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_Create.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_Create.json new file mode 100644 index 000000000000..260071f3f341 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_Create.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "body": { + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "displayName": "ContosoDevCenter", + "devBoxProvisioningSettings": { + "installAzureMonitorAgentEnableStatus": "Enabled" + }, + "projectCatalogSettings": { + "catalogItemSyncEnableStatus": "Enabled" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "hidden-title": "ContosoDevCenter", + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "projectCatalogSettings": { + "catalogItemSyncEnableStatus": "Enabled" + }, + "devBoxProvisioningSettings": { + "installAzureMonitorAgentEnableStatus": "Enabled" + }, + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "hidden-title": "ContosoDevCenter", + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Accepted", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "devBoxProvisioningSettings": { + "installAzureMonitorAgentEnableStatus": "Enabled" + }, + "projectCatalogSettings": { + "catalogItemSyncEnableStatus": "Enabled" + }, + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_CreateWithDisabledManagedNetworks.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_CreateWithDisabledManagedNetworks.json new file mode 100644 index 000000000000..44dd2a938588 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_CreateWithDisabledManagedNetworks.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "body": { + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "displayName": "ContosoDevCenter", + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Disabled" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Disabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Accepted", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Disabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_CreateWithEncryption.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_CreateWithEncryption.json new file mode 100644 index 000000000000..c8fdbea09d16 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_CreateWithEncryption.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "body": { + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "displayName": "ContosoDevCenter", + "encryption": { + "customerManagedKeyEncryption": { + "keyEncryptionKeyIdentity": { + "identityType": "userAssignedIdentity", + "userAssignedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1" + }, + "keyEncryptionKeyUrl": "https://contosovault.vault.azure.net/keys/contosokek" + } + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "encryption": { + "customerManagedKeyEncryption": { + "keyEncryptionKeyIdentity": { + "identityType": "userAssignedIdentity", + "userAssignedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1" + }, + "keyEncryptionKeyUrl": "https://contosovault.vault.azure.net/keys/contosokek" + } + }, + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Accepted", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "encryption": { + "customerManagedKeyEncryption": { + "keyEncryptionKeyIdentity": { + "identityType": "userAssignedIdentity", + "userAssignedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1" + }, + "keyEncryptionKeyUrl": "https://contosovault.vault.azure.net/keys/contosokek" + } + }, + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_CreateWithPlanId.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_CreateWithPlanId.json new file mode 100644 index 000000000000..f8f17c2a9c0d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_CreateWithPlanId.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "body": { + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "displayName": "ContosoDevCenter", + "planId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "hidden-title": "ContosoDevCenter", + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "planId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan", + "projectCatalogSettings": { + "catalogItemSyncEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "hidden-title": "ContosoDevCenter", + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "planId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan", + "provisioningState": "Accepted", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_CreateWithUserIdentity.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_CreateWithUserIdentity.json new file mode 100644 index 000000000000..5b38e857d49d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_CreateWithUserIdentity.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "body": { + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "displayName": "ContosoDevCenter" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Accepted", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_Delete.json new file mode 100644 index 000000000000..748d7b0d6dce --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_Get.json new file mode 100644 index 000000000000..88b83f1855a3 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "hidden-title": "ContosoDevCenter", + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "projectCatalogSettings": { + "catalogItemSyncEnableStatus": "Enabled" + }, + "devBoxProvisioningSettings": { + "installAzureMonitorAgentEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_ListByResourceGroup.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_ListByResourceGroup.json new file mode 100644 index 000000000000..f2830c1fca64 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_ListByResourceGroup.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:08.896Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_ListBySubscription.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_ListBySubscription.json new file mode 100644 index 000000000000..20687ef46609 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_ListBySubscription.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:08.896Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_Patch.json new file mode 100644 index 000000000000..b41d5ed93550 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/DevCenters_Patch.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "body": { + "tags": { + "CostCode": "12345" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentDefinitions_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentDefinitions_Get.json new file mode 100644 index 000000000000..1061801f0d3e --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentDefinitions_Get.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "myCatalog", + "environmentDefinitionName": "myEnvironmentDefinition" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/myCatalog/environmentDefinitions/myEnvironmentDefinition", + "name": "myEnvironmentDefinition", + "type": "Microsoft.DevCenter/devcenters/catalogs/environmentDefinitions", + "properties": { + "description": "My sample environment definition.", + "parameters": [ + { + "id": "functionAppRuntime", + "name": "Function App Runtime", + "type": "string", + "required": true + }, + { + "id": "storageAccountType", + "name": "Storage Account Type", + "type": "string", + "required": true + }, + { + "id": "httpsOnly", + "name": "HTTPS only", + "type": "boolean", + "readOnly": true, + "required": true + } + ], + "templatePath": "azuredeploy.json", + "validationStatus": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentDefinitions_GetByProjectCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentDefinitions_GetByProjectCatalog.json new file mode 100644 index 000000000000..dcf811c64d92 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentDefinitions_GetByProjectCatalog.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "myCatalog", + "environmentDefinitionName": "myEnvironmentDefinition" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/myCatalog/environmentDefinitions/myEnvironmentDefinition", + "name": "myEnvironmentDefinition", + "type": "Microsoft.DevCenter/projects/catalogs/environmentDefinitions", + "properties": { + "description": "My sample environment definition.", + "parameters": [ + { + "id": "functionAppRuntime", + "name": "Function App Runtime", + "type": "string", + "required": true + }, + { + "id": "storageAccountType", + "name": "Storage Account Type", + "type": "string", + "required": true + }, + { + "id": "httpsOnly", + "name": "HTTPS only", + "type": "boolean", + "readOnly": true, + "required": true + } + ], + "templatePath": "azuredeploy.json", + "validationStatus": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentDefinitions_GetErrorDetails.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentDefinitions_GetErrorDetails.json new file mode 100644 index 000000000000..6adc501a6637 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentDefinitions_GetErrorDetails.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "myCatalog", + "environmentDefinitionName": "myEnvironmentDefinition" + }, + "responses": { + "200": { + "body": { + "errors": [ + { + "code": "ParameterValueInvalid", + "message": "Expected parameter value for 'InstanceCount' to be integer but found the string 'test'." + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentDefinitions_ListByCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentDefinitions_ListByCatalog.json new file mode 100644 index 000000000000..60f66d60c483 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentDefinitions_ListByCatalog.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "myCatalog" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/myCatalog/environmentDefinitions/myEnvironmentDefinition", + "name": "myEnvironmentDefinition", + "type": "Microsoft.DevCenter/devcenters/catalogs/environmentDefinitions", + "properties": { + "description": "My sample environment definition.", + "parameters": [ + { + "id": "functionAppRuntime", + "name": "Function App Runtime", + "type": "string", + "required": true + }, + { + "id": "storageAccountType", + "name": "Storage Account Type", + "type": "string", + "required": true + }, + { + "id": "httpsOnly", + "name": "HTTPS only", + "type": "boolean", + "readOnly": true, + "required": true + } + ], + "templatePath": "azuredeploy.json", + "validationStatus": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentDefinitions_ListByProjectCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentDefinitions_ListByProjectCatalog.json new file mode 100644 index 000000000000..10ca4df1f219 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentDefinitions_ListByProjectCatalog.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "myCatalog" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/myCatalog/environmentDefinitions/myEnvironmentDefinition", + "name": "myEnvironmentDefinition", + "type": "Microsoft.DevCenter/projects/catalogs/environmentDefinitions", + "properties": { + "description": "My sample environment definition.", + "parameters": [ + { + "id": "functionAppRuntime", + "name": "Function App Runtime", + "type": "string", + "required": true + }, + { + "id": "storageAccountType", + "name": "Storage Account Type", + "type": "string", + "required": true + }, + { + "id": "httpsOnly", + "name": "HTTPS only", + "type": "boolean", + "readOnly": true, + "required": true + } + ], + "templatePath": "azuredeploy.json", + "validationStatus": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentTypes_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentTypes_Delete.json new file mode 100644 index 000000000000..dd7b40c6ff33 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentTypes_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "environmentTypeName": "DevTest" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentTypes_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentTypes_Get.json new file mode 100644 index 000000000000..377ac55d6210 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentTypes_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "environmentTypeName": "DevTest" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/devcenters/environmenttypes", + "properties": { + "displayName": "Dev" + }, + "tags": { + "hidden-title": "Dev", + "CostCenter": "RnD" + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentTypes_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentTypes_List.json new file mode 100644 index 000000000000..1678352ca684 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentTypes_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/devcenters/environmenttypes", + "tags": { + "CostCenter": "RnD" + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentTypes_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentTypes_Patch.json new file mode 100644 index 000000000000..0dabf731c887 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentTypes_Patch.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "environmentTypeName": "DevTest", + "body": { + "properties": { + "displayName": "Dev" + }, + "tags": { + "Owner": "superuser" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/devcenters/environmenttypes", + "properties": { + "displayName": "Dev" + }, + "tags": { + "hidden-title": "Dev", + "Owner": "superuser" + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentTypes_Put.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentTypes_Put.json new file mode 100644 index 000000000000..ce6e9f335265 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/EnvironmentTypes_Put.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "environmentTypeName": "DevTest", + "body": { + "tags": { + "Owner": "superuser" + }, + "properties": { + "displayName": "Dev" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/devcenters/environmenttypes", + "properties": { + "displayName": "Dev" + }, + "tags": { + "hidden-title": "Dev", + "Owner": "superuser" + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/devcenters/environmenttypes", + "properties": { + "displayName": "Dev" + }, + "tags": { + "hidden-title": "Dev", + "Owner": "superuser" + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Galleries_Create.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Galleries_Create.json new file mode 100644 index 000000000000..f6812d1186b1 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Galleries_Create.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "galleryName": "StandardGallery", + "body": { + "properties": { + "galleryResourceId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.Compute/galleries/StandardGallery" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/StandardGallery", + "name": "StandardGallery", + "type": "Microsoft.DevCenter/devcenters/galleries", + "properties": { + "galleryResourceId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.Compute/galleries/StandardGallery", + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/StandardGallery", + "name": "StandardGallery", + "type": "Microsoft.DevCenter/devcenters/galleries", + "properties": { + "galleryResourceId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.Compute/galleries/StandardGallery", + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Galleries_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Galleries_Delete.json new file mode 100644 index 000000000000..e0fbd962635b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Galleries_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "galleryName": "StandardGallery" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Galleries_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Galleries_Get.json new file mode 100644 index 000000000000..56606a232b31 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Galleries_Get.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "galleryName": "StandardGallery" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/StandardGallery", + "name": "StandardGallery", + "type": "Microsoft.DevCenter/devcenters/galleries", + "properties": { + "galleryResourceId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.Compute/galleries/StandardGallery", + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Galleries_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Galleries_List.json new file mode 100644 index 000000000000..ee483585c6df --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Galleries_List.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/default", + "name": "StandardGallery", + "type": "Microsoft.DevCenter/devcenters/galleries", + "properties": { + "provisioningState": "Succeeded", + "galleryResourceId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.Compute/galleries/CentralGallery" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + }, + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/ImageGallery", + "name": "StandardGallery", + "type": "Microsoft.DevCenter/devcenters/galleries", + "properties": { + "galleryResourceId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.Compute/galleries/SharedGallery", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageDefinitions_GetByProjectCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageDefinitions_GetByProjectCatalog.json new file mode 100644 index 000000000000..e4edd94a3d8d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageDefinitions_GetByProjectCatalog.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProject", + "catalogName": "TeamCatalog", + "imageDefinitionName": "WebDevBox" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProject/catalogs/TeamCatalog/imagedefinitions/WebDevBox", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/projects/catalogs/imagedefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageDefinitions_ListByProjectCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageDefinitions_ListByProjectCatalog.json new file mode 100644 index 000000000000..295218eb52cd --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageDefinitions_ListByProjectCatalog.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProject", + "catalogName": "TeamCatalog" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProject/catalogs/TeamCatalog/imagedefinitions/WebDevBox", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/projects/catalogs/imagedefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageVersions_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageVersions_Get.json new file mode 100644 index 000000000000..b40c41b93b98 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageVersions_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "galleryName": "DefaultDevGallery", + "imageName": "Win11", + "versionName": "1.0.0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/DefaultDevGallery/images/Win11/versions/1.0.0", + "name": "1.0.0", + "type": "Microsoft.DevCenter/devcenters/galleries/images/versions", + "properties": { + "publishedDate": "2021-12-01T12:45:16.845Z", + "excludeFromLatest": false, + "osDiskImageSizeInGb": 64, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageVersions_GetByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageVersions_GetByProject.json new file mode 100644 index 000000000000..e328ee389a05 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageVersions_GetByProject.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "myProject", + "imageName": "~gallery~DefaultDevGallery~ContosoImageDefinition", + "versionName": "1.0.0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/project/myProject/images/~gallery~DefaultDevGallery~ContosoImageDefinition/versions/1.0.0", + "name": "1.0.0", + "type": "Microsoft.DevCenter/project/images/versions", + "properties": { + "publishedDate": "2021-12-01T12:45:16.845Z", + "excludeFromLatest": false, + "osDiskImageSizeInGb": 64, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageVersions_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageVersions_List.json new file mode 100644 index 000000000000..8228d522223b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageVersions_List.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "galleryName": "DefaultDevGallery", + "imageName": "Win11" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/DefaultDevGallery/images/Win11/versions/1.0.0", + "name": "1.0.0", + "type": "Microsoft.DevCenter/devcenters/galleries/images/versions", + "properties": { + "publishedDate": "2021-12-01T12:45:16.845Z", + "excludeFromLatest": false, + "osDiskImageSizeInGb": 64, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageVersions_ListByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageVersions_ListByProject.json new file mode 100644 index 000000000000..5cd2c26402e5 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ImageVersions_ListByProject.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "myProject", + "imageName": "~gallery~DefaultDevGallery~ContosoImageDefinition" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/project/myProject/images/~gallery~DefaultDevGallery~ContosoImageDefinition/versions/1.0.0", + "name": "1.0.0", + "type": "Microsoft.DevCenter/project/images/versions", + "properties": { + "publishedDate": "2021-12-01T12:45:16.845Z", + "excludeFromLatest": false, + "osDiskImageSizeInGb": 64, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Images_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Images_Get.json new file mode 100644 index 000000000000..bce68f230847 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Images_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "galleryName": "DefaultDevGallery", + "imageName": "ContosoBaseImage" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/DefaultDevGallery/images/ContosoBaseImage", + "name": "ContosoBaseImage", + "type": "Microsoft.DevCenter/devcenters/galleries/images", + "properties": { + "description": "Standard Windows Dev/Test image.", + "publisher": "Contoso", + "offer": "Finance", + "sku": "Backend", + "recommendedMachineConfiguration": { + "memory": { + "min": 256, + "max": 512 + }, + "vCPUs": { + "min": 4, + "max": 8 + } + }, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Images_GetByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Images_GetByProject.json new file mode 100644 index 000000000000..cc54165a9c05 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Images_GetByProject.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "myProject", + "imageName": "~gallery~DefaultDevGallery~ContosoBaseImage" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/project/myProject/images/~gallery~DefaultDevGallery~ContosoBaseImage", + "name": "ContosoBaseImage", + "type": "Microsoft.DevCenter/project/images", + "properties": { + "description": "Standard Windows Dev/Test image.", + "publisher": "Contoso", + "offer": "Finance", + "sku": "Backend", + "recommendedMachineConfiguration": { + "memory": { + "min": 256, + "max": 512 + }, + "vCPUs": { + "min": 4, + "max": 8 + } + }, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Images_ListByDevCenter.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Images_ListByDevCenter.json new file mode 100644 index 000000000000..e8605e6513dd --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Images_ListByDevCenter.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/DevGallery/images/ContosoBaseImage", + "name": "ContosoBaseImage", + "type": "Microsoft.DevCenter/devcenters/galleries/images", + "properties": { + "description": "Windows 10 Enterprise + OS Optimizations 1909", + "publisher": "MicrosoftWindowsDesktop", + "offer": "windows-ent-cpc", + "sku": "19h2-ent-cpc-os-g2", + "recommendedMachineConfiguration": { + "memory": { + "min": 128, + "max": 256 + }, + "vCPUs": { + "min": 2, + "max": 4 + } + }, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + }, + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/DevGallery/images/ContosoBaseImage2", + "name": "ContosoBaseImage2", + "type": "Microsoft.DevCenter/devcenters/galleries/images", + "properties": { + "description": "Standard Windows Dev/Test image.", + "publisher": "Contoso", + "offer": "Finance", + "sku": "Backend", + "recommendedMachineConfiguration": { + "memory": { + "min": 256, + "max": 512 + }, + "vCPUs": { + "min": 4, + "max": 8 + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Images_ListByGallery.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Images_ListByGallery.json new file mode 100644 index 000000000000..1e7381bd2225 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Images_ListByGallery.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "galleryName": "DevGallery" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/DevGallery/images/ContosoBaseImage", + "name": "ContosoBaseImage", + "type": "Microsoft.DevCenter/devcenters/galleries/images", + "properties": { + "description": "Windows 10 Enterprise + OS Optimizations 1909", + "publisher": "MicrosoftWindowsDesktop", + "offer": "windows-ent-cpc", + "sku": "19h2-ent-cpc-os-g2", + "recommendedMachineConfiguration": { + "memory": { + "min": 128, + "max": 256 + }, + "vCPUs": { + "min": 2, + "max": 4 + } + }, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + }, + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/DevGallery/images/ContosoBaseImage2", + "name": "ContosoBaseImage2", + "type": "Microsoft.DevCenter/devcenters/galleries/images", + "properties": { + "description": "Standard Windows Dev/Test image.", + "publisher": "Contoso", + "offer": "Finance", + "sku": "Backend", + "recommendedMachineConfiguration": { + "memory": { + "min": 256, + "max": 512 + }, + "vCPUs": { + "min": 4, + "max": 8 + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Images_ListByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Images_ListByProject.json new file mode 100644 index 000000000000..20dbbbea50b2 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Images_ListByProject.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "myProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/myProject/images/~gallery~DefaultDevGallery~ContosoBaseImage", + "name": "~gallery~DefaultDevGallery~ContosoBaseImage", + "type": "Microsoft.DevCenter/project/images", + "properties": { + "description": "Windows 10 Enterprise + OS Optimizations 1909", + "publisher": "MicrosoftWindowsDesktop", + "offer": "windows-ent-cpc", + "sku": "19h2-ent-cpc-os-g2", + "recommendedMachineConfiguration": { + "memory": { + "min": 128, + "max": 256 + }, + "vCPUs": { + "min": 2, + "max": 4 + } + }, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + }, + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/myProject/images/~catalog~DefaultCatalog~DefaultImage", + "name": "~catalog~DefaultCatalog~DefaultImage", + "type": "Microsoft.DevCenter/project/images", + "properties": { + "description": "Windows 10 Enterprise + OS Optimizations 1909", + "publisher": "MicrosoftWindowsDesktop", + "offer": "windows-ent-cpc", + "sku": "19h2-ent-cpc-os-g2", + "recommendedMachineConfiguration": { + "memory": { + "min": 128, + "max": 256 + }, + "vCPUs": { + "min": 2, + "max": 4 + } + }, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + }, + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/myProject/images/~gallery~DefaultDevGallery~ContosoImageDefinition", + "name": "~gallery~DefaultDevGallery~ContosoImageDefinition", + "type": "Microsoft.DevCenter/project/images", + "properties": { + "description": "Standard Windows Dev/Test image.", + "publisher": "Contoso", + "offer": "Finance", + "sku": "Backend", + "recommendedMachineConfiguration": { + "memory": { + "min": 256, + "max": 512 + }, + "vCPUs": { + "min": 4, + "max": 8 + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_Delete.json new file mode 100644 index 000000000000..9e2018d95b84 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "eastusnetwork" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_Get.json new file mode 100644 index 000000000000..47fe64ddd8c4 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "uswest3network" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/uswest3network", + "name": "uswest3network", + "type": "Microsoft.DevCenter/networkconnections", + "properties": { + "domainJoinType": "HybridAzureADJoin", + "domainName": "mydomaincontroller.local", + "domainUsername": "testuser@mydomaincontroller.local", + "networkingResourceGroupName": "NetworkInterfaces", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ExampleRG/providers/Microsoft.Network/virtualNetworks/ExampleVNet/subnets/default", + "provisioningState": "Succeeded", + "healthCheckStatus": "Passed" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_GetHealthDetails.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_GetHealthDetails.json new file mode 100644 index 000000000000..c5119d164863 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_GetHealthDetails.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "eastusnetwork" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/eastusnetwork/healthchecks/latest", + "name": "latest", + "type": "Microsoft.DevCenter/networkconnections/healthchecks", + "properties": { + "startDateTime": "2021-07-03T12:43:14Z", + "endDateTime": "2021-07-03T12:43:15Z", + "healthChecks": [ + { + "displayName": "Azure AD device sync", + "endDateTime": "2021-07-03T12:43:14Z", + "startDateTime": "2021-07-03T12:43:15Z", + "status": "Passed" + } + ] + }, + "systemData": { + "createdBy": "System", + "createdByType": "Application", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "System", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_ListByResourceGroup.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_ListByResourceGroup.json new file mode 100644 index 000000000000..6522c85aef19 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_ListByResourceGroup.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/uswest3network", + "name": "uswest3network", + "type": "Microsoft.DevCenter/networkconnections", + "properties": { + "domainJoinType": "HybridAzureADJoin", + "domainName": "mydomaincontroller.local", + "domainUsername": "testuser@mydomaincontroller.local", + "networkingResourceGroupName": "NetworkInterfaces", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ExampleRG/providers/Microsoft.Network/virtualNetworks/ExampleVNet/subnets/default", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_ListBySubscription.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_ListBySubscription.json new file mode 100644 index 000000000000..b20be967ec0e --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_ListBySubscription.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/uswest3network", + "name": "uswest3network", + "type": "Microsoft.DevCenter/networkconnection", + "properties": { + "domainJoinType": "HybridAzureADJoin", + "domainName": "mydomaincontroller.local", + "domainUsername": "testuser@mydomaincontroller.local", + "networkingResourceGroupName": "NetworkInterfaces", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ExampleRG/providers/Microsoft.Network/virtualNetworks/ExampleVNet/subnets/default", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_ListHealthDetails.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_ListHealthDetails.json new file mode 100644 index 000000000000..94b38e04e14b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_ListHealthDetails.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "uswest3network" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/uswest3network/healthchecks/latest", + "name": "latest", + "type": "Microsoft.DevCenter/networkconnections/healthchecks", + "properties": { + "startDateTime": "2021-07-03T12:43:14Z", + "endDateTime": "2021-07-03T12:43:15Z", + "healthChecks": [ + { + "displayName": "Azure AD device sync", + "endDateTime": "2021-07-03T12:43:14Z", + "startDateTime": "2021-07-03T12:43:15Z", + "status": "Passed" + } + ] + }, + "systemData": { + "createdBy": "System", + "createdByType": "Application", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "System", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_ListOutboundNetworkDependenciesEndpoints.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_ListOutboundNetworkDependenciesEndpoints.json new file mode 100644 index 000000000000..875f6621c160 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_ListOutboundNetworkDependenciesEndpoints.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "uswest3network" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "Dev Box Service", + "endpoints": [ + { + "domainName": "devbox.azure.com", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + }, + { + "category": "Intune", + "endpoints": [ + { + "domainName": "login.microsoftonline.com", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + }, + { + "category": "Cloud PC", + "endpoints": [ + { + "domainName": "rdweb.wvd.microsoft.com", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_Patch.json new file mode 100644 index 000000000000..8f91c177a64d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_Patch.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "uswest3network", + "body": { + "properties": { + "domainPassword": "New Password value for user" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/uswest3network", + "name": "uswest3network", + "type": "Microsoft.DevCenter/networkconnections", + "properties": { + "domainJoinType": "HybridAzureADJoin", + "domainName": "mydomaincontroller.local", + "domainUsername": "testuser@mydomaincontroller.local", + "networkingResourceGroupName": "NetworkInterfaces", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ExampleRG/providers/Microsoft.Network/virtualNetworks/ExampleVNet/subnets/default", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_Put.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_Put.json new file mode 100644 index 000000000000..8c8e8dd8d63b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_Put.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "uswest3network", + "body": { + "properties": { + "domainJoinType": "HybridAzureADJoin", + "domainName": "mydomaincontroller.local", + "domainUsername": "testuser@mydomaincontroller.local", + "domainPassword": "Password value for user", + "networkingResourceGroupName": "NetworkInterfaces", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ExampleRG/providers/Microsoft.Network/virtualNetworks/ExampleVNet/subnets/default" + }, + "location": "centralus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/uswest3network", + "name": "uswest3network", + "type": "Microsoft.DevCenter/networkconnections", + "properties": { + "domainJoinType": "HybridAzureADJoin", + "domainName": "mydomaincontroller.local", + "domainUsername": "testuser@mydomaincontroller.local", + "networkingResourceGroupName": "NetworkInterfaces", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ExampleRG/providers/Microsoft.Network/virtualNetworks/ExampleVNet/subnets/default", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/uswest3network", + "name": "uswest3network", + "type": "Microsoft.DevCenter/networkconnections", + "properties": { + "domainJoinType": "HybridAzureADJoin", + "domainName": "mydomaincontroller.local", + "domainUsername": "testuser@mydomaincontroller.local", + "networkingResourceGroupName": "NetworkInterfaces", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ExampleRG/providers/Microsoft.Network/virtualNetworks/ExampleVNet/subnets/default", + "provisioningState": "Created" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_RunHealthChecks.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_RunHealthChecks.json new file mode 100644 index 000000000000..882e053ad081 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/NetworkConnections_RunHealthChecks.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "uswest3network" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/OperationStatus_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/OperationStatus_Get.json new file mode 100644 index 000000000000..14615519853d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/OperationStatus_Get.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "location": "westus3", + "operationId": "3fa1a29d-e807-488d-81d1-f1c5456a08cd" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4", + "status": "Succeeded", + "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "startTime": "2020-12-01T15:16:29.500Z", + "endTime": "2020-12-01T15:16:55.100Z", + "percentComplete": 100 + } + }, + "202": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4", + "status": "Succeeded", + "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "startTime": "2020-12-01T15:16:29.500Z", + "endTime": "2020-12-01T15:16:55.100Z", + "percentComplete": 99 + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + }, + "default": { + "body": { + "error": { + "code": "OperationNotFound", + "message": "The requested async operation was not found" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Operations_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Operations_Get.json new file mode 100644 index 000000000000..1a49057a5405 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Operations_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DevCenter/devcenters/write", + "display": { + "provider": "Microsoft DevTest Center", + "resource": "Microsoft DevTest Center devcenter resource", + "operation": "write" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/PlanMembers_Create.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/PlanMembers_Create.json new file mode 100644 index 000000000000..a61d79a7efa5 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/PlanMembers_Create.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan", + "memberName": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "body": { + "properties": { + "memberId": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "memberType": "User" + }, + "tags": { + "CostCode": "12345" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan/members/d702f662-b3f2-4796-9e8c-13c22378ced3", + "type": "Microsoft.DevCenter/plans/members", + "name": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "tags": { + "CostCode": "12345" + }, + "properties": { + "memberId": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "memberType": "User", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan/members/d702f662-b3f2-4796-9e8c-13c22378ced3", + "type": "Microsoft.DevCenter/plans/members", + "name": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "tags": { + "CostCode": "12345" + }, + "properties": { + "memberId": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "memberType": "User", + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/PlanMembers_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/PlanMembers_Delete.json new file mode 100644 index 000000000000..8b504ab3c92b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/PlanMembers_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan", + "memberName": "d702f662-b3f2-4796-9e8c-13c22378ced3" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/PlanMembers_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/PlanMembers_Get.json new file mode 100644 index 000000000000..c3ba3eee8237 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/PlanMembers_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan", + "memberName": "d702f662-b3f2-4796-9e8c-13c22378ced3" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan/members/d702f662-b3f2-4796-9e8c-13c22378ced3", + "type": "Microsoft.DevCenter/plans/members", + "name": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "tags": { + "CostCode": "12345" + }, + "properties": { + "memberId": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "memberType": "User", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/PlanMembers_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/PlanMembers_List.json new file mode 100644 index 000000000000..272139cbe0af --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/PlanMembers_List.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan/members/d702f662-b3f2-4796-9e8c-13c22378ced3", + "type": "Microsoft.DevCenter/plans/members", + "name": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "tags": { + "CostCode": "12345" + }, + "properties": { + "memberType": "User", + "memberId": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/PlanMembers_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/PlanMembers_Patch.json new file mode 100644 index 000000000000..4bb1f345859d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/PlanMembers_Patch.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan", + "memberName": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "body": { + "tags": { + "CostCode": "12345" + } + } + }, + "responses": { + "200": { + "body": { + "name": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan/members/d702f662-b3f2-4796-9e8c-13c22378ced3", + "type": "Microsoft.DevCenter/plans/members", + "tags": { + "CostCode": "12345" + }, + "properties": { + "memberId": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "memberType": "User", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_Create.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_Create.json new file mode 100644 index 000000000000..cbbdd1750e88 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_Create.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan", + "body": { + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": {}, + "sku": { + "name": "Preview" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan", + "name": "ContosoPlan", + "type": "Microsoft.DevCenter/plans", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded" + }, + "sku": { + "name": "Preview" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan", + "name": "ContosoPlan", + "type": "Microsoft.DevCenter/plans", + "tags": { + "hidden-title": "ContosoPlan", + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Accepted" + }, + "sku": { + "name": "Preview" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_Delete.json new file mode 100644 index 000000000000..97f19ec8b2f7 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_Get.json new file mode 100644 index 000000000000..c489ac0cab23 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan", + "name": "ContosoPlan", + "type": "Microsoft.DevCenter/plans", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded" + }, + "sku": { + "name": "Preview" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_ListByResourceGroup.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_ListByResourceGroup.json new file mode 100644 index 000000000000..bb9db33cba6e --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_ListByResourceGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan", + "name": "ContosoPlan", + "type": "Microsoft.DevCenter/plans", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded" + }, + "sku": { + "name": "Preview" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:08.896Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_ListBySubscription.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_ListBySubscription.json new file mode 100644 index 000000000000..939bed1ca488 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_ListBySubscription.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/ContosoPlan", + "name": "ContosoPlan", + "type": "Microsoft.DevCenter/plans", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded" + }, + "sku": { + "name": "Preview" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:08.896Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_Patch.json new file mode 100644 index 000000000000..7e4ac4cf6fa7 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Plans_Patch.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan", + "body": { + "sku": { + "name": "Preview" + }, + "tags": { + "CostCode": "12345" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/ContosoPlan", + "name": "ContosoPlan", + "type": "Microsoft.DevCenter/plans", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded" + }, + "sku": { + "name": "Preview" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_Delete.json new file mode 100644 index 000000000000..3feb459f5fb7 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "poolName" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_Get.json new file mode 100644 index 000000000000..0f004b6fc9d7 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_Get.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "devBoxCount": 1, + "provisioningState": "Succeeded", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Managed", + "managedVirtualNetworkRegions": [ + "centralus" + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_GetUnhealthyStatus.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_GetUnhealthyStatus.json new file mode 100644 index 000000000000..95eeb84c0b54 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_GetUnhealthyStatus.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Unhealthy", + "healthStatusDetails": [ + { + "code": "NetworkConnectionUnhealthy", + "message": "The Pool's Network Connection is in an unhealthy state. Check the Network Connection's health status for more details." + }, + { + "code": "ImageValidationFailed", + "message": "Image validation has failed. Check the Dev Box Definition's image validation status for more details." + }, + { + "code": "IntuneValidationFailed", + "message": "Intune license validation has failed. The tenant does not have a valid Intune license." + } + ], + "devBoxCount": 1, + "provisioningState": "Succeeded", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Managed", + "managedVirtualNetworkRegions": [ + "centralus" + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_List.json new file mode 100644 index 000000000000..a6f7a811e777 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_List.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "devBoxCount": 1, + "provisioningState": "Succeeded", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Managed", + "managedVirtualNetworkRegions": [ + "centralus" + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_Patch.json new file mode 100644 index 000000000000..1ed280104d61 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_Patch.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool", + "body": { + "properties": { + "devBoxDefinitionName": "WebDevBox2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox2", + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "devBoxCount": 1, + "provisioningState": "Succeeded", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Managed", + "managedVirtualNetworkRegions": [ + "centralus" + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_Put.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_Put.json new file mode 100644 index 000000000000..ad66eb8b68e3 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_Put.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool", + "body": { + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Unmanaged" + }, + "location": "centralus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "devBoxCount": 1, + "provisioningState": "Succeeded", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Unmanaged", + "managedVirtualNetworkRegions": [] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Pending", + "provisioningState": "Created", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Unmanaged", + "managedVirtualNetworkRegions": [] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_PutWithManagedNetwork.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_PutWithManagedNetwork.json new file mode 100644 index 000000000000..f2e39cdf2b94 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_PutWithManagedNetwork.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool", + "body": { + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "managedNetwork", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Managed", + "managedVirtualNetworkRegions": [ + "centralus" + ] + }, + "location": "centralus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "managedNetwork", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "devBoxCount": 1, + "provisioningState": "Succeeded", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Managed", + "managedVirtualNetworkRegions": [ + "centralus" + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "managedNetwork", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Pending", + "provisioningState": "Created", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Managed", + "managedVirtualNetworkRegions": [ + "centralus" + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_PutWithValueDevBoxDefinition.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_PutWithValueDevBoxDefinition.json new file mode 100644 index 000000000000..7b4d1bc16840 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_PutWithValueDevBoxDefinition.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool", + "body": { + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionType": "Value", + "devBoxDefinitionName": "", + "devBoxDefinition": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/projects/DevProject/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + } + }, + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Unmanaged" + }, + "location": "centralus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionType": "Value", + "devBoxDefinitionName": "", + "devBoxDefinition": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/projects/DevProject/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + } + }, + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "devBoxCount": 1, + "provisioningState": "Succeeded", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Unmanaged", + "managedVirtualNetworkRegions": [] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionType": "Value", + "devBoxDefinitionName": "", + "devBoxDefinition": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/projects/DevProject/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + } + }, + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Pending", + "provisioningState": "Created", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Unmanaged", + "managedVirtualNetworkRegions": [] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_RunHealthChecks.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_RunHealthChecks.json new file mode 100644 index 000000000000..53b73bf3e25b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Pools_RunHealthChecks.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectAllowedEnvironmentTypes_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectAllowedEnvironmentTypes_Get.json new file mode 100644 index 000000000000..cd8af34d70be --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectAllowedEnvironmentTypes_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "Contoso", + "environmentTypeName": "DevTest" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/Contoso/allowedEnvironmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/projects/allowedenvironmenttypes", + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectAllowedEnvironmentTypes_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectAllowedEnvironmentTypes_List.json new file mode 100644 index 000000000000..bf7dcea07eb3 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectAllowedEnvironmentTypes_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "Contoso" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/Contoso/allowedEnvironmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/projects/allowedenvironmenttypes", + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogEnvironmentDefinitions_GetErrorDetails.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogEnvironmentDefinitions_GetErrorDetails.json new file mode 100644 index 000000000000..84db2fa4f59d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogEnvironmentDefinitions_GetErrorDetails.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "myCatalog", + "environmentDefinitionName": "myEnvironmentDefinition" + }, + "responses": { + "200": { + "body": { + "errors": [ + { + "code": "ParameterValueInvalid", + "message": "Expected parameter value for 'InstanceCount' to be integer but found the string 'test'." + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_Connect.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_Connect.json new file mode 100644 index 000000000000..0579ef6c3c90 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_Connect.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_CreateAdo.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_CreateAdo.json new file mode 100644 index 000000000000..f3d2028e8513 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_CreateAdo.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog", + "body": { + "properties": { + "adoGit": { + "uri": "https://contoso@dev.azure.com/contoso/contosoOrg/_git/centralrepo-fakecontoso", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/projects/catalogs", + "properties": { + "adoGit": { + "uri": "https://contoso@dev.azure.com/contoso/contosoOrg/_git/centralrepo-fakecontoso", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0, + "syncedCatalogItemTypes": [ + "EnvironmentDefinition" + ] + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/projects/catalogs", + "properties": { + "adoGit": { + "uri": "https://contoso@dev.azure.com/contoso/contosoOrg/_git/centralrepo-fakecontoso", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0, + "syncedCatalogItemTypes": [ + "EnvironmentDefinition" + ] + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_CreateGitHub.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_CreateGitHub.json new file mode 100644 index 000000000000..963ceb9723f3 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_CreateGitHub.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog", + "body": { + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/projects/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0, + "syncedCatalogItemTypes": [ + "EnvironmentDefinition" + ] + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/projects/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0, + "syncedCatalogItemTypes": [ + "EnvironmentDefinition" + ] + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_Delete.json new file mode 100644 index 000000000000..00c077f6956a --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_Get.json new file mode 100644 index 000000000000..0fe651404d96 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_Get.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/projects/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 1, + "updated": 1, + "unchanged": 1, + "removed": 1, + "validationErrors": 1, + "synchronizationErrors": 1, + "syncedCatalogItemTypes": [ + "EnvironmentDefinition" + ] + }, + "lastConnectionTime": "2020-11-18T18:28:00.314Z", + "lastSyncTime": "2020-11-18T18:28:00.314Z", + "provisioningState": "Succeeded", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_GetSyncErrorDetails.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_GetSyncErrorDetails.json new file mode 100644 index 000000000000..ddbaa3554d06 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_GetSyncErrorDetails.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog" + }, + "responses": { + "200": { + "body": { + "operationError": { + "code": "Conflict", + "message": "The source control credentials could not be validated successfully." + }, + "conflicts": [ + { + "path": "/Environments/Duplicate/manifest.yaml", + "name": "DuplicateEnvironmentName" + } + ], + "errors": [ + { + "path": "/Environments/Invalid/manifest.yaml", + "errorDetails": [ + { + "code": "ParseError", + "message": "Schema Error Within Catalog Item: Missing Name" + } + ] + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_List.json new file mode 100644 index 000000000000..62fedce75507 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_List.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/Contoso/catalogs", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/projects/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 1, + "updated": 1, + "unchanged": 1, + "removed": 1, + "validationErrors": 1, + "synchronizationErrors": 1 + }, + "lastConnectionTime": "2020-11-18T18:28:00.314Z", + "lastSyncTime": "2020-11-18T18:28:00.314Z", + "provisioningState": "Succeeded", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_Patch.json new file mode 100644 index 000000000000..a565641cee19 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_Patch.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog", + "body": { + "properties": { + "gitHub": { + "path": "/environments" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/projects/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/environments" + }, + "lastSyncStats": { + "added": 1, + "updated": 1, + "unchanged": 1, + "removed": 1, + "validationErrors": 1, + "synchronizationErrors": 1 + }, + "lastConnectionTime": "2020-11-18T18:28:00.314Z", + "lastSyncTime": "2020-11-18T18:28:00.314Z", + "provisioningState": "Succeeded", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_Sync.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_Sync.json new file mode 100644 index 000000000000..0579ef6c3c90 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectCatalogs_Sync.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectEnvironmentTypes_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectEnvironmentTypes_Delete.json new file mode 100644 index 000000000000..c39a3305a4be --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectEnvironmentTypes_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProj", + "environmentTypeName": "DevTest" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectEnvironmentTypes_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectEnvironmentTypes_Get.json new file mode 100644 index 000000000000..d1363eb8775d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectEnvironmentTypes_Get.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProj", + "environmentTypeName": "DevTest" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProj/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/projects/environmentTypes", + "properties": { + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Enabled", + "provisioningState": "Succeeded", + "environmentCount": 1, + "creatorRoleAssignment": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + }, + "userRoleAssignments": { + "e45e3m7c-176e-416a-b466-0c5ec8298f8a": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + } + } + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + }, + "tags": { + "CostCenter": "RnD" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectEnvironmentTypes_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectEnvironmentTypes_List.json new file mode 100644 index 000000000000..1d153814dc77 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectEnvironmentTypes_List.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProj", + "environmentTypeName": "DevTest" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProj/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/projects/environmentTypes", + "properties": { + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Enabled", + "provisioningState": "Succeeded", + "creatorRoleAssignment": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + }, + "userRoleAssignments": { + "e45e3m7c-176e-416a-b466-0c5ec8298f8a": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + } + } + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + }, + "tags": { + "CostCenter": "RnD" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "location": "centralus" + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectEnvironmentTypes_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectEnvironmentTypes_Patch.json new file mode 100644 index 000000000000..11b0418f7c4d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectEnvironmentTypes_Patch.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProj", + "environmentTypeName": "DevTest", + "body": { + "properties": { + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Enabled", + "userRoleAssignments": { + "e45e3m7c-176e-416a-b466-0c5ec8298f8a": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": {} + } + } + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": {} + } + }, + "tags": { + "CostCenter": "RnD" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProj/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/projects/environmentTypes", + "properties": { + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Enabled", + "provisioningState": "Succeeded", + "environmentCount": 1, + "creatorRoleAssignment": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + }, + "userRoleAssignments": { + "e45e3m7c-176e-416a-b466-0c5ec8298f8a": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + } + } + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + }, + "tags": { + "CostCenter": "RnD" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectEnvironmentTypes_Put.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectEnvironmentTypes_Put.json new file mode 100644 index 000000000000..7aeb20ef97e2 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/ProjectEnvironmentTypes_Put.json @@ -0,0 +1,146 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProj", + "environmentTypeName": "DevTest", + "body": { + "properties": { + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Enabled", + "creatorRoleAssignment": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": {} + } + }, + "userRoleAssignments": { + "e45e3m7c-176e-416a-b466-0c5ec8298f8a": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": {} + } + } + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": {} + } + }, + "tags": { + "CostCenter": "RnD" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProj/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/projects/environmentTypes", + "properties": { + "displayName": "DevTest", + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Enabled", + "provisioningState": "Succeeded", + "environmentCount": 0, + "creatorRoleAssignment": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + }, + "userRoleAssignments": { + "e45e3m7c-176e-416a-b466-0c5ec8298f8a": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + } + } + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + }, + "tags": { + "hidden-title": "Dev", + "CostCenter": "RnD" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "location": "centralus" + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProj/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/projects/environmentTypes", + "properties": { + "displayName": "DevTest", + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Enabled", + "provisioningState": "Succeeded", + "environmentCount": 0, + "creatorRoleAssignment": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + }, + "userRoleAssignments": { + "e45e3m7c-176e-416a-b466-0c5ec8298f8a": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + } + } + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + }, + "tags": { + "hidden-title": "Dev", + "CostCenter": "RnD" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_Delete.json new file mode 100644 index 000000000000..a3fa3e2be9d4 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_Get.json new file mode 100644 index 000000000000..bec1d4e21665 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject", + "name": "DevProject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "description": "This is my first project.", + "displayName": "Dev", + "catalogSettings": { + "catalogItemSyncTypes": [ + "EnvironmentDefinition" + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "hidden-title": "Dev", + "CostCenter": "R&D" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_GetInheritedSettings.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_GetInheritedSettings.json new file mode 100644 index 000000000000..669a9f61a29a --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_GetInheritedSettings.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "Contoso" + }, + "responses": { + "200": { + "body": { + "projectCatalogSettings": { + "catalogItemSyncEnableStatus": "Enabled" + }, + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Enabled" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_ListByResourceGroup.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_ListByResourceGroup.json new file mode 100644 index 000000000000..fc4215af32f7 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_ListByResourceGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/myproject", + "name": "myproject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "description": "This is my first project.", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "CostCenter": "R&D" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_ListBySubscription.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_ListBySubscription.json new file mode 100644 index 000000000000..d2b8ea6519d6 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_ListBySubscription.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/myproject", + "name": "myproject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "description": "This is my first project.", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "CostCenter": "R&D" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_Patch.json new file mode 100644 index 000000000000..11c039e6b619 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_Patch.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "body": { + "properties": { + "description": "This is my first project.", + "displayName": "Dev", + "catalogSettings": { + "catalogItemSyncTypes": [ + "EnvironmentDefinition" + ] + } + }, + "tags": { + "CostCenter": "R&D" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject", + "name": "myproject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "description": "This is my first project. Very exciting.", + "displayName": "Dev", + "catalogSettings": { + "catalogItemSyncTypes": [ + "EnvironmentDefinition" + ] + }, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "displayName": "Dev", + "CostCenter": "R&D" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_Put.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_Put.json new file mode 100644 index 000000000000..185b390fb126 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_Put.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "body": { + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "description": "This is my first project.", + "displayName": "Dev" + }, + "location": "centralus", + "tags": { + "CostCenter": "R&D" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject", + "name": "DevProject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "description": "This is my first project.", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "hidden-title": "Dev", + "CostCenter": "R&D" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject", + "name": "DevProject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "description": "This is my first project.", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "hidden-title": "Dev", + "CostCenter": "R&D" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_PutWithMaxDevBoxPerUser.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_PutWithMaxDevBoxPerUser.json new file mode 100644 index 000000000000..35859622f5ba --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Projects_PutWithMaxDevBoxPerUser.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "body": { + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "description": "This is my first project.", + "maxDevBoxesPerUser": 3 + }, + "location": "centralus", + "tags": { + "CostCenter": "R&D" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject", + "name": "DevProject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "description": "This is my first project.", + "maxDevBoxesPerUser": 3, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "CostCenter": "R&D" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject", + "name": "DevProject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "description": "This is my first project.", + "maxDevBoxesPerUser": 3, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "CostCenter": "R&D" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Schedules_CreateDailyShutdownPoolSchedule.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Schedules_CreateDailyShutdownPoolSchedule.json new file mode 100644 index 000000000000..d5b99921532b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Schedules_CreateDailyShutdownPoolSchedule.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool", + "scheduleName": "autoShutdown", + "body": { + "properties": { + "state": "Enabled", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/TestProject/pools/DevPool/schedules/autoShutdown", + "name": "autoShutdown", + "type": "Microsoft.DevCenter/pools/schedules", + "properties": { + "state": "Enabled", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/TestProject/pools/DevPool/schedules/autoShutdown", + "name": "autoShutdown", + "type": "Microsoft.DevCenter/pools/schedules", + "properties": { + "state": "Enabled", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30", + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Schedules_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Schedules_Delete.json new file mode 100644 index 000000000000..aec5af5d69ee --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Schedules_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "TestProject", + "poolName": "DevPool", + "scheduleName": "autoShutdown" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Schedules_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Schedules_Get.json new file mode 100644 index 000000000000..57d97b1cc05f --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Schedules_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "TestProject", + "poolName": "DevPool", + "scheduleName": "autoShutdown" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/TestProject/pools/DevPool/schedules/autoShutdown", + "name": "autoShutdown", + "type": "Microsoft.DevCenter/pools/schedules", + "properties": { + "state": "Enabled", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Schedules_ListByPool.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Schedules_ListByPool.json new file mode 100644 index 000000000000..28b5605436be --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Schedules_ListByPool.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "TestProject", + "poolName": "DevPool" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/TestProject/pools/DevPool/schedules/autoShutdown", + "name": "autoShutdown", + "type": "Microsoft.DevCenter/pools/schedules", + "properties": { + "state": "Enabled", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Schedules_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Schedules_Patch.json new file mode 100644 index 000000000000..e2cf964a4439 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Schedules_Patch.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "TestProject", + "poolName": "DevPool", + "scheduleName": "autoShutdown", + "body": { + "properties": { + "time": "18:00" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/TestProject/pools/DevPool/schedules/autoShutdown", + "name": "autoShutdown", + "type": "Microsoft.DevCenter/pools/schedules", + "properties": { + "state": "Enabled", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-06-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Skus_ListByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Skus_ListByProject.json new file mode 100644 index 000000000000..deac555a2ab4 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Skus_ListByProject.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "myProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "projects/pools", + "name": "Large", + "tier": "Premium", + "locations": [ + "CentralUS" + ] + }, + { + "resourceType": "projects/pools", + "name": "Medium", + "tier": "Standard", + "locations": [ + "CentralUS" + ] + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Skus_ListBySubscription.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Skus_ListBySubscription.json new file mode 100644 index 000000000000..62fa2587152b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Skus_ListBySubscription.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "projects/pools", + "name": "Large", + "tier": "Premium", + "locations": [ + "CentralUS" + ] + }, + { + "resourceType": "projects/pools", + "name": "Medium", + "tier": "Standard", + "locations": [ + "CentralUS" + ] + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Usages_ListByLocation.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Usages_ListByLocation.json new file mode 100644 index 000000000000..73073e90a9ce --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/examples/Usages_ListByLocation.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "currentValue": 2, + "limit": 8, + "unit": "Count", + "name": { + "value": "devcenters" + }, + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/Microsoft.DevCenter/locations/westus/quotas/devcenters" + }, + { + "currentValue": 5, + "limit": 30, + "unit": "Count", + "name": { + "value": "projects" + }, + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/Microsoft.DevCenter/locations/westus/quotas/projects" + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/vdi.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/vdi.json new file mode 100644 index 000000000000..732622b89709 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-06-01-preview/vdi.json @@ -0,0 +1,1958 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-06-01-preview", + "title": "DevCenter", + "description": "DevCenter Management 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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/skus": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "SKUs" + ], + "description": "Lists the Microsoft.DevCenter SKUs available in a subscription", + "operationId": "Skus_ListBySubscription", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/SkuListResult" + } + }, + "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" + }, + "x-ms-examples": { + "Skus_ListBySubscription": { + "$ref": "./examples/Skus_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/pools": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Pools" + ], + "description": "Lists pools for a project", + "operationId": "Pools_ListByProject", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PoolListResult" + } + }, + "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" + }, + "x-ms-examples": { + "Pools_ListByProject": { + "$ref": "./examples/Pools_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/pools/{poolName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + } + ], + "get": { + "tags": [ + "Pools" + ], + "description": "Gets a machine pool", + "operationId": "Pools_Get", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Pool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Pools_Get": { + "$ref": "./examples/Pools_Get.json" + }, + "Pools_GetUnhealthyStatus": { + "$ref": "./examples/Pools_GetUnhealthyStatus.json" + } + } + }, + "put": { + "tags": [ + "Pools" + ], + "description": "Creates or updates a machine pool", + "operationId": "Pools_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents a machine pool", + "required": true, + "schema": { + "$ref": "#/definitions/Pool" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Pool" + } + }, + "201": { + "description": "Created. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Pool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Pools_CreateOrUpdate": { + "$ref": "./examples/Pools_Put.json" + }, + "Pools_CreateOrUpdateWithManagedNetwork": { + "$ref": "./examples/Pools_PutWithManagedNetwork.json" + }, + "Pools_CreateOrUpdateWithValueDevBoxDefinition": { + "$ref": "./examples/Pools_PutWithValueDevBoxDefinition.json" + } + } + }, + "patch": { + "tags": [ + "Pools" + ], + "description": "Partially updates a machine pool", + "operationId": "Pools_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents a machine pool", + "required": true, + "schema": { + "$ref": "#/definitions/PoolUpdate" + } + } + ], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Pool" + } + }, + "202": { + "description": "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-examples": { + "Pools_Update": { + "$ref": "./examples/Pools_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Pools" + ], + "description": "Deletes a machine pool", + "operationId": "Pools_Delete", + "parameters": [], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Pools_Delete": { + "$ref": "./examples/Pools_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/pools/{poolName}/runHealthChecks": { + "post": { + "tags": [ + "Pools" + ], + "description": "Triggers a refresh of the pool status.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + } + ], + "operationId": "Pools_RunHealthChecks", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Initiating pool status refresh.", + "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-examples": { + "Pools_RefreshStatus": { + "$ref": "./examples/Pools_RunHealthChecks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/pools/{poolName}/schedules": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Schedules" + ], + "description": "Lists schedules for a pool", + "operationId": "Schedules_ListByPool", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ScheduleListResult" + } + }, + "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" + }, + "x-ms-examples": { + "Schedules_ListByPool": { + "$ref": "./examples/Schedules_ListByPool.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/pools/{poolName}/schedules/{scheduleName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "#/parameters/ScheduleNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Schedules" + ], + "description": "Gets a schedule resource.", + "operationId": "Schedules_Get", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Schedules_GetByPool": { + "$ref": "./examples/Schedules_Get.json" + } + } + }, + "put": { + "tags": [ + "Schedules" + ], + "description": "Creates or updates a Schedule.", + "operationId": "Schedules_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents a scheduled task", + "required": true, + "schema": { + "$ref": "#/definitions/Schedule" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "201": { + "description": "Created. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Schedules_CreateDailyShutdownPoolSchedule": { + "$ref": "./examples/Schedules_CreateDailyShutdownPoolSchedule.json" + } + } + }, + "patch": { + "tags": [ + "Schedules" + ], + "description": "Partially updates a Scheduled.", + "operationId": "Schedules_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents a scheduled task.", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduleUpdate" + } + } + ], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "202": { + "description": "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-examples": { + "Schedules_Update": { + "$ref": "./examples/Schedules_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Schedules" + ], + "description": "Deletes a Scheduled.", + "operationId": "Schedules_Delete", + "parameters": [], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Schedules_Delete": { + "$ref": "./examples/Schedules_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/networkConnections": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Network Connections" + ], + "description": "Lists network connections in a subscription", + "operationId": "NetworkConnections_ListBySubscription", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/NetworkConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NetworkConnections_ListBySubscription": { + "$ref": "./examples/NetworkConnections_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Network Connections" + ], + "description": "Lists network connections in a resource group", + "operationId": "NetworkConnections_ListByResourceGroup", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/NetworkConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NetworkConnections_ListByResourceGroup": { + "$ref": "./examples/NetworkConnections_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections/{networkConnectionName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/NetworkConnectionName" + } + ], + "get": { + "tags": [ + "Network Connections" + ], + "description": "Gets a network connection resource", + "operationId": "NetworkConnections_Get", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/NetworkConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NetworkConnections_Get": { + "$ref": "./examples/NetworkConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "Network Connections" + ], + "description": "Creates or updates a Network Connections resource", + "operationId": "NetworkConnections_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents network connection", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkConnection" + } + } + ], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "Accepted. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NetworkConnection" + } + }, + "201": { + "description": "Created. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NetworkConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NetworkConnections_CreateOrUpdate": { + "$ref": "./examples/NetworkConnections_Put.json" + } + } + }, + "patch": { + "tags": [ + "Network Connections" + ], + "description": "Partially updates a Network Connection", + "operationId": "NetworkConnections_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents network connection", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkConnectionUpdate" + } + } + ], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/NetworkConnection" + } + }, + "202": { + "description": "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-examples": { + "NetworkConnections_Update": { + "$ref": "./examples/NetworkConnections_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Network Connections" + ], + "description": "Deletes a Network Connections resource", + "operationId": "NetworkConnections_Delete", + "parameters": [], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NetworkConnections_Delete": { + "$ref": "./examples/NetworkConnections_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections/{networkConnectionName}/healthChecks": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/NetworkConnectionName" + } + ], + "get": { + "tags": [ + "Network Connections" + ], + "description": "Lists health check status details", + "operationId": "NetworkConnections_ListHealthDetails", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/HealthCheckStatusDetailsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NetworkConnections_ListHealthDetails": { + "$ref": "./examples/NetworkConnections_ListHealthDetails.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections/{networkConnectionName}/healthChecks/latest": { + "get": { + "tags": [ + "Network Connections" + ], + "description": "Gets health check status details.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/NetworkConnectionName" + } + ], + "operationId": "NetworkConnections_GetHealthDetails", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/HealthCheckStatusDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NetworkConnections_GetHealthDetails": { + "$ref": "./examples/NetworkConnections_GetHealthDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections/{networkConnectionName}/runHealthChecks": { + "post": { + "tags": [ + "Network Connection" + ], + "description": "Triggers a new health check run. The execution and health check result can be tracked via the network Connection health check details", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/NetworkConnectionName" + } + ], + "operationId": "NetworkConnections_RunHealthChecks", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Initiating health checks.", + "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-examples": { + "NetworkConnections_RunHealthChecks": { + "$ref": "./examples/NetworkConnections_RunHealthChecks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections/{networkConnectionName}/outboundNetworkDependenciesEndpoints": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/NetworkConnectionName" + } + ], + "get": { + "tags": [ + "Network Connection" + ], + "operationId": "NetworkConnections_ListOutboundNetworkDependenciesEndpoints", + "description": "Lists the endpoints that agents may call as part of Dev Box service administration. These FQDNs should be allowed for outbound access in order for the Dev Box service to function.", + "parameters": [], + "x-ms-examples": { + "ListOutboundNetworkDependencies": { + "$ref": "./examples/NetworkConnections_ListOutboundNetworkDependenciesEndpoints.json" + } + }, + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of outbound network dependencies.", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "SkuListResult": { + "description": "Results of the Microsoft.DevCenter SKU list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "commonDefinitions.json#/definitions/DevCenterSku" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "Pool": { + "description": "A pool of Virtual Machines.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Pool properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/PoolProperties" + } + } + }, + "PoolUpdateProperties": { + "description": "Properties of a Pool. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "devBoxDefinitionType": { + "description": "Indicates if the pool is created from an existing Dev Box Definition or if one is provided directly.", + "$ref": "#/definitions/PoolDevBoxDefinitionType" + }, + "devBoxDefinitionName": { + "description": "Name of a Dev Box definition in parent Project of this Pool. Will be ignored if devBoxDefinitionType is Value.", + "type": "string" + }, + "devBoxDefinition": { + "description": "A definition of the machines that are created from this Pool. Will be ignored if devBoxDefinitionType is Reference or not provided.", + "$ref": "#/definitions/PoolDevBoxDefinition" + }, + "networkConnectionName": { + "description": "Name of a Network Connection in parent Project of this Pool", + "type": "string" + }, + "licenseType": { + "description": "Specifies the license type indicating the caller has already acquired licenses for the Dev Boxes that will be created.", + "$ref": "#/definitions/LicenseType" + }, + "localAdministrator": { + "description": "Indicates whether owners of Dev Boxes in this pool are added as local administrators on the Dev Box.", + "$ref": "#/definitions/LocalAdminStatus" + }, + "stopOnDisconnect": { + "description": "Stop on disconnect configuration settings for Dev Boxes created in this pool.", + "$ref": "#/definitions/StopOnDisconnectConfiguration" + }, + "singleSignOnStatus": { + "description": "Indicates whether Dev Boxes in this pool are created with single sign on enabled. The also requires that single sign on be enabled on the tenant.", + "$ref": "#/definitions/SingleSignOnStatus" + }, + "displayName": { + "type": "string", + "description": "The display name of the pool." + }, + "virtualNetworkType": { + "description": "Indicates whether the pool uses a Virtual Network managed by Microsoft or a customer provided network.", + "$ref": "#/definitions/VirtualNetworkType" + }, + "managedVirtualNetworkRegions": { + "type": "array", + "description": "The regions of the managed virtual network (required when managedNetworkType is Managed).", + "items": { + "type": "string" + } + } + } + }, + "PoolProperties": { + "type": "object", + "description": "Properties of a Pool", + "allOf": [ + { + "$ref": "#/definitions/PoolUpdateProperties" + } + ], + "properties": { + "healthStatus": { + "description": "Overall health status of the Pool. Indicates whether or not the Pool is available to create Dev Boxes.", + "$ref": "#/definitions/HealthStatus", + "readOnly": true + }, + "healthStatusDetails": { + "description": "Details on the Pool health status to help diagnose issues. This is only populated when the pool status indicates the pool is in a non-healthy state", + "type": "array", + "items": { + "$ref": "#/definitions/HealthStatusDetail" + }, + "x-ms-identifiers": [ + "code" + ], + "readOnly": true + }, + "devBoxCount": { + "description": "Indicates the number of provisioned Dev Boxes in this pool.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + } + }, + "required": [ + "devBoxDefinitionName", + "networkConnectionName", + "licenseType", + "localAdministrator" + ] + }, + "PoolDevBoxDefinition": { + "description": "Represents a definition for a Developer Machine.", + "type": "object", + "properties": { + "imageReference": { + "$ref": "#/definitions/ImageReference", + "description": "Image reference information." + }, + "sku": { + "description": "The SKU for Dev Boxes created from the Pool.", + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Sku" + }, + "activeImageReference": { + "$ref": "#/definitions/ImageReference", + "description": "Image reference information for the currently active image (only populated during updates).", + "readOnly": true + } + } + }, + "HealthStatus": { + "description": "Health status indicating whether a pool is available to create Dev Boxes.", + "enum": [ + "Unknown", + "Pending", + "Healthy", + "Warning", + "Unhealthy" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthStatus", + "modelAsString": true + } + }, + "HealthStatusDetail": { + "type": "object", + "description": "Pool health status detail.", + "properties": { + "code": { + "type": "string", + "description": "An identifier for the issue.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "A message describing the issue, intended to be suitable for display in a user interface", + "readOnly": true + } + } + }, + "LicenseType": { + "description": "License Types", + "enum": [ + "Windows_Client" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + }, + "LocalAdminStatus": { + "description": "Local Administrator enable or disable status. Indicates whether owners of Dev Boxes are added as local administrators on the Dev Box.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "LocalAdminStatus", + "modelAsString": true + } + }, + "SingleSignOnStatus": { + "description": "SingleSignOn (SSO) enable or disable status. Indicates whether Dev Boxes in the Pool will have SSO enabled or disabled.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "SingleSignOnStatus", + "modelAsString": true + } + }, + "VirtualNetworkType": { + "description": "Indicates a pool uses a Virtual Network managed by Microsoft (Managed), or a customer provided Network (Unmanaged).", + "type": "string", + "enum": [ + "Managed", + "Unmanaged" + ], + "x-ms-enum": { + "name": "VirtualNetworkType", + "modelAsString": true + } + }, + "PoolDevBoxDefinitionType": { + "description": "Indicates if the pool is created from an existing Dev Box Definition or if one is provided directly.", + "type": "string", + "enum": [ + "Reference", + "Value" + ], + "x-ms-enum": { + "name": "PoolDevBoxDefinitionType", + "modelAsString": true + } + }, + "StopOnDisconnectConfiguration": { + "type": "object", + "description": "Stop on disconnect configuration settings for Dev Boxes created in this pool.", + "properties": { + "status": { + "description": "Whether the feature to stop the Dev Box on disconnect once the grace period has lapsed is enabled.", + "$ref": "#/definitions/StopOnDisconnectEnableStatus" + }, + "gracePeriodMinutes": { + "description": "The specified time in minutes to wait before stopping a Dev Box once disconnect is detected.", + "type": "integer", + "format": "int32" + } + } + }, + "StopOnDisconnectEnableStatus": { + "description": "Stop on disconnect enable or disable status. Indicates whether stop on disconnect to is either enabled or disabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "StopOnDisconnectEnableStatus", + "modelAsString": true + } + }, + "PoolListResult": { + "description": "Results of the machine pool list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Pool" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "PoolUpdate": { + "description": "The pool properties for partial update. Properties not provided in the update request will not be changed.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PoolUpdateProperties", + "description": "Properties of a pool to be updated." + } + } + }, + "ImageReference": { + "type": "object", + "description": "Image reference information", + "properties": { + "id": { + "description": "Image ID, or Image version ID. When Image ID is provided, its latest version will be used.", + "type": "string" + }, + "exactVersion": { + "type": "string", + "readOnly": true, + "description": "The actual version of the image after use. When id references a gallery image latest version, this will indicate the actual version in use." + } + } + }, + "ImageValidationStatus": { + "description": "Image validation status", + "enum": [ + "Unknown", + "Pending", + "Succeeded", + "Failed", + "TimedOut" + ], + "type": "string", + "x-ms-enum": { + "name": "ImageValidationStatus", + "modelAsString": true + } + }, + "ImageValidationErrorDetails": { + "type": "object", + "description": "Image validation error details", + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error." + }, + "message": { + "type": "string", + "description": "A message describing the error." + } + } + }, + "CatalogResourceValidationStatus": { + "description": "Catalog resource validation status", + "enum": [ + "Unknown", + "Pending", + "Succeeded", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "CatalogResourceValidationStatus", + "modelAsString": true + } + }, + "CatalogResourceValidationErrorDetails": { + "type": "object", + "description": "List of validator error details. Populated when changes are made to the resource or its dependent resources that impact the validity of the Catalog resource.", + "properties": { + "errors": { + "description": "Errors associated with resources synchronized from the catalog.", + "type": "array", + "items": { + "$ref": "#/definitions/CatalogErrorDetails" + }, + "x-ms-identifiers": [], + "readOnly": true + } + } + }, + "CatalogErrorDetails": { + "type": "object", + "description": "Catalog error details", + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error." + }, + "message": { + "type": "string", + "description": "A message describing the error." + } + } + }, + "NetworkConnection": { + "type": "object", + "description": "Network related settings", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Properties of a Network Connection", + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkProperties" + } + } + }, + "NetworkConnectionUpdate": { + "description": "The network connection properties for partial update. Properties not provided in the update request will not be changed.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkConnectionUpdateProperties", + "description": "Properties of a network connection resource to be updated." + } + } + }, + "NetworkConnectionUpdateProperties": { + "description": "Properties of network connection. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "subnetId": { + "description": "The subnet to attach Virtual Machines to", + "type": "string" + }, + "domainName": { + "description": "Active Directory domain name", + "type": "string" + }, + "organizationUnit": { + "description": "Active Directory domain Organization Unit (OU)", + "type": "string" + }, + "domainUsername": { + "description": "The username of an Active Directory account (user or service account) that has permissions to create computer objects in Active Directory. Required format: admin@contoso.com.", + "type": "string" + }, + "domainPassword": { + "description": "The password for the account used to join domain", + "type": "string", + "x-ms-secret": true + } + } + }, + "NetworkProperties": { + "description": "Network properties", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkConnectionUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "healthCheckStatus": { + "description": "Overall health status of the network connection. Health checks are run on creation, update, and periodically to validate the network connection.", + "$ref": "#/definitions/HealthCheckStatus", + "readOnly": true + }, + "networkingResourceGroupName": { + "description": "The name for resource group where NICs will be placed.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "domainJoinType": { + "description": "AAD Join type.", + "$ref": "#/definitions/DomainJoinType", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "subnetId", + "domainJoinType" + ] + }, + "NetworkConnectionListResult": { + "description": "Result of the network connection list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkConnection" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "DomainJoinType": { + "description": "Active Directory join type", + "enum": [ + "HybridAzureADJoin", + "AzureADJoin", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "DomainJoinType", + "modelAsString": true + } + }, + "HealthCheckStatus": { + "description": "Health check status values", + "enum": [ + "Unknown", + "Pending", + "Running", + "Passed", + "Warning", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthCheckStatus", + "modelAsString": true + } + }, + "HealthCheckStatusDetails": { + "description": "Health Check details.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Health check status details properties.", + "$ref": "#/definitions/HealthCheckStatusDetailsProperties" + } + } + }, + "HealthCheckStatusDetailsProperties": { + "description": "Health Check properties.", + "type": "object", + "properties": { + "startDateTime": { + "type": "string", + "description": "Start time of last execution of the health checks.", + "readOnly": true, + "format": "date-time" + }, + "endDateTime": { + "type": "string", + "description": "End time of last execution of the health checks.", + "readOnly": true, + "format": "date-time" + }, + "healthChecks": { + "description": "Details for each health check item.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthCheck" + }, + "x-ms-identifiers": [], + "readOnly": true + } + } + }, + "HealthCheck": { + "description": "An individual health check item", + "type": "object", + "properties": { + "status": { + "description": "The status of the health check item.", + "$ref": "#/definitions/HealthCheckStatus", + "readOnly": true + }, + "displayName": { + "description": "The display name of this health check item.", + "type": "string", + "readOnly": true + }, + "startDateTime": { + "description": "Start time of health check item.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "endDateTime": { + "description": "End time of the health check item.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "errorType": { + "description": "The type of error that occurred during this health check.", + "type": "string", + "readOnly": true + }, + "recommendedAction": { + "description": "The recommended action to fix the corresponding error.", + "type": "string", + "readOnly": true + }, + "additionalDetails": { + "description": "Additional details about the health check or the recommended action.", + "type": "string", + "readOnly": true + } + } + }, + "HealthCheckStatusDetailsListResult": { + "description": "Result of the network health check list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthCheckStatusDetails" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "OutboundEnvironmentEndpointCollection": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + }, + "x-ms-identifiers": [ + "category" + ], + "description": "The collection of outbound network dependency endpoints returned by the listing operation." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "OutboundEnvironmentEndpoint": { + "type": "object", + "properties": { + "category": { + "type": "string", + "readOnly": true, + "description": "The type of service that the agent connects to." + }, + "endpoints": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/EndpointDependency" + }, + "x-ms-identifiers": [ + "domainName" + ], + "description": "The endpoints for this service for which the agent requires outbound access." + } + }, + "description": "A collection of related endpoints from the same service for which the agent requires outbound access." + }, + "EndpointDependency": { + "type": "object", + "properties": { + "domainName": { + "type": "string", + "readOnly": true, + "description": "The domain name of the dependency. Domain names may be fully qualified or may contain a * wildcard." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Human-readable supplemental information about the dependency and when it is applicable." + }, + "endpointDetails": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/EndpointDetail" + }, + "x-ms-identifiers": [], + "description": "The list of connection details for this endpoint." + } + }, + "description": "A domain name and connection details used to access a dependency." + }, + "EndpointDetail": { + "type": "object", + "properties": { + "port": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The port an endpoint is connected to." + } + }, + "description": "Details about the connection between the Batch service and the endpoint." + }, + "Schedule": { + "type": "object", + "description": "Represents a Schedule to execute a task.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Properties of a Schedule resource", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScheduleProperties" + } + } + }, + "ScheduleUpdate": { + "description": "The schedule properties for partial update. Properties not provided in the update request will not be changed.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScheduleUpdateProperties", + "description": "Properties of a schedule resource to be updated." + } + } + }, + "ScheduleUpdateProperties": { + "description": "Updatable properties of a Schedule.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "type": { + "description": "Supported type this scheduled task represents.", + "$ref": "#/definitions/ScheduledType" + }, + "frequency": { + "description": "The frequency of this scheduled task.", + "$ref": "#/definitions/ScheduledFrequency" + }, + "time": { + "description": "The target time to trigger the action. The format is HH:MM.", + "type": "string" + }, + "timeZone": { + "description": "The IANA timezone id at which the schedule should execute.", + "type": "string" + }, + "state": { + "description": "Indicates whether or not this scheduled task is enabled.", + "$ref": "#/definitions/ScheduleEnableStatus" + } + } + }, + "ScheduleProperties": { + "description": "The Schedule properties defining when and what to execute.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + } + }, + "required": [ + "type", + "frequency", + "timeZone", + "time" + ] + }, + "ScheduleListResult": { + "description": "Result of the schedule list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Schedule" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "ScheduledType": { + "description": "The supported types for a scheduled task.", + "enum": [ + "StopDevBox" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduledType", + "modelAsString": true + } + }, + "ScheduledFrequency": { + "description": "The frequency of task execution.", + "enum": [ + "Daily" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduledFrequency", + "modelAsString": true + } + }, + "ScheduleEnableStatus": { + "description": "Schedule enable or disable status. Indicates whether the schedule applied to is either enabled or disabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduleEnableStatus", + "modelAsString": true + } + } + }, + "parameters": { + "PoolNameParameter": { + "name": "poolName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the pool.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "NetworkConnectionName": { + "name": "networkConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Network Connection that can be applied to a Pool.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "ScheduleNameParameter": { + "name": "scheduleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the schedule that uniquely identifies it.", + "minLength": 1, + "maxLength": 100, + "pattern": "^[-\\w]+$", + "x-ms-parameter-location": "method" + }, + "FilterParameter": { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName').", + "type": "string", + "required": false, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/commonDefinitions.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/commonDefinitions.json new file mode 100644 index 000000000000..0a0aed864aaa --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/commonDefinitions.json @@ -0,0 +1,170 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-07-01-preview", + "title": "DevCenter", + "description": "DevCenter Management 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": {}, + "definitions": { + "Capability": { + "description": "A name/value pair to describe a capability.", + "type": "object", + "properties": { + "name": { + "description": "Name of the capability.", + "type": "string", + "readOnly": true + }, + "value": { + "description": "Value of the capability.", + "type": "string", + "readOnly": true + } + } + }, + "TrackedResourceUpdate": { + "description": "Base tracked resource type for PATCH updates", + "type": "object", + "properties": { + "tags": { + "$ref": "#/definitions/Tags", + "description": "Resource tags." + }, + "location": { + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ], + "description": "The geo-location where the resource lives" + } + } + }, + "Tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + }, + "DevCenterSku": { + "description": "The resource model definition representing SKU for DevCenter resources", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Sku" + } + ], + "properties": { + "resourceType": { + "type": "string", + "description": "The name of the resource type", + "readOnly": true + }, + "locations": { + "description": "SKU supported locations.", + "type": "array", + "readOnly": true, + "items": { + "type": "string" + } + }, + "capabilities": { + "description": "Collection of name/value pairs to describe the SKU capabilities.", + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/Capability" + }, + "x-ms-identifiers": [] + } + }, + "required": [ + "name" + ] + }, + "ProvisioningState": { + "type": "string", + "description": "Provisioning state of the resource.", + "enum": [ + "NotSpecified", + "Accepted", + "Running", + "Creating", + "Created", + "Updating", + "Updated", + "Deleting", + "Deleted", + "Succeeded", + "Failed", + "Canceled", + "MovingResources", + "TransientFailure", + "RolloutInProgress", + "StorageProvisioningFailed" + ], + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + } + }, + "parameters": { + "ProjectNameParameter": { + "name": "projectName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the project.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "TopParameter": { + "name": "$top", + "in": "query", + "description": "The maximum number of resources to return from the operation. Example: '$top=10'.", + "type": "integer", + "format": "int32", + "required": false, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/devcenter.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/devcenter.json new file mode 100644 index 000000000000..ac1c64a495f7 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/devcenter.json @@ -0,0 +1,7822 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-07-01-preview", + "title": "DevCenter", + "description": "DevCenter Management 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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/plans": { + "get": { + "tags": [ + "Plans" + ], + "description": "Lists all devcenter plans in a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Plans_ListBySubscription", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PlanListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_ListBySubscription": { + "$ref": "./examples/Plans_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/plans": { + "get": { + "tags": [ + "Plans" + ], + "description": "Lists all devcenter plans in a 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" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Plans_ListByResourceGroup", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PlanListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_ListByResourceGroup": { + "$ref": "./examples/Plans_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/plans/{planName}": { + "get": { + "tags": [ + "Plans" + ], + "description": "Gets a devcenter plan.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + } + ], + "operationId": "Plans_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_Get": { + "$ref": "./examples/Plans_Get.json" + } + } + }, + "put": { + "tags": [ + "Plans" + ], + "description": "Creates or updates a devcenter plan resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a devcenter plan.", + "required": true, + "schema": { + "$ref": "#/definitions/DevCenterPlan" + } + } + ], + "operationId": "Plans_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterPlan" + } + }, + "201": { + "description": "Created. The request will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DevCenterPlan" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_Create": { + "$ref": "./examples/Plans_Create.json" + } + } + }, + "patch": { + "tags": [ + "Plans" + ], + "description": "Partially updates a devcenter plan.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable devcenter plan properties.", + "required": true, + "schema": { + "$ref": "#/definitions/PlanUpdate" + } + } + ], + "operationId": "Plans_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterPlan" + } + }, + "202": { + "description": "Accepted. The request 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-examples": { + "Plans_Update": { + "$ref": "./examples/Plans_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Plans" + ], + "description": "Deletes a devcenter plan", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + } + ], + "operationId": "Plans_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_Delete": { + "$ref": "./examples/Plans_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/plans/{planName}/members": { + "get": { + "tags": [ + "Plans" + ], + "description": "Lists all of the members assigned to a devcenter plan.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "PlanMembers_List", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PlanMembersListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_ListByResourceGroup": { + "$ref": "./examples/PlanMembers_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/plans/{planName}/members/{memberName}": { + "get": { + "tags": [ + "Plans" + ], + "description": "Gets a devcenter plan member.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + }, + { + "$ref": "#/parameters/PlanMemberNameParameter" + } + ], + "operationId": "PlanMembers_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterPlanMember" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_Get": { + "$ref": "./examples/PlanMembers_Get.json" + } + } + }, + "put": { + "tags": [ + "Plans" + ], + "description": "Creates or updates a devcenter plan member resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + }, + { + "$ref": "#/parameters/PlanMemberNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a devcenter plan.", + "required": true, + "schema": { + "$ref": "#/definitions/DevCenterPlanMember" + } + } + ], + "operationId": "PlanMembers_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterPlanMember" + } + }, + "201": { + "description": "Created. The request will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DevCenterPlanMember" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_Create": { + "$ref": "./examples/PlanMembers_Create.json" + } + } + }, + "patch": { + "tags": [ + "Plans" + ], + "description": "Partially updates a devcenter plan.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + }, + { + "$ref": "#/parameters/PlanMemberNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable devcenter plan properties.", + "required": true, + "schema": { + "$ref": "#/definitions/PlanMemberUpdate" + } + } + ], + "operationId": "PlanMembers_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterPlanMember" + } + }, + "202": { + "description": "Accepted. The request 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-examples": { + "Plans_Update": { + "$ref": "./examples/PlanMembers_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Plans" + ], + "description": "Deletes a devcenter plan member", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/PlanNameParameter" + }, + { + "$ref": "#/parameters/PlanMemberNameParameter" + } + ], + "operationId": "PlanMembers_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Plans_Delete": { + "$ref": "./examples/PlanMembers_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/devcenters": { + "get": { + "tags": [ + "DevCenters" + ], + "description": "Lists all devcenters in a subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "DevCenters_ListBySubscription", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevCenters_ListBySubscription": { + "$ref": "./examples/DevCenters_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters": { + "get": { + "tags": [ + "DevCenters" + ], + "description": "Lists all devcenters in a 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" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "DevCenters_ListByResourceGroup", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevCenters_ListByResourceGroup": { + "$ref": "./examples/DevCenters_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}": { + "get": { + "tags": [ + "DevCenters" + ], + "description": "Gets a devcenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + } + ], + "operationId": "DevCenters_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevCenters_Get": { + "$ref": "./examples/DevCenters_Get.json" + } + } + }, + "put": { + "tags": [ + "DevCenters" + ], + "description": "Creates or updates a devcenter resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a devcenter.", + "required": true, + "schema": { + "$ref": "#/definitions/DevCenter" + } + } + ], + "operationId": "DevCenters_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenter" + } + }, + "201": { + "description": "Created. The request will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DevCenter" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevCenters_Create": { + "$ref": "./examples/DevCenters_Create.json" + }, + "DevCenters_CreateWithPlanId": { + "$ref": "./examples/DevCenters_CreateWithPlanId.json" + }, + "DevCenters_CreateWithUserIdentity": { + "$ref": "./examples/DevCenters_CreateWithUserIdentity.json" + }, + "DevCenters_CreateWithEncryption": { + "$ref": "./examples/DevCenters_CreateWithEncryption.json" + }, + "DevCenters_CreateWithDisabledManagedNetworks": { + "$ref": "./examples/DevCenters_CreateWithDisabledManagedNetworks.json" + } + } + }, + "patch": { + "tags": [ + "DevCenters" + ], + "description": "Partially updates a devcenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable devcenter properties.", + "required": true, + "schema": { + "$ref": "#/definitions/DevCenterUpdate" + } + } + ], + "operationId": "DevCenters_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenter" + } + }, + "202": { + "description": "Accepted. The request 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-examples": { + "DevCenters_Update": { + "$ref": "./examples/DevCenters_Patch.json" + } + } + }, + "delete": { + "tags": [ + "DevCenters" + ], + "description": "Deletes a devcenter", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + } + ], + "operationId": "DevCenters_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevCenters_Delete": { + "$ref": "./examples/DevCenters_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/encryptionSets": { + "get": { + "tags": [ + "EncryptionSets" + ], + "description": "Lists all encryption sets in the devcenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "EncryptionSets_List", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EncryptionSetListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EncryptionSets_List": { + "$ref": "./examples/DevCenterEncryptionSets_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/encryptionSets/{encryptionSetName}": { + "get": { + "tags": [ + "EncryptionSets" + ], + "description": "Gets a devcenter encryption set.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/DevCenterEncryptionSetNameParameter" + } + ], + "operationId": "EncryptionSets_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterEncryptionSet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EncryptionSets_Get": { + "$ref": "./examples/DevCenterEncryptionSets_Get.json" + } + } + }, + "put": { + "tags": [ + "EncryptionSets" + ], + "description": "Creates or updates a devcenter encryption set resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/DevCenterEncryptionSetNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a devcenter encryption set.", + "required": true, + "schema": { + "$ref": "#/definitions/DevCenterEncryptionSet" + } + } + ], + "operationId": "EncryptionSets_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterEncryptionSet" + } + }, + "201": { + "description": "Created. The request will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DevCenterEncryptionSet" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EncryptionSets_Create": { + "$ref": "./examples/DevCenterEncryptionSets_Create.json" + } + } + }, + "patch": { + "tags": [ + "EncryptionSets" + ], + "description": "Partially updates a devcenter encryption set.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/DevCenterEncryptionSetNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable devcenter encryption set properties.", + "required": true, + "schema": { + "$ref": "#/definitions/EncryptionSetUpdate" + } + } + ], + "operationId": "EncryptionSets_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevCenterEncryptionSet" + } + }, + "202": { + "description": "Accepted. The request 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-examples": { + "EncryptionSets_Update": { + "$ref": "./examples/DevCenterEncryptionSets_Patch.json" + } + } + }, + "delete": { + "tags": [ + "EncryptionSets" + ], + "description": "Deletes a devcenter encryption set", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/DevCenterEncryptionSetNameParameter" + } + ], + "operationId": "EncryptionSets_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EncryptionSets_Delete": { + "$ref": "./examples/DevCenterEncryptionSets_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/projects": { + "get": { + "tags": [ + "Projects" + ], + "description": "Lists all projects in the subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Projects_ListBySubscription", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProjectListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Projects_ListBySubscription": { + "$ref": "./examples/Projects_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects": { + "get": { + "tags": [ + "Projects" + ], + "description": "Lists all projects in the 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" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Projects_ListByResourceGroup", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProjectListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Projects_ListByResourceGroup": { + "$ref": "./examples/Projects_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}": { + "get": { + "tags": [ + "Projects" + ], + "description": "Gets a specific project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + } + ], + "operationId": "Projects_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Projects_Get": { + "$ref": "./examples/Projects_Get.json" + } + } + }, + "put": { + "tags": [ + "Projects" + ], + "description": "Creates or updates a project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a project.", + "required": true, + "schema": { + "$ref": "#/definitions/Project" + } + } + ], + "operationId": "Projects_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "Succeeded", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "201": { + "description": "Accepted. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Projects_CreateOrUpdate": { + "$ref": "./examples/Projects_Put.json" + }, + "Projects_CreateOrUpdateWithLimitsPerDev": { + "$ref": "./examples/Projects_PutWithMaxDevBoxPerUser.json" + } + } + }, + "patch": { + "tags": [ + "Projects" + ], + "description": "Partially updates a project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable project properties.", + "required": true, + "schema": { + "$ref": "#/definitions/ProjectUpdate" + } + } + ], + "operationId": "Projects_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "Succeeded", + "schema": { + "$ref": "#/definitions/Project" + } + }, + "202": { + "description": "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-examples": { + "Projects_Update": { + "$ref": "./examples/Projects_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Projects" + ], + "description": "Deletes a project resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + } + ], + "operationId": "Projects_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Projects_Delete": { + "$ref": "./examples/Projects_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/getInheritedSettings": { + "post": { + "tags": [ + "Projects" + ], + "description": "Gets applicable inherited settings for this project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + } + ], + "operationId": "Projects_GetInheritedSettings", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/InheritedSettingsForProject" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Projects_GetInheritedSettings": { + "$ref": "./examples/Projects_GetInheritedSettings.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/attachednetworks": { + "get": { + "tags": [ + "Attached NetworkConnections." + ], + "description": "Lists the attached NetworkConnections for a Project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "AttachedNetworks_ListByProject", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AttachedNetworkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AttachedNetworks_ListByProject": { + "$ref": "./examples/AttachedNetworks_ListByProject.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/attachednetworks/{attachedNetworkConnectionName}": { + "get": { + "tags": [ + "Attached NetworkConnections" + ], + "description": "Gets an attached NetworkConnection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/AttachedNetworkConnectionNameParameter" + } + ], + "operationId": "AttachedNetworks_GetByProject", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AttachedNetworkConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AttachedNetworks_GetByProject": { + "$ref": "./examples/AttachedNetworks_GetByProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs": { + "get": { + "tags": [ + "Project Catalogs" + ], + "description": "Lists the catalogs associated with a project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "ProjectCatalogs_List", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CatalogListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectCatalogs_List": { + "$ref": "./examples/ProjectCatalogs_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}": { + "get": { + "tags": [ + "Project Catalogs" + ], + "description": "Gets an associated project catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "ProjectCatalogs_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectCatalogs_Get": { + "$ref": "./examples/ProjectCatalogs_Get.json" + } + } + }, + "put": { + "tags": [ + "Project Catalogs" + ], + "description": "Creates or updates a project catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a catalog.", + "required": true, + "schema": { + "$ref": "#/definitions/Catalog" + } + } + ], + "operationId": "ProjectCatalogs_CreateOrUpdate", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "201": { + "description": "Accepted. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "ProjectCatalogs_CreateOrUpdateGitHub": { + "$ref": "./examples/ProjectCatalogs_CreateGitHub.json" + }, + "ProjectCatalogs_CreateOrUpdateAdo": { + "$ref": "./examples/ProjectCatalogs_CreateAdo.json" + } + } + }, + "patch": { + "tags": [ + "Project Catalogs" + ], + "description": "Partially updates a project catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable project catalog properties.", + "required": true, + "schema": { + "$ref": "#/definitions/CatalogUpdate" + } + } + ], + "operationId": "ProjectCatalogs_Patch", + "responses": { + "200": { + "description": "The resource was updated.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "202": { + "description": "The request 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": "azure-async-operation" + }, + "x-ms-examples": { + "ProjectCatalogs_Patch": { + "$ref": "./examples/ProjectCatalogs_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Project Catalogs" + ], + "description": "Deletes a project catalog resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "ProjectCatalogs_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectCatalogs_Delete": { + "$ref": "./examples/ProjectCatalogs_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/environmentDefinitions": { + "get": { + "tags": [ + "Environment Definitions" + ], + "description": "Lists the environment definitions in this project catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "EnvironmentDefinitions_ListByProjectCatalog", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentDefinitionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentDefinitions_ListByProjectCatalog": { + "$ref": "./examples/EnvironmentDefinitions_ListByProjectCatalog.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentDefinitionNameParameter" + } + ], + "get": { + "tags": [ + "Environment Definitions" + ], + "description": "Gets an environment definition from the catalog.", + "operationId": "EnvironmentDefinitions_GetByProjectCatalog", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentDefinitions_GetByProjectCatalog": { + "$ref": "./examples/EnvironmentDefinitions_GetByProjectCatalog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}/getErrorDetails": { + "post": { + "tags": [ + "Environment Definitions" + ], + "description": "Gets Environment Definition error details", + "operationId": "ProjectCatalogEnvironmentDefinitions_GetErrorDetails", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentDefinitionNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "vdi.json#/definitions/CatalogResourceValidationErrorDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectCatalogEnvironmentDefinitions_GetErrorDetails": { + "$ref": "./examples/ProjectCatalogEnvironmentDefinitions_GetErrorDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/getSyncErrorDetails": { + "post": { + "tags": [ + "Project Catalogs" + ], + "description": "Gets project catalog synchronization error details", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "ProjectCatalogs_GetSyncErrorDetails", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/SyncErrorDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectCatalogs_GetSyncErrorDetails": { + "$ref": "./examples/ProjectCatalogs_GetSyncErrorDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/sync": { + "post": { + "tags": [ + "Project Catalogs" + ], + "description": "Syncs templates for a template source.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "ProjectCatalogs_Sync", + "responses": { + "202": { + "description": "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": "azure-async-operation" + }, + "x-ms-examples": { + "ProjectCatalogs_Sync": { + "$ref": "./examples/ProjectCatalogs_Sync.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/connect": { + "post": { + "tags": [ + "Project Catalogs" + ], + "description": "Connects a project catalog to enable syncing.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "ProjectCatalogs_Connect", + "responses": { + "202": { + "description": "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": "azure-async-operation" + }, + "x-ms-examples": { + "ProjectCatalogs_Connect": { + "$ref": "./examples/ProjectCatalogs_Connect.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/galleries": { + "get": { + "tags": [ + "Galleries" + ], + "description": "Lists galleries for a devcenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Galleries_ListByDevCenter", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/GalleryListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Galleries_ListByDevCenter": { + "$ref": "./examples/Galleries_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/galleries/{galleryName}": { + "get": { + "tags": [ + "Galleries" + ], + "description": "Gets a gallery", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/GalleryNameParameter" + } + ], + "operationId": "Galleries_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Galleries_Get": { + "$ref": "./examples/Galleries_Get.json" + } + } + }, + "put": { + "tags": [ + "Galleries" + ], + "description": "Creates or updates a gallery.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/GalleryNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a gallery.", + "required": true, + "schema": { + "$ref": "#/definitions/Gallery" + } + } + ], + "operationId": "Galleries_CreateOrUpdate", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "201": { + "description": "Accepted. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Gallery" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Galleries_CreateOrUpdate": { + "$ref": "./examples/Galleries_Create.json" + } + } + }, + "delete": { + "tags": [ + "Galleries" + ], + "description": "Deletes a gallery resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/GalleryNameParameter" + } + ], + "operationId": "Galleries_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Galleries_Delete": { + "$ref": "./examples/Galleries_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/images": { + "get": { + "tags": [ + "Images" + ], + "description": "Lists images for a devcenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Images_ListByDevCenter", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Images_ListByDevCenter": { + "$ref": "./examples/Images_ListByDevCenter.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/galleries/{galleryName}/images": { + "get": { + "tags": [ + "Images" + ], + "description": "Lists images for a gallery.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/GalleryNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Images_ListByGallery", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Images_ListByGallery": { + "$ref": "./examples/Images_ListByGallery.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/galleries/{galleryName}/images/{imageName}": { + "get": { + "tags": [ + "Images" + ], + "description": "Gets a gallery image.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/GalleryNameParameter" + }, + { + "$ref": "#/parameters/ImageNameParameter" + } + ], + "operationId": "Images_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Images_Get": { + "$ref": "./examples/Images_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/galleries/{galleryName}/images/{imageName}/versions": { + "get": { + "tags": [ + "Image Versions" + ], + "description": "Lists versions for an image.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/GalleryNameParameter" + }, + { + "$ref": "#/parameters/ImageNameParameter" + } + ], + "operationId": "ImageVersions_ListByImage", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageVersionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ImageVersions_ListByImage": { + "$ref": "./examples/ImageVersions_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/galleries/{galleryName}/images/{imageName}/versions/{versionName}": { + "get": { + "tags": [ + "Image Versions" + ], + "description": "Gets an image 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/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/GalleryNameParameter" + }, + { + "$ref": "#/parameters/ImageNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + } + ], + "operationId": "ImageVersions_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Versions_Get": { + "$ref": "./examples/ImageVersions_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/images": { + "get": { + "tags": [ + "Images" + ], + "description": "Lists images for a project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + } + ], + "operationId": "Images_ListByProject", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Images_ListByProject": { + "$ref": "./examples/Images_ListByProject.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/images/{imageName}": { + "get": { + "tags": [ + "Images" + ], + "description": "Gets an image.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/ProjectImageNameParameter" + } + ], + "operationId": "Images_GetByProject", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Image" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Images_GetByProject": { + "$ref": "./examples/Images_GetByProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/images/{imageName}/versions": { + "get": { + "tags": [ + "Image Versions" + ], + "description": "Lists versions for an image.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/ProjectImageNameParameter" + } + ], + "operationId": "ImageVersions_ListByProject", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageVersionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ImageVersions_ListByProject": { + "$ref": "./examples/ImageVersions_ListByProject.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/images/{imageName}/versions/{versionName}": { + "get": { + "tags": [ + "Image Versions" + ], + "description": "Gets an image 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/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/ProjectImageNameParameter" + }, + { + "$ref": "#/parameters/VersionNameParameter" + } + ], + "operationId": "ImageVersions_GetByProject", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageVersion" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ImageVersions_GetByProject": { + "$ref": "./examples/ImageVersions_GetByProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/listSkus": { + "post": { + "tags": [ + "Project SKUs" + ], + "description": "Lists SKUs available to the project", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + } + ], + "operationId": "Skus_ListByProject", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "vdi.json#/definitions/SkuListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Skus_ListByProject": { + "$ref": "./examples/Skus_ListByProject.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/attachednetworks": { + "get": { + "tags": [ + "Attached NetworkConnections." + ], + "description": "Lists the attached NetworkConnections for a DevCenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "AttachedNetworks_ListByDevCenter", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AttachedNetworkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AttachedNetworks_ListByDevCenter": { + "$ref": "./examples/AttachedNetworks_ListByDevCenter.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/attachednetworks/{attachedNetworkConnectionName}": { + "get": { + "tags": [ + "Attached NetworkConnections" + ], + "description": "Gets an attached NetworkConnection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/AttachedNetworkConnectionNameParameter" + } + ], + "operationId": "AttachedNetworks_GetByDevCenter", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AttachedNetworkConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AttachedNetworks_GetByDevCenter": { + "$ref": "./examples/AttachedNetworks_GetByDevCenter.json" + } + } + }, + "put": { + "tags": [ + "Attached NetworkConnections" + ], + "description": "Creates or updates an attached NetworkConnection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/AttachedNetworkConnectionNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents an attached NetworkConnection.", + "required": true, + "schema": { + "$ref": "#/definitions/AttachedNetworkConnection" + } + } + ], + "operationId": "AttachedNetworks_CreateOrUpdate", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AttachedNetworkConnection" + } + }, + "201": { + "description": "Accepted. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/AttachedNetworkConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "AttachedNetworks_Create": { + "$ref": "./examples/AttachedNetworks_Create.json" + } + } + }, + "delete": { + "tags": [ + "Attached NetworkConnections" + ], + "description": "Un-attach a NetworkConnection.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/AttachedNetworkConnectionNameParameter" + } + ], + "operationId": "AttachedNetworks_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AttachedNetworks_Delete": { + "$ref": "./examples/AttachedNetworks_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs": { + "get": { + "tags": [ + "Catalogs" + ], + "description": "Lists catalogs for a devcenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "Catalogs_ListByDevCenter", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CatalogListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_ListByDevCenter": { + "$ref": "./examples/Catalogs_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}": { + "get": { + "tags": [ + "Catalogs" + ], + "description": "Gets a catalog", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "Catalogs_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_Get": { + "$ref": "./examples/Catalogs_Get.json" + } + } + }, + "put": { + "tags": [ + "Catalogs" + ], + "description": "Creates or updates a catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a catalog.", + "required": true, + "schema": { + "$ref": "#/definitions/Catalog" + } + } + ], + "operationId": "Catalogs_CreateOrUpdate", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "201": { + "description": "Accepted. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Catalogs_CreateOrUpdateGitHub": { + "$ref": "./examples/Catalogs_CreateGitHub.json" + }, + "Catalogs_CreateOrUpdateAdo": { + "$ref": "./examples/Catalogs_CreateAdo.json" + } + } + }, + "patch": { + "tags": [ + "Catalogs" + ], + "description": "Partially updates a catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable catalog properties.", + "required": true, + "schema": { + "$ref": "#/definitions/CatalogUpdate" + } + } + ], + "operationId": "Catalogs_Update", + "responses": { + "200": { + "description": "The resource was updated.", + "schema": { + "$ref": "#/definitions/Catalog" + } + }, + "202": { + "description": "The request 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": "azure-async-operation" + }, + "x-ms-examples": { + "Catalogs_Update": { + "$ref": "./examples/Catalogs_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Catalogs" + ], + "description": "Deletes a catalog resource.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "Catalogs_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_Delete": { + "$ref": "./examples/Catalogs_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/getSyncErrorDetails": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "post": { + "tags": [ + "Catalogs" + ], + "description": "Gets catalog synchronization error details", + "operationId": "Catalogs_GetSyncErrorDetails", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/SyncErrorDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Catalogs_GetSyncErrorDetails": { + "$ref": "./examples/Catalogs_GetSyncErrorDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/sync": { + "post": { + "tags": [ + "Catalogs" + ], + "description": "Syncs templates for a template source.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "Catalogs_Sync", + "responses": { + "202": { + "description": "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": "azure-async-operation" + }, + "x-ms-examples": { + "Catalogs_Sync": { + "$ref": "./examples/Catalogs_Sync.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/connect": { + "post": { + "tags": [ + "Catalogs" + ], + "description": "Connects a catalog to enable syncing.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + } + ], + "operationId": "Catalogs_Connect", + "responses": { + "202": { + "description": "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": "azure-async-operation" + }, + "x-ms-examples": { + "Catalogs_Connect": { + "$ref": "./examples/Catalogs_Connect.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/environmentTypes": { + "get": { + "tags": [ + "Environment Types" + ], + "description": "Lists environment types for the devcenter.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "EnvironmentTypes_ListByDevCenter", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentTypeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentTypes_ListByDevCenter": { + "$ref": "./examples/EnvironmentTypes_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/environmentTypes/{environmentTypeName}": { + "get": { + "tags": [ + "Environment Types" + ], + "description": "Gets an environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + } + ], + "operationId": "EnvironmentTypes_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentTypes_Get": { + "$ref": "./examples/EnvironmentTypes_Get.json" + } + } + }, + "put": { + "tags": [ + "Environment Types" + ], + "description": "Creates or updates an environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents an Environment Type.", + "required": true, + "schema": { + "$ref": "#/definitions/EnvironmentType" + } + } + ], + "operationId": "EnvironmentTypes_CreateOrUpdate", + "responses": { + "200": { + "description": "Succeeded", + "schema": { + "$ref": "#/definitions/EnvironmentType" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/EnvironmentType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentTypes_CreateOrUpdate": { + "$ref": "./examples/EnvironmentTypes_Put.json" + } + } + }, + "patch": { + "tags": [ + "Environment Types" + ], + "description": "Partially updates an environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable environment type properties.", + "required": true, + "schema": { + "$ref": "#/definitions/EnvironmentTypeUpdate" + } + } + ], + "operationId": "EnvironmentTypes_Update", + "responses": { + "200": { + "description": "The resource was updated.", + "schema": { + "$ref": "#/definitions/EnvironmentType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentTypes_Update": { + "$ref": "./examples/EnvironmentTypes_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Environment Types" + ], + "description": "Deletes an environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + } + ], + "operationId": "EnvironmentTypes_Delete", + "responses": { + "200": { + "description": "Resource was deleted." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentTypes_Delete": { + "$ref": "./examples/EnvironmentTypes_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/allowedEnvironmentTypes": { + "get": { + "tags": [ + "Environment Types" + ], + "description": "Lists allowed environment types for a project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "ProjectAllowedEnvironmentTypes_List", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AllowedEnvironmentTypeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectAllowedEnvironmentTypes_List": { + "$ref": "./examples/ProjectAllowedEnvironmentTypes_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/allowedEnvironmentTypes/{environmentTypeName}": { + "get": { + "tags": [ + "Environment Types" + ], + "description": "Gets an allowed environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + } + ], + "operationId": "ProjectAllowedEnvironmentTypes_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/AllowedEnvironmentType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectAllowedEnvironmentTypes_Get": { + "$ref": "./examples/ProjectAllowedEnvironmentTypes_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/environmentTypes": { + "get": { + "tags": [ + "Environment Types" + ], + "description": "Lists environment types for a project.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "ProjectEnvironmentTypes_List", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProjectEnvironmentTypeListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectEnvironmentTypes_List": { + "$ref": "./examples/ProjectEnvironmentTypes_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/environmentTypes/{environmentTypeName}": { + "get": { + "tags": [ + "Environment Types" + ], + "description": "Gets a project environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + } + ], + "operationId": "ProjectEnvironmentTypes_Get", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ProjectEnvironmentType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectEnvironmentTypes_Get": { + "$ref": "./examples/ProjectEnvironmentTypes_Get.json" + } + } + }, + "put": { + "tags": [ + "Environment Types" + ], + "description": "Creates or updates a project environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Represents a Project Environment Type.", + "required": true, + "schema": { + "$ref": "#/definitions/ProjectEnvironmentType" + } + } + ], + "operationId": "ProjectEnvironmentTypes_CreateOrUpdate", + "responses": { + "200": { + "description": "Succeeded", + "schema": { + "$ref": "#/definitions/ProjectEnvironmentType" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/ProjectEnvironmentType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectEnvironmentTypes_CreateOrUpdate": { + "$ref": "./examples/ProjectEnvironmentTypes_Put.json" + } + } + }, + "patch": { + "tags": [ + "Environment Types" + ], + "description": "Partially updates a project environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + }, + { + "name": "body", + "in": "body", + "description": "Updatable project environment type properties.", + "required": true, + "schema": { + "$ref": "#/definitions/ProjectEnvironmentTypeUpdate" + } + } + ], + "operationId": "ProjectEnvironmentTypes_Update", + "responses": { + "200": { + "description": "The resource was updated.", + "schema": { + "$ref": "#/definitions/ProjectEnvironmentType" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectEnvironmentTypes_Update": { + "$ref": "./examples/ProjectEnvironmentTypes_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Environment Types" + ], + "description": "Deletes a project environment type.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentTypeNameParameter" + } + ], + "operationId": "ProjectEnvironmentTypes_Delete", + "responses": { + "200": { + "description": "Resource was deleted." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectEnvironmentTypes_Delete": { + "$ref": "./examples/ProjectEnvironmentTypes_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/devboxdefinitions": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Dev Box Definitions" + ], + "description": "List Dev Box definitions for a devcenter.", + "operationId": "DevBoxDefinitions_ListByDevCenter", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBoxDefinitionListResult" + } + }, + "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" + }, + "x-ms-examples": { + "DevBoxDefinitions_ListByDevCenter": { + "$ref": "./examples/DevBoxDefinitions_ListByDevCenter.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/devboxdefinitions/{devBoxDefinitionName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/DevBoxDefinitionName" + } + ], + "get": { + "tags": [ + "Dev Box Definitions" + ], + "description": "Gets a Dev Box definition", + "operationId": "DevBoxDefinitions_Get", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBoxDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevBoxDefinitions_Get": { + "$ref": "./examples/DevBoxDefinitions_Get.json" + } + } + }, + "put": { + "tags": [ + "Dev Box Definitions" + ], + "description": "Creates or updates a Dev Box definition.", + "operationId": "DevBoxDefinitions_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents a Dev Box definition.", + "required": true, + "schema": { + "$ref": "#/definitions/DevBoxDefinition" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBoxDefinition" + } + }, + "201": { + "description": "Created. The operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/DevBoxDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevBoxDefinitions_Create": { + "$ref": "./examples/DevBoxDefinitions_Create.json" + } + } + }, + "patch": { + "tags": [ + "Dev Box Definitions" + ], + "description": "Partially updates a Dev Box definition.", + "operationId": "DevBoxDefinitions_Update", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents a Dev Box definition.", + "required": true, + "schema": { + "$ref": "#/definitions/DevBoxDefinitionUpdate" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBoxDefinition" + } + }, + "202": { + "description": "Accepted. The 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-examples": { + "DevBoxDefinitions_Patch": { + "$ref": "./examples/DevBoxDefinitions_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Dev Box Definitions" + ], + "description": "Deletes a Dev Box definition", + "operationId": "DevBoxDefinitions_Delete", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [], + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevBoxDefinitions_Delete": { + "$ref": "./examples/DevBoxDefinitions_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/devboxdefinitions": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Dev Box Definitions" + ], + "description": "List Dev Box definitions configured for a project.", + "operationId": "DevBoxDefinitions_ListByProject", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBoxDefinitionListResult" + } + }, + "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" + }, + "x-ms-examples": { + "DevBoxDefinitions_ListByProject": { + "$ref": "./examples/DevBoxDefinitions_ListByProject.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/devboxdefinitions/{devBoxDefinitionName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/DevBoxDefinitionName" + } + ], + "get": { + "tags": [ + "Dev Box Definitions" + ], + "description": "Gets a Dev Box definition configured for a project", + "operationId": "DevBoxDefinitions_GetByProject", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/DevBoxDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DevBoxDefinitions_GetByProject": { + "$ref": "./examples/DevBoxDefinitions_GetByProject.json" + } + } + } + }, + "/providers/Microsoft.DevCenter/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available resource provider 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": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Operations_Get": { + "$ref": "./examples/Operations_Get.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/locations/{location}/operationStatuses/{operationId}": { + "get": { + "description": "Gets the current status of an async operation.", + "operationId": "OperationStatuses_Get", + "summary": "Get Operation Status", + "tags": [ + "OperationStatus" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + }, + { + "$ref": "#/parameters/OperationIdParameter" + } + ], + "responses": { + "200": { + "description": "The requested operation status", + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "202": { + "description": "The requested operation status", + "headers": { + "Location": { + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/OperationStatus" + } + }, + "default": { + "description": "Resource Provider error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get OperationStatus": { + "$ref": "./examples/OperationStatus_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/locations/{location}/usages": { + "get": { + "operationId": "Usages_ListByLocation", + "description": "Lists the current usages and limits in this location for the provided subscription.", + "tags": [ + "Usages" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/LocationParameter" + } + ], + "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/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "listUsages": { + "$ref": "./examples/Usages_ListByLocation.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/checkNameAvailability": { + "post": { + "tags": [ + "CheckNameAvailability" + ], + "operationId": "CheckNameAvailability_Execute", + "x-ms-examples": { + "NameAvailability": { + "$ref": "./examples/CheckNameAvailability.json" + } + }, + "description": "Check the availability of name for resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "nameAvailabilityRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityRequest" + }, + "description": "The required parameters for checking if resource name is available." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/checkScopedNameAvailability": { + "post": { + "tags": [ + "CheckScopedNameAvailability" + ], + "operationId": "CheckScopedNameAvailability_Execute", + "x-ms-examples": { + "DevcenterCatalogNameAvailability": { + "$ref": "./examples/CheckScopedNameAvailability_DevCenterCatalog.json" + }, + "ProjectCatalogNameAvailability": { + "$ref": "./examples/CheckScopedNameAvailability_ProjectCatalog.json" + } + }, + "description": "Check the availability of name for resource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "nameAvailabilityRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckScopedNameAvailabilityRequest" + }, + "description": "The required parameters for checking if resource name is available." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/CheckNameAvailabilityResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Customization Tasks" + ], + "description": "List Tasks in the catalog.", + "operationId": "CustomizationTasks_ListByCatalog", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomizationTaskListResult" + } + }, + "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" + }, + "x-ms-examples": { + "CustomizationTasks_ListByCatalog": { + "$ref": "./examples/CustomizationTasks_ListByCatalog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks/{taskName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/CustomizationTaskNameParameter" + } + ], + "get": { + "tags": [ + "Customization Tasks" + ], + "description": "Gets a Task from the catalog", + "operationId": "CustomizationTasks_Get", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/CustomizationTask" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CustomizationTasks_Get": { + "$ref": "./examples/CustomizationTasks_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/tasks/{taskName}/getErrorDetails": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/CustomizationTaskNameParameter" + } + ], + "post": { + "tags": [ + "Customization Tasks" + ], + "description": "Gets Customization Task error details", + "operationId": "CustomizationTasks_GetErrorDetails", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "vdi.json#/definitions/CatalogResourceValidationErrorDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "CustomizationTasks_GetErrorDetails": { + "$ref": "./examples/CustomizationTasks_GetErrorDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions": { + "get": { + "tags": [ + "Environment Definitions" + ], + "description": "List environment definitions in the catalog.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "operationId": "EnvironmentDefinitions_ListByCatalog", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentDefinitionListResult" + } + }, + "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" + }, + "x-ms-examples": { + "EnvironmentDefinitions_ListByCatalog": { + "$ref": "./examples/EnvironmentDefinitions_ListByCatalog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentDefinitionNameParameter" + } + ], + "get": { + "tags": [ + "Environment Definitions" + ], + "description": "Gets an environment definition from the catalog.", + "operationId": "EnvironmentDefinitions_Get", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/EnvironmentDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentDefinitions_Get": { + "$ref": "./examples/EnvironmentDefinitions_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/devcenters/{devCenterName}/catalogs/{catalogName}/environmentDefinitions/{environmentDefinitionName}/getErrorDetails": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/DevCenterNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/EnvironmentDefinitionNameParameter" + } + ], + "post": { + "tags": [ + "Environment Definitions" + ], + "description": "Gets Environment Definition error details", + "operationId": "EnvironmentDefinitions_GetErrorDetails", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "vdi.json#/definitions/CatalogResourceValidationErrorDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "EnvironmentDefinitions_GetErrorDetails": { + "$ref": "./examples/EnvironmentDefinitions_GetErrorDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/imageDefinitions": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Image Definitions" + ], + "description": "List Image Definitions in the catalog.", + "operationId": "ProjectCatalogImageDefinitions_ListByProjectCatalog", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageDefinitionListResult" + } + }, + "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" + }, + "x-ms-examples": { + "ImageDefinitions_ListByProjectCatalog": { + "$ref": "./examples/ImageDefinitions_ListByProjectCatalog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/imageDefinitions/{imageDefinitionName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/ImageDefinitionNameParameter" + } + ], + "get": { + "tags": [ + "Image Definitions" + ], + "description": "Gets an Image Definition from the catalog", + "operationId": "ProjectCatalogImageDefinitions_GetByProjectCatalog", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageDefinition" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ImageDefinitions_GetByProjectCatalog": { + "$ref": "./examples/ImageDefinitions_GetByProjectCatalog.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/imageDefinitions/{imageDefinitionName}/buildImage": { + "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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/ImageDefinitionNameParameter" + } + ], + "post": { + "tags": [ + "Image Definitions" + ], + "description": "Builds an image for the specified Image Definition.", + "operationId": "ProjectCatalogImageDefinitions_BuildImage", + "parameters": [], + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Azure-AsyncOperation": { + "type": "string" + }, + "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": "azure-async-operation" + }, + "x-ms-examples": { + "ProjectCatalogImageDefinitions_BuildImage": { + "$ref": "./examples/ImageDefinitions_BuildImage.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/imageDefinitions/{imageDefinitionName}/builds": { + "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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/ImageDefinitionNameParameter" + } + ], + "get": { + "tags": [ + "Image Definitions" + ], + "description": "Lists builds for a specified image definition.", + "operationId": "ProjectCatalogImageDefinitionBuilds_ListByImageDefinition", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageDefinitionBuildListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ImageDefinitionBuilds_ListByImageDefinition": { + "$ref": "./examples/ImageDefinitions_ListImageBuildsByImageDefinition.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/imageDefinitions/{imageDefinitionName}/builds/{buildName}": { + "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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/ImageDefinitionNameParameter" + }, + { + "$ref": "#/parameters/ImageDefinitionBuildNameParameter" + } + ], + "get": { + "tags": [ + "Image Definitions" + ], + "description": "Gets a build for a specified image definition.", + "operationId": "ProjectCatalogImageDefinitionBuild_Get", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageDefinitionBuild" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ImageDefinitionBuilds_GetByImageDefinition": { + "$ref": "./examples/ImageDefinitions_GetImageBuild.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/imageDefinitions/{imageDefinitionName}/builds/{buildName}/cancel": { + "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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/ImageDefinitionNameParameter" + }, + { + "$ref": "#/parameters/ImageDefinitionBuildNameParameter" + } + ], + "post": { + "tags": [ + "Image Definitions" + ], + "description": "Cancels the specified build for an image definition.", + "operationId": "ProjectCatalogImageDefinitionBuild_Cancel", + "parameters": [], + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Azure-AsyncOperation": { + "type": "string" + }, + "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": "azure-async-operation" + }, + "x-ms-examples": { + "ImageDefinitionBuilds_CancelByImageDefinition": { + "$ref": "./examples/ImageDefinitions_CancelImageBuild.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/catalogs/{catalogName}/imageDefinitions/{imageDefinitionName}/builds/{buildName}/getBuildDetails": { + "post": { + "tags": [ + "Image Definitions" + ], + "description": "Gets Build details", + "operationId": "ProjectCatalogImageDefinitionBuild_GetBuildDetails", + "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/ProjectNameParameter" + }, + { + "$ref": "#/parameters/CatalogNameParameter" + }, + { + "$ref": "#/parameters/ImageDefinitionNameParameter" + }, + { + "$ref": "#/parameters/ImageDefinitionBuildNameParameter" + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ImageDefinitionBuildDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ProjectCatalogImageDefinitionBuild_GetErrorDetails": { + "$ref": "./examples/ImageDefinitions_GetImageBuildDetails.json" + } + } + } + } + }, + "definitions": { + "DevCenterPlan": { + "type": "object", + "description": "Represents a devcenter plan resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Plan properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/PlanProperties" + }, + "sku": { + "description": "The SKU for DevCenters created using this definition.", + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Sku" + } + } + }, + "PlanProperties": { + "description": "Properties of the devcenter plan.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + } + } + }, + "DevCenterPlanMember": { + "type": "object", + "description": "Represents a devcenter plan member resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Plan member properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/PlanMemberProperties" + }, + "tags": { + "$ref": "commonDefinitions.json#/definitions/Tags", + "description": "Resource tags." + } + } + }, + "PlanMemberProperties": { + "description": "Properties of the devcenter plan member.", + "type": "object", + "properties": { + "memberId": { + "description": "The unique id of the member.", + "type": "string" + }, + "memberType": { + "description": "The type of the member (user, group)", + "enum": [ + "User", + "Group" + ], + "type": "string", + "x-ms-enum": { + "name": "PlanMemberType", + "modelAsString": true + } + }, + "tags": { + "$ref": "commonDefinitions.json#/definitions/Tags", + "description": "Resource tags." + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + } + } + }, + "PlanMemberUpdate": { + "description": "The devcenter plan member resource for partial updates. Properties not provided in the update request will not be changed.", + "type": "object", + "properties": { + "tags": { + "$ref": "commonDefinitions.json#/definitions/Tags", + "description": "Resource tags." + } + } + }, + "DevCenter": { + "type": "object", + "description": "Represents a devcenter resource.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "DevCenter properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DevCenterProperties" + }, + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + } + } + }, + "DevCenterProperties": { + "description": "Properties of the devcenter.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DevCenterUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "devCenterUri": { + "description": "The URI of the Dev Center.", + "$ref": "#/definitions/DevCenterUri", + "readOnly": true + } + } + }, + "DevCenterUpdateProperties": { + "description": "Properties of the devcenter. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "planId": { + "type": "string", + "description": "Resource Id of an associated Plan" + }, + "encryption": { + "$ref": "#/definitions/Encryption", + "description": "Encryption settings to be used for server-side encryption for proprietary content (such as catalogs, logs, customizations)." + }, + "displayName": { + "type": "string", + "description": "The display name of the devcenter." + }, + "projectCatalogSettings": { + "$ref": "#/definitions/DevCenterProjectCatalogSettings", + "description": "Dev Center settings to be used when associating a project with a catalog." + }, + "networkSettings": { + "$ref": "#/definitions/DevCenterNetworkSettings", + "description": "Network settings that will be enforced on network resources associated with the Dev Center." + }, + "devBoxProvisioningSettings": { + "$ref": "#/definitions/DevBoxProvisioningSettings", + "description": "Settings to be used in the provisioning of all Dev Boxes that belong to this dev center." + } + } + }, + "DevCenterEncryptionSet": { + "description": "Represents a devcenter encryption set resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DevCenterEncryptionSetProperties", + "description": "Properties of a devcenter encryption set." + }, + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + } + } + }, + "DevCenterEncryptionSetProperties": { + "description": "Properties of the devcenter encryption set.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DevCenterEncryptionSetUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + } + } + }, + "DevCenterEncryptionSetUpdateProperties": { + "description": "Properties of the devcenter encryption set. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "devboxDisksEncryptionEnableStatus": { + "description": "Devbox disk encryption enable or disable status. Indicates if Devbox disks encryption using DevCenter CMK is enabled or not.", + "$ref": "#/definitions/DevboxDisksEncryptionEnableStatus" + }, + "keyEncryptionKeyUrl": { + "type": "string", + "description": "Key encryption key Url, versioned or non-versioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek." + } + } + }, + "DevboxDisksEncryptionEnableStatus": { + "description": "Devbox disk encryption enable or disable status. Indicates if Devbox disks encryption is enabled or not.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "DevboxDisksEncryptionEnableStatus", + "modelAsString": true + } + }, + "DevCenterProjectCatalogSettings": { + "type": "object", + "description": "Project catalog settings for project catalogs under a project associated to this dev center.", + "properties": { + "catalogItemSyncEnableStatus": { + "description": "Whether project catalogs associated with projects in this dev center can be configured to sync catalog items.", + "$ref": "#/definitions/CatalogItemSyncEnableStatus" + } + } + }, + "DevBoxProvisioningSettings": { + "type": "object", + "description": "Provisioning settings that apply to all Dev Boxes created in this dev center", + "properties": { + "installAzureMonitorAgentEnableStatus": { + "description": "Whether project catalogs associated with projects in this dev center can be configured to sync catalog items.", + "$ref": "#/definitions/InstallAzureMonitorAgentEnableStatus" + } + } + }, + "CatalogItemSyncEnableStatus": { + "description": "Catalog item sync types enable or disable status. Indicates whether project catalogs are allowed to sync catalog items under projects associated to this dev center.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "CatalogItemSyncEnableStatus", + "modelAsString": true + } + }, + "DevCenterNetworkSettings": { + "type": "object", + "description": "Network settings for the Dev Center.", + "properties": { + "microsoftHostedNetworkEnableStatus": { + "$ref": "#/definitions/MicrosoftHostedNetworkEnableStatus" + } + } + }, + "ProjectNetworkSettings": { + "type": "object", + "description": "Network settings for the project.", + "properties": { + "microsoftHostedNetworkEnableStatus": { + "$ref": "#/definitions/MicrosoftHostedNetworkEnableStatus", + "readOnly": true + } + } + }, + "MicrosoftHostedNetworkEnableStatus": { + "description": "Indicates whether pools in this Dev Center can use Microsoft Hosted Networks. Defaults to Enabled if not set.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "MicrosoftHostedNetworkEnableStatus", + "modelAsString": true + } + }, + "Encryption": { + "type": "object", + "properties": { + "customerManagedKeyEncryption": { + "$ref": "../../../../../common-types/resource-management/v4/customermanagedkeys.json#/definitions/customerManagedKeyEncryption" + } + } + }, + "InstallAzureMonitorAgentEnableStatus": { + "description": "Setting to be used when determining whether to install the Azure Monitor Agent service on Dev Boxes that belong to this dev center.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "InstallAzureMonitorAgentEnableStatus", + "modelAsString": true + } + }, + "PlanUpdate": { + "description": "The devcenter plan resource for partial updates. Properties not provided in the update request will not be changed.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "sku": { + "description": "The SKU for DevCenters created using this definition.", + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Sku" + } + } + }, + "DevCenterUpdate": { + "description": "The devcenter resource for partial updates. Properties not provided in the update request will not be changed.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DevCenterUpdateProperties", + "description": "Properties of a Dev Center to be updated." + } + } + }, + "EncryptionSetUpdate": { + "description": "The devcenter encryption set resource for partial updates. Properties not provided in the update request will not be changed.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DevCenterEncryptionSetUpdateProperties", + "description": "Properties of a Dev Center encryption set to be updated." + }, + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + } + } + }, + "PlanListResult": { + "description": "Result of the list devcenter plans operation", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DevCenterPlan" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "PlanMembersListResult": { + "description": "Result of the list devcenter plan members operation", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DevCenterPlanMember" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "DevCenterListResult": { + "description": "Result of the list devcenters operation", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DevCenter" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "EncryptionSetListResult": { + "description": "Result of the list devcenter encryption set operation", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/DevCenterEncryptionSet" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "DevCenterUri": { + "description": "The URI of the resource.", + "readOnly": true, + "type": "string" + }, + "Project": { + "description": "Represents a project resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProjectProperties", + "description": "Properties of a project." + }, + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + } + } + }, + "ProjectUpdateProperties": { + "description": "Properties of a project. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "devCenterId": { + "type": "string", + "description": "Resource Id of an associated DevCenter" + }, + "description": { + "type": "string", + "description": "Description of the project." + }, + "maxDevBoxesPerUser": { + "type": "integer", + "format": "int32", + "minimum": 0, + "description": "When specified, limits the maximum number of Dev Boxes a single user can create across all pools in the project. This will have no effect on existing Dev Boxes when reduced." + }, + "displayName": { + "type": "string", + "description": "The display name of the project." + }, + "catalogSettings": { + "$ref": "#/definitions/ProjectCatalogSettings", + "description": "Settings to be used when associating a project with a catalog." + } + } + }, + "ProjectCatalogSettings": { + "description": "Settings to be used when associating a project with a catalog.", + "type": "object", + "properties": { + "catalogItemSyncTypes": { + "description": "Indicates catalog item types that can be synced.", + "type": "array", + "items": { + "$ref": "#/definitions/CatalogItemType" + } + } + } + }, + "ProjectProperties": { + "description": "Properties of a project.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProjectUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "devCenterUri": { + "description": "The URI of the Dev Center resource this project is associated with.", + "$ref": "#/definitions/DevCenterUri", + "readOnly": true + } + } + }, + "ProjectUpdate": { + "description": "The project properties for partial update. Properties not provided in the update request will not be changed.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProjectUpdateProperties", + "description": "Properties of a project to be updated." + }, + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + } + } + }, + "ProjectListResult": { + "description": "Results of the project list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Project" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "InheritedSettingsForProject": { + "description": "Applicable inherited settings for a project.", + "type": "object", + "properties": { + "projectCatalogSettings": { + "$ref": "#/definitions/DevCenterProjectCatalogSettings", + "description": "Dev Center settings to be used when associating a project with a catalog.", + "readOnly": true + }, + "networkSettings": { + "$ref": "#/definitions/ProjectNetworkSettings", + "description": "Network settings that will be enforced on this project.", + "readOnly": true + } + } + }, + "Catalog": { + "description": "Represents a catalog.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CatalogProperties", + "description": "Catalog properties." + } + } + }, + "CatalogUpdateProperties": { + "description": "Properties of a catalog. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "gitHub": { + "description": "Properties for a GitHub catalog type.", + "$ref": "#/definitions/GitCatalog" + }, + "adoGit": { + "description": "Properties for an Azure DevOps catalog type.", + "$ref": "#/definitions/GitCatalog" + }, + "syncType": { + "enum": [ + "Manual", + "Scheduled" + ], + "description": "Indicates the type of sync that is configured for the catalog.", + "type": "string", + "x-ms-enum": { + "name": "CatalogSyncType", + "modelAsString": true + } + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + } + } + }, + "CatalogProperties": { + "description": "Properties of a catalog.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/CatalogUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "syncState": { + "enum": [ + "Succeeded", + "InProgress", + "Failed", + "Canceled" + ], + "description": "The synchronization state of the catalog.", + "readOnly": true, + "type": "string", + "x-ms-enum": { + "name": "CatalogSyncState", + "modelAsString": true + } + }, + "lastSyncStats": { + "description": "Stats of the latest synchronization.", + "$ref": "#/definitions/SyncStats", + "readOnly": true + }, + "connectionState": { + "enum": [ + "Connected", + "Disconnected" + ], + "description": "The connection state of the catalog.", + "readOnly": true, + "type": "string", + "x-ms-enum": { + "name": "CatalogConnectionState", + "modelAsString": true + } + }, + "lastConnectionTime": { + "description": "When the catalog was last connected.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "lastSyncTime": { + "description": "When the catalog was last synced.", + "type": "string", + "readOnly": true, + "format": "date-time" + } + } + }, + "SyncStats": { + "description": "Stats of the synchronization.", + "type": "object", + "properties": { + "added": { + "description": "Count of catalog items added during synchronization.", + "type": "integer", + "format": "int32", + "readOnly": true, + "minimum": 0 + }, + "updated": { + "description": "Count of catalog items updated during synchronization.", + "type": "integer", + "format": "int32", + "readOnly": true, + "minimum": 0 + }, + "unchanged": { + "description": "Count of catalog items that were unchanged during synchronization.", + "type": "integer", + "format": "int32", + "readOnly": true, + "minimum": 0 + }, + "removed": { + "description": "Count of catalog items removed during synchronization.", + "type": "integer", + "format": "int32", + "readOnly": true, + "minimum": 0 + }, + "validationErrors": { + "description": "Count of catalog items that had validation errors during synchronization.", + "type": "integer", + "format": "int32", + "readOnly": true, + "minimum": 0 + }, + "synchronizationErrors": { + "description": "Count of synchronization errors that occured during synchronization.", + "type": "integer", + "format": "int32", + "readOnly": true, + "minimum": 0 + }, + "syncedCatalogItemTypes": { + "description": "Indicates catalog item types that were synced.", + "type": "array", + "items": { + "$ref": "#/definitions/CatalogItemType" + } + } + } + }, + "GitCatalog": { + "description": "Properties for a Git repository catalog.", + "type": "object", + "properties": { + "uri": { + "description": "Git URI.", + "type": "string" + }, + "branch": { + "description": "Git branch.", + "type": "string" + }, + "secretIdentifier": { + "description": "A reference to the Key Vault secret containing a security token to authenticate to a Git repository.", + "type": "string" + }, + "path": { + "description": "The folder where the catalog items can be found inside the repository.", + "type": "string" + } + } + }, + "CatalogUpdate": { + "description": "The catalog's properties for partial update. Properties not provided in the update request will not be changed.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CatalogUpdateProperties", + "description": "Catalog properties for update." + } + } + }, + "CatalogListResult": { + "description": "Results of the catalog list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Catalog" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "SyncErrorDetails": { + "description": "Synchronization error details.", + "type": "object", + "properties": { + "operationError": { + "description": "Error information for the overall synchronization operation.", + "readOnly": true, + "$ref": "vdi.json#/definitions/CatalogErrorDetails" + }, + "conflicts": { + "description": "Catalog items that have conflicting names.", + "type": "array", + "items": { + "$ref": "#/definitions/CatalogConflictError" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "errors": { + "description": "Errors that occured during synchronization.", + "type": "array", + "items": { + "$ref": "#/definitions/CatalogSyncError" + }, + "x-ms-identifiers": [], + "readOnly": true + } + } + }, + "CatalogSyncError": { + "description": "An individual synchronization error.", + "type": "object", + "properties": { + "path": { + "description": "The path of the file the error is associated with.", + "type": "string", + "readOnly": true + }, + "errorDetails": { + "description": "Errors associated with the file.", + "type": "array", + "items": { + "$ref": "vdi.json#/definitions/CatalogErrorDetails" + }, + "x-ms-identifiers": [], + "readOnly": true + } + } + }, + "CatalogConflictError": { + "description": "An individual conflict error.", + "type": "object", + "properties": { + "path": { + "description": "The path of the file that has a conflicting name.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Name of the conflicting catalog item.", + "type": "string", + "readOnly": true + } + } + }, + "Gallery": { + "description": "Represents a gallery.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/GalleryProperties", + "description": "Gallery properties." + } + } + }, + "GalleryProperties": { + "description": "Properties of a gallery.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "galleryResourceId": { + "description": "The resource ID of the backing Azure Compute Gallery.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "galleryResourceId" + ] + }, + "Image": { + "description": "Represents an image.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ImageProperties", + "description": "Image properties." + } + } + }, + "ImageProperties": { + "description": "Properties of an image.", + "type": "object", + "properties": { + "description": { + "description": "The description of the image.", + "type": "string", + "readOnly": true + }, + "publisher": { + "description": "The publisher of the image.", + "type": "string", + "readOnly": true + }, + "offer": { + "description": "The name of the image offer.", + "type": "string", + "readOnly": true + }, + "sku": { + "description": "The SKU name for the image.", + "type": "string", + "readOnly": true + }, + "recommendedMachineConfiguration": { + "description": "The recommended machine configuration to use with the image.", + "$ref": "#/definitions/RecommendedMachineConfiguration", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "hibernateSupport": { + "description": "Indicates whether this image has hibernate enabled. Not all images are capable of supporting hibernation. To find out more see https://aka.ms/devbox/hibernate", + "readOnly": true, + "$ref": "#/definitions/HibernateSupport" + } + } + }, + "RecommendedMachineConfiguration": { + "description": "Properties for a recommended machine configuration.", + "type": "object", + "properties": { + "memory": { + "description": "Recommended memory range.", + "$ref": "#/definitions/ResourceRange", + "readOnly": true + }, + "vCPUs": { + "description": "Recommended vCPU range.", + "$ref": "#/definitions/ResourceRange", + "readOnly": true + } + } + }, + "ResourceRange": { + "description": "Properties for a range of values.", + "type": "object", + "properties": { + "min": { + "description": "Minimum value.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "max": { + "description": "Maximum value.", + "type": "integer", + "format": "int32", + "readOnly": true + } + } + }, + "ImageVersion": { + "description": "Represents an image version.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ImageVersionProperties", + "description": "Image version properties." + } + } + }, + "ImageVersionProperties": { + "description": "Properties of an image version.", + "type": "object", + "properties": { + "name": { + "description": "The semantic version string.", + "type": "string", + "readOnly": true + }, + "publishedDate": { + "description": "The datetime that the backing image version was published.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "excludeFromLatest": { + "description": "If the version should be excluded from being treated as the latest version.", + "type": "boolean", + "readOnly": true + }, + "osDiskImageSizeInGb": { + "description": "The size of the OS disk image, in GB.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + } + } + }, + "GalleryListResult": { + "description": "Results of the gallery list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Gallery" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "ImageListResult": { + "description": "Results of the image list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Image" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "ImageVersionListResult": { + "description": "Results of the image version list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ImageVersion" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "AllowedEnvironmentType": { + "description": "Represents an allowed environment type.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AllowedEnvironmentTypeProperties", + "description": "Properties of an allowed environment type." + } + } + }, + "AllowedEnvironmentTypeProperties": { + "description": "Properties of an allowed environment type.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "displayName": { + "description": "The display name of the allowed environment type.", + "type": "string", + "readOnly": true + } + } + }, + "AllowedEnvironmentTypeListResult": { + "description": "Result of the allowed environment type list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/AllowedEnvironmentType" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "EnvironmentType": { + "description": "Represents an environment type.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EnvironmentTypeProperties", + "description": "Properties of an environment type." + }, + "tags": { + "$ref": "commonDefinitions.json#/definitions/Tags", + "description": "Resource tags." + } + } + }, + "EnvironmentTypeProperties": { + "description": "Properties of an environment type.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EnvironmentTypeUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + } + } + }, + "EnvironmentTypeUpdate": { + "description": "The environment type for partial update. Properties not provided in the update request will not be changed.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/EnvironmentTypeUpdateProperties", + "description": "Properties of an environment type to be updated." + }, + "tags": { + "$ref": "commonDefinitions.json#/definitions/Tags", + "description": "Resource tags." + } + } + }, + "EnvironmentTypeUpdateProperties": { + "description": "Properties of an environment type. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "displayName": { + "type": "string", + "description": "The display name of the environment type." + } + } + }, + "EnvironmentTypeListResult": { + "description": "Result of the environment type list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentType" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "ProjectEnvironmentType": { + "description": "Represents an environment type.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProjectEnvironmentTypeProperties", + "description": "Properties of an environment type." + }, + "tags": { + "$ref": "commonDefinitions.json#/definitions/Tags", + "description": "Resource tags." + }, + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "location": { + "type": "string", + "description": "The geo-location for the environment type" + } + } + }, + "ProjectEnvironmentTypeUpdateProperties": { + "description": "Properties of a project environment type. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "deploymentTargetId": { + "description": "Id of a subscription that the environment type will be mapped to. The environment's resources will be deployed into this subscription.", + "type": "string" + }, + "displayName": { + "description": "The display name of the project environment type.", + "type": "string" + }, + "status": { + "description": "Defines whether this Environment Type can be used in this Project.", + "$ref": "#/definitions/EnvironmentTypeEnableStatus" + }, + "creatorRoleAssignment": { + "description": "The role definition assigned to the environment creator on backing resources.", + "type": "object", + "properties": { + "roles": { + "type": "object", + "description": "A map of roles to assign to the environment creator.", + "additionalProperties": { + "$ref": "#/definitions/EnvironmentRole" + } + } + } + }, + "userRoleAssignments": { + "description": "Role Assignments created on environment backing resources. This is a mapping from a user object ID to an object of role definition IDs.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserRoleAssignment" + } + } + } + }, + "ProjectEnvironmentTypeProperties": { + "description": "Properties of a project environment type.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProjectEnvironmentTypeUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "environmentCount": { + "description": "The number of environments of this type.", + "type": "integer", + "format": "int32", + "minimum": 0, + "readOnly": true + } + } + }, + "ProjectEnvironmentTypeUpdate": { + "description": "The project environment type for partial update. Properties not provided in the update request will not be changed.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ProjectEnvironmentTypeUpdateProperties", + "description": "Properties to configure an environment type." + }, + "tags": { + "$ref": "commonDefinitions.json#/definitions/Tags", + "description": "Resource tags." + }, + "identity": { + "description": "Managed identity properties", + "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity" + } + } + }, + "ProjectEnvironmentTypeListResult": { + "description": "Result of the project environment type list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ProjectEnvironmentType" + } + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "DevBoxDefinitionListResult": { + "description": "Results of the Dev Box definition list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/DevBoxDefinition" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "DevBoxDefinitionUpdate": { + "description": "Partial update of a Dev Box definition resource.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DevBoxDefinitionUpdateProperties", + "description": "Properties of a Dev Box definition to be updated." + } + } + }, + "DevBoxDefinition": { + "description": "Represents a definition for a Developer Machine.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Dev Box definition properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/DevBoxDefinitionProperties" + } + } + }, + "DevBoxDefinitionUpdateProperties": { + "description": "Properties of a Dev Box definition. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "imageReference": { + "$ref": "vdi.json#/definitions/ImageReference", + "description": "Image reference information." + }, + "sku": { + "description": "The SKU for Dev Boxes created using this definition.", + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Sku" + }, + "osStorageType": { + "description": "The storage type used for the Operating System disk of Dev Boxes created using this definition.", + "type": "string" + }, + "hibernateSupport": { + "description": "Indicates whether Dev Boxes created with this definition are capable of hibernation. Not all images are capable of supporting hibernation. To find out more see https://aka.ms/devbox/hibernate", + "$ref": "#/definitions/HibernateSupport" + } + } + }, + "DevBoxDefinitionProperties": { + "description": "Properties of a Dev Box definition.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/DevBoxDefinitionUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "imageValidationStatus": { + "description": "Validation status of the configured image.", + "$ref": "vdi.json#/definitions/ImageValidationStatus", + "readOnly": true + }, + "imageValidationErrorDetails": { + "description": "Details for image validator error. Populated when the image validation is not successful.", + "$ref": "vdi.json#/definitions/ImageValidationErrorDetails", + "readOnly": true + }, + "validationStatus": { + "description": "Validation status for the Dev Box Definition.", + "$ref": "vdi.json#/definitions/CatalogResourceValidationStatus", + "readOnly": true + }, + "activeImageReference": { + "$ref": "vdi.json#/definitions/ImageReference", + "description": "Image reference information for the currently active image (only populated during updates).", + "readOnly": true + } + }, + "required": [ + "imageReference", + "sku" + ] + }, + "AttachedNetworkConnection": { + "description": "Represents an attached NetworkConnection.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/AttachedNetworkConnectionProperties", + "description": "Attached NetworkConnection properties." + } + } + }, + "AttachedNetworkConnectionProperties": { + "description": "Properties of an attached NetworkConnection.", + "type": "object", + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "networkConnectionId": { + "description": "The resource ID of the NetworkConnection you want to attach.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "networkConnectionLocation": { + "description": "The geo-location where the NetworkConnection resource specified in 'networkConnectionResourceId' property lives.", + "type": "string", + "readOnly": true + }, + "healthCheckStatus": { + "$ref": "vdi.json#/definitions/HealthCheckStatus", + "readOnly": true + }, + "domainJoinType": { + "description": "AAD Join type of the network. This is populated based on the referenced Network Connection.", + "$ref": "vdi.json#/definitions/DomainJoinType", + "readOnly": true + } + }, + "required": [ + "networkConnectionId" + ] + }, + "AttachedNetworkListResult": { + "description": "Results of the Attached Networks list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/AttachedNetworkConnection" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "EnvironmentRole": { + "type": "object", + "description": "A role that can be assigned to a user.", + "properties": { + "roleName": { + "description": "The common name of the Role Assignment. This is a descriptive name such as 'AcrPush'.", + "type": "string", + "readOnly": true + }, + "description": { + "description": "This is a description of the Role Assignment.", + "type": "string", + "readOnly": true + } + } + }, + "UserRoleAssignment": { + "type": "object", + "description": "Mapping of user object ID to role assignments.", + "x-ms-client-name": "userRoleAssignmentValue", + "properties": { + "roles": { + "type": "object", + "description": "A map of roles to assign to the parent user.", + "additionalProperties": { + "$ref": "#/definitions/EnvironmentRole" + } + } + } + }, + "OperationStatus": { + "description": "The current status of an async operation", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationStatusResult" + } + ], + "properties": { + "properties": { + "description": "Custom operation properties, populated only for a successful operation.", + "type": "object", + "readOnly": true + } + } + }, + "CatalogItemType": { + "description": "Indicates catalog item types.", + "enum": [ + "EnvironmentDefinition", + "ImageDefinition" + ], + "type": "string", + "x-ms-enum": { + "name": "CatalogItemType", + "modelAsString": true + } + }, + "EnvironmentTypeEnableStatus": { + "description": "Indicates whether the environment type is either enabled or disabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EnvironmentTypeEnableStatus", + "modelAsString": true + } + }, + "HibernateSupport": { + "description": "Indicates whether hibernate is enabled/disabled.", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "HibernateSupport", + "modelAsString": true + } + }, + "ListUsagesResult": { + "description": "List of Core Usages.", + "type": "object", + "properties": { + "value": { + "description": "The array page of Usages.", + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "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" + }, + "value": { + "description": "The name of the resource.", + "type": "string" + } + } + }, + "CustomizationTaskListResult": { + "description": "Results of the Task list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomizationTask" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "CustomizationTask": { + "description": "Represents a Task to be used in customizing a Dev Box.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Task properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomizationTaskProperties" + } + } + }, + "CustomizationTaskProperties": { + "description": "Properties of a Task.", + "type": "object", + "properties": { + "inputs": { + "description": "Inputs to the task.", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/CustomizationTaskInput" + }, + "readOnly": true + }, + "timeout": { + "description": "The default timeout for the task.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "validationStatus": { + "description": "Validation status for the Task.", + "$ref": "vdi.json#/definitions/CatalogResourceValidationStatus", + "readOnly": true + } + } + }, + "CustomizationTaskInput": { + "description": "Input for a Task.", + "type": "object", + "properties": { + "description": { + "description": "Description of the input.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Type of the input.", + "type": "string", + "enum": [ + "string", + "number", + "boolean" + ], + "x-ms-enum": { + "name": "CustomizationTaskInputType", + "modelAsString": true + }, + "readOnly": true + }, + "required": { + "description": "Whether or not the input is required.", + "type": "boolean", + "readOnly": true + } + } + }, + "EnvironmentDefinitionListResult": { + "description": "Results of the environment definition list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentDefinition" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "EnvironmentDefinition": { + "description": "Represents an environment definition catalog item.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Environment definition properties.", + "x-ms-client-flatten": true, + "$ref": "#/definitions/EnvironmentDefinitionProperties" + } + } + }, + "EnvironmentDefinitionProperties": { + "description": "Properties of an environment definition.", + "type": "object", + "properties": { + "description": { + "description": "A short description of the environment definition.", + "type": "string", + "readOnly": true + }, + "parameters": { + "type": "array", + "items": { + "$ref": "#/definitions/EnvironmentDefinitionParameter" + }, + "description": "Input parameters passed to an environment.", + "readOnly": true + }, + "templatePath": { + "description": "Path to the Environment Definition entrypoint file.", + "type": "string", + "readOnly": true + }, + "validationStatus": { + "description": "Validation status for the environment definition.", + "$ref": "vdi.json#/definitions/CatalogResourceValidationStatus", + "readOnly": true + } + } + }, + "EnvironmentDefinitionParameter": { + "type": "object", + "description": "Properties of an Environment Definition parameter", + "properties": { + "id": { + "type": "string", + "description": "Unique ID of the parameter", + "readOnly": true + }, + "name": { + "type": "string", + "description": "Display name of the parameter", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Description of the parameter", + "readOnly": true + }, + "type": { + "description": "A string of one of the basic JSON types (number, integer, array, object, boolean, string)", + "$ref": "#/definitions/ParameterType", + "readOnly": true + }, + "readOnly": { + "type": "boolean", + "description": "Whether or not this parameter is read-only. If true, default should have a value.", + "readOnly": true + }, + "required": { + "type": "boolean", + "description": "Whether or not this parameter is required", + "readOnly": true + } + } + }, + "ParameterType": { + "type": "string", + "enum": [ + "array", + "boolean", + "integer", + "number", + "object", + "string" + ], + "description": "The type of data a parameter accepts.", + "readOnly": true, + "x-ms-enum": { + "name": "ParameterType", + "modelAsString": true, + "values": [ + { + "value": "array", + "description": "The parameter accepts an array of values." + }, + { + "value": "boolean", + "description": "The parameter accepts a boolean value." + }, + { + "value": "integer", + "description": "The parameter accepts an integer value." + }, + { + "value": "number", + "description": "The parameter accepts a number value." + }, + { + "value": "object", + "description": "The parameter accepts an object value." + }, + { + "value": "string", + "description": "The parameter accepts a string value." + } + ] + } + }, + "CheckScopedNameAvailabilityRequest": { + "description": "The scoped name check availability request body.", + "type": "object", + "properties": { + "name": { + "description": "The name of the resource for which availability needs to be checked.", + "type": "string" + }, + "type": { + "description": "The resource type.", + "type": "string" + }, + "scope": { + "description": "The resource id to scope the name check.", + "type": "string" + } + } + }, + "ImageDefinitionListResult": { + "description": "Results of the Image Definition list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageDefinition" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "ImageDefinition": { + "description": "Represents a definition for an Image.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Image Definition properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ImageDefinitionProperties" + } + } + }, + "ImageDefinitionProperties": { + "description": "Properties of an Image Definition.", + "type": "object", + "properties": { + "imageReference": { + "$ref": "vdi.json#/definitions/ImageReference", + "description": "Image reference information." + }, + "fileUrl": { + "description": "The URL to the repository file containing the image definition.", + "type": "string", + "readOnly": true + }, + "latestBuild": { + "$ref": "#/definitions/LatestImageBuild", + "description": "Details about the latest build." + } + } + }, + "LatestImageBuild": { + "type": "object", + "description": "Details about the latest build.", + "properties": { + "name": { + "description": "Identifier of a build.", + "type": "string", + "readOnly": true + }, + "startTime": { + "description": "Start time of the task group.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "endTime": { + "description": "End time of the task group.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "status": { + "description": "The state of an Image Definition Build.", + "$ref": "#/definitions/ImageDefinitionBuildStatus", + "readOnly": true + } + } + }, + "ImageDefinitionBuildStatus": { + "type": "string", + "enum": [ + "Succeeded", + "Running", + "ValidationFailed", + "Failed", + "Cancelled", + "TimedOut" + ], + "description": "The state of an Image Definition Build.", + "readOnly": true, + "x-ms-enum": { + "name": "ImageDefinitionBuildStatus", + "modelAsString": true, + "values": [ + { + "value": "Succeeded", + "description": "The image build has succeeded." + }, + { + "value": "Running", + "description": "The image build is running." + }, + { + "value": "ValidationFailed", + "description": "The built image has failed validation." + }, + { + "value": "Failed", + "description": "The image build has failed." + }, + { + "value": "Cancelled", + "description": "The image build has been cancelled." + }, + { + "value": "TimedOut", + "description": "The image build has timed out." + } + ] + } + }, + "ImageDefinitionBuildListResult": { + "description": "Results of the Image Definition Build list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageDefinitionBuild" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "ImageDefinitionBuild": { + "description": "Represents a specific build of an Image Definition.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "description": "Image Definition Build properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ImageDefinitionBuildProperties" + } + } + }, + "ImageDefinitionBuildProperties": { + "description": "Properties of an Image Definition Build.", + "type": "object", + "properties": { + "imageReference": { + "$ref": "vdi.json#/definitions/ImageReference", + "description": "The specific image version used by the build.", + "readOnly": true + }, + "status": { + "description": "The status of the build.", + "$ref": "#/definitions/ImageDefinitionBuildStatus", + "readOnly": true + }, + "startTime": { + "description": "Start time of the task group.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "endTime": { + "description": "End time of the task group.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "errorDetails": { + "description": "Details for image creation error. Populated when the image creation is not successful.", + "$ref": "#/definitions/ImageCreationErrorDetails", + "readOnly": true + } + } + }, + "ImageDefinitionBuildDetails": { + "description": "Represents a specific build of an Image Definition.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "imageReference": { + "$ref": "vdi.json#/definitions/ImageReference", + "description": "The specific image version used by the build.", + "readOnly": true + }, + "status": { + "description": "The status of the build.", + "$ref": "#/definitions/ImageDefinitionBuildStatus", + "readOnly": true + }, + "startTime": { + "description": "Start time of the task group.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "endTime": { + "description": "End time of the task group.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "errorDetails": { + "description": "Details for image creation error. Populated when the image creation is not successful.", + "$ref": "#/definitions/ImageCreationErrorDetails", + "readOnly": true + }, + "taskGroups": { + "description": "The list of task groups executed during the image definition build.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageDefinitionBuildTaskGroup" + }, + "readOnly": true + } + } + }, + "ImageCreationErrorDetails": { + "type": "object", + "description": "Image creation error details", + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error." + }, + "message": { + "type": "string", + "description": "A message describing the error." + } + } + }, + "ImageDefinitionBuildTaskGroup": { + "description": "A task group executed during the image definition build.", + "type": "object", + "properties": { + "name": { + "description": "The name of the task group.", + "type": "string", + "readOnly": true + }, + "status": { + "description": "The status of the task group.", + "$ref": "#/definitions/ImageDefinitionBuildStatus", + "readOnly": true + }, + "startTime": { + "description": "Start time of the task group.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "endTime": { + "description": "End time of the task group.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "tasks": { + "description": "The list of tasks executed during the task group.", + "type": "array", + "items": { + "$ref": "#/definitions/ImageDefinitionBuildTask" + }, + "readOnly": true + } + } + }, + "ImageDefinitionBuildTask": { + "description": "A task executed during the image definition build.", + "type": "object", + "properties": { + "name": { + "description": "The name of the task.", + "type": "string" + }, + "parameters": { + "description": "Parameters for the task.", + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "required": [ + "key", + "value" + ] + } + }, + "displayName": { + "description": "Display name to help differentiate multiple instances of the same task.", + "type": "string" + }, + "id": { + "description": "ID of the task instance.", + "type": "string", + "readOnly": true + }, + "startTime": { + "description": "Start time of the task.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "endTime": { + "description": "End time of the task.", + "type": "string", + "format": "date-time", + "readOnly": true + }, + "status": { + "description": "The status of the task.", + "$ref": "#/definitions/ImageDefinitionBuildStatus", + "readOnly": true + }, + "logUri": { + "description": "The URI for retrieving logs for the task execution.", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "PlanNameParameter": { + "name": "planName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the devcenter plan.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "PlanMemberNameParameter": { + "name": "memberName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of a devcenter plan member.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "DevCenterNameParameter": { + "name": "devCenterName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the devcenter.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + "minLength": 3, + "maxLength": 26 + }, + "DevCenterEncryptionSetNameParameter": { + "name": "encryptionSetName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the devcenter encryption set.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-]{2,25}$", + "minLength": 3, + "maxLength": 63 + }, + "ProjectNameParameter": { + "name": "projectName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the project.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "CatalogNameParameter": { + "name": "catalogName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Catalog.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "GalleryNameParameter": { + "name": "galleryName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gallery.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "ImageNameParameter": { + "name": "imageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the image.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-.]{0,78}[a-zA-Z0-9]$", + "minLength": 3, + "maxLength": 80 + }, + "ProjectImageNameParameter": { + "name": "imageName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the image.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9~][a-zA-Z0-9-.~]{0,151}[a-zA-Z0-9]$", + "minLength": 3, + "maxLength": 153 + }, + "VersionNameParameter": { + "name": "versionName", + "in": "path", + "required": true, + "type": "string", + "description": "The version of the image.", + "x-ms-parameter-location": "method", + "pattern": "^[0-9]{1,10}[.][0-9]{1,10}[.][0-9]{1,10}$", + "minLength": 5, + "maxLength": 32 + }, + "EnvironmentTypeNameParameter": { + "name": "environmentTypeName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the environment type.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "AttachedNetworkConnectionNameParameter": { + "name": "attachedNetworkConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the attached NetworkConnection.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "DevBoxDefinitionName": { + "name": "devBoxDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Dev Box definition.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "FilterParameter": { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName').", + "type": "string", + "required": false, + "x-ms-parameter-location": "method" + }, + "LocationParameter": { + "name": "location", + "in": "path", + "description": "The Azure region", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "OperationIdParameter": { + "name": "operationId", + "in": "path", + "description": "The ID of an ongoing async operation", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "CustomizationTaskNameParameter": { + "name": "taskName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Task.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "EnvironmentDefinitionNameParameter": { + "name": "environmentDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Environment Definition.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "ImageDefinitionNameParameter": { + "name": "imageDefinitionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Image Definition.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "ImageDefinitionBuildNameParameter": { + "name": "buildName", + "in": "path", + "required": true, + "type": "string", + "description": "The ID of the Image Definition Build.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_Create.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_Create.json new file mode 100644 index 000000000000..fc2df13d7a0f --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_Create.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "attachedNetworkConnectionName": "network-uswest3", + "body": { + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/attachednetworks/network-uswest3", + "name": "network-uswest3", + "type": "Microsoft.DevCenter/devcenters/attachednetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3", + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/attachednetworks/network-uswest3", + "name": "network-uswest3", + "type": "Microsoft.DevCenter/devcenters/attachednetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3", + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_Delete.json new file mode 100644 index 000000000000..a9db9b52708e --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "attachedNetworkConnectionName": "network-uswest3" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_GetByDevCenter.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_GetByDevCenter.json new file mode 100644 index 000000000000..944ecf120350 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_GetByDevCenter.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "attachedNetworkConnectionName": "network-uswest3" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/attachednetworks/network-uswest3", + "name": "network-uswest3", + "type": "Microsoft.DevCenter/devcenters/attachednetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3", + "networkConnectionLocation": "centralus", + "healthCheckStatus": "Healthy", + "provisioningState": "Created" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_GetByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_GetByProject.json new file mode 100644 index 000000000000..03943aa4fe8c --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_GetByProject.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "attachedNetworkConnectionName": "network-uswest3" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/attachednetworks/network-uswest3", + "name": "network-uswest3", + "type": "Microsoft.DevCenter/projects/attachednetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3", + "networkConnectionLocation": "centralus", + "healthCheckStatus": "Healthy", + "provisioningState": "Created" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_ListByDevCenter.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_ListByDevCenter.json new file mode 100644 index 000000000000..d2db9c7addac --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_ListByDevCenter.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/attachednetworks/netmap1", + "name": "netmap1", + "type": "Microsoft.DevCenter/devcenters/attachedNetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3", + "networkConnectionLocation": "centralus", + "healthCheckStatus": "Healthy", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "Application", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + }, + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/attachednetworks/netmap2", + "name": "netmap2", + "type": "Microsoft.DevCenter/devcenters/attachedNetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/network-uswest3", + "networkConnectionLocation": "centralus", + "healthCheckStatus": "Healthy", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_ListByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_ListByProject.json new file mode 100644 index 000000000000..57e511dc1149 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/AttachedNetworks_ListByProject.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/attachednetworks/netmap1", + "name": "netmap1", + "type": "Microsoft.DevCenter/projects/attachedNetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3", + "networkConnectionLocation": "centralus", + "healthCheckStatus": "Healthy", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "Application", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + }, + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/attachednetworks/netmap2", + "name": "netmap2", + "type": "Microsoft.DevCenter/projects/attachedNetworks", + "properties": { + "networkConnectionId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/NetworkConnections/network-uswest3", + "networkConnectionLocation": "centralus", + "healthCheckStatus": "Healthy", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_Connect.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_Connect.json new file mode 100644 index 000000000000..885ae1a4216b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_Connect.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_CreateAdo.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_CreateAdo.json new file mode 100644 index 000000000000..500bcd4bb47b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_CreateAdo.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog", + "body": { + "properties": { + "adoGit": { + "uri": "https://contoso@dev.azure.com/contoso/contosoOrg/_git/centralrepo-fakecontoso", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "syncType": "Scheduled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "properties": { + "adoGit": { + "uri": "https://contoso@dev.azure.com/contoso/contosoOrg/_git/centralrepo-fakecontoso", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0 + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded", + "syncType": "Scheduled" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "properties": { + "adoGit": { + "uri": "https://contoso@dev.azure.com/contoso/contosoOrg/_git/centralrepo-fakecontoso", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0 + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded", + "syncType": "Scheduled" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_CreateGitHub.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_CreateGitHub.json new file mode 100644 index 000000000000..4c14e8c3c868 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_CreateGitHub.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog", + "body": { + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "syncType": "Manual" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0 + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded", + "syncType": "Manual" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0 + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded", + "syncType": "Manual" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_Delete.json new file mode 100644 index 000000000000..52f006227684 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_Get.json new file mode 100644 index 000000000000..7e535137c5d8 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_Get.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 1, + "updated": 1, + "unchanged": 1, + "removed": 1, + "validationErrors": 1, + "synchronizationErrors": 1 + }, + "lastConnectionTime": "2020-11-18T18:28:00.314Z", + "lastSyncTime": "2020-11-18T18:28:00.314Z", + "provisioningState": "Succeeded", + "connectionState": "Connected", + "syncState": "Succeeded", + "syncType": "Scheduled" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_GetSyncErrorDetails.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_GetSyncErrorDetails.json new file mode 100644 index 000000000000..c5bfef422a55 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_GetSyncErrorDetails.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog" + }, + "responses": { + "200": { + "body": { + "operationError": { + "code": "Conflict", + "message": "The source control credentials could not be validated successfully." + }, + "conflicts": [ + { + "path": "/Environments/Duplicate/manifest.yaml", + "name": "DuplicateEnvironmentName" + } + ], + "errors": [ + { + "path": "/Environments/Invalid/manifest.yaml", + "errorDetails": [ + { + "code": "ParseError", + "message": "Schema Error Within Catalog Item: Missing Name" + } + ] + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_List.json new file mode 100644 index 000000000000..e1f0b9a3f84e --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_List.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 1, + "updated": 1, + "unchanged": 1, + "removed": 1, + "validationErrors": 1, + "synchronizationErrors": 1 + }, + "lastConnectionTime": "2020-11-18T18:28:00.314Z", + "lastSyncTime": "2020-11-18T18:28:00.314Z", + "provisioningState": "Succeeded", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_Patch.json new file mode 100644 index 000000000000..874b0d56ec14 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_Patch.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog", + "body": { + "properties": { + "gitHub": { + "path": "/environments" + }, + "syncType": "Scheduled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/environments" + }, + "lastSyncStats": { + "added": 1, + "updated": 1, + "unchanged": 1, + "removed": 1, + "validationErrors": 1, + "synchronizationErrors": 1 + }, + "lastConnectionTime": "2020-11-18T18:28:00.314Z", + "lastSyncTime": "2020-11-18T18:28:00.314Z", + "provisioningState": "Succeeded", + "connectionState": "Connected", + "syncState": "Succeeded", + "syncType": "Scheduled" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_Sync.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_Sync.json new file mode 100644 index 000000000000..885ae1a4216b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Catalogs_Sync.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CheckNameAvailability.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CheckNameAvailability.json new file mode 100644 index 000000000000..af79aaad40f3 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CheckNameAvailability.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "nameAvailabilityRequest": { + "name": "name1", + "type": "Microsoft.DevCenter/devcenters" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CheckScopedNameAvailability_DevCenterCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CheckScopedNameAvailability_DevCenterCatalog.json new file mode 100644 index 000000000000..9d2ad6db61d0 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CheckScopedNameAvailability_DevCenterCatalog.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "nameAvailabilityRequest": { + "name": "name1", + "type": "Microsoft.DevCenter/devcenters/catalogs", + "scope": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CheckScopedNameAvailability_ProjectCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CheckScopedNameAvailability_ProjectCatalog.json new file mode 100644 index 000000000000..7864c49865f3 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CheckScopedNameAvailability_ProjectCatalog.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "nameAvailabilityRequest": { + "name": "name1", + "type": "Microsoft.DevCenter/projects/catalogs", + "scope": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CustomizationTasks_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CustomizationTasks_Get.json new file mode 100644 index 000000000000..d355c23dc932 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CustomizationTasks_Get.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog", + "taskName": "SampleTask" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog/tasks/SampleTask", + "name": "SampleTask", + "type": "Microsoft.DevCenter/devcenters/catalogs/tasks", + "properties": { + "inputs": { + "package": { + "type": "string", + "required": true + }, + "feed": { + "type": "string" + } + }, + "timeout": 30, + "validationStatus": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CustomizationTasks_GetErrorDetails.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CustomizationTasks_GetErrorDetails.json new file mode 100644 index 000000000000..e618d33ac176 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CustomizationTasks_GetErrorDetails.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog", + "taskName": "SampleTask" + }, + "responses": { + "200": { + "body": { + "errors": [ + { + "code": "ParameterValueInvalid", + "message": "Expected parameter value for 'InstanceCount' to be integer but found the string 'test'." + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CustomizationTasks_ListByCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CustomizationTasks_ListByCatalog.json new file mode 100644 index 000000000000..8480bde55c3a --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/CustomizationTasks_ListByCatalog.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "CentralCatalog" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/CentralCatalog/tasks/SampleTask", + "name": "SampleTask", + "type": "Microsoft.DevCenter/devcenters/catalogs/tasks", + "properties": { + "inputs": { + "package": { + "type": "string", + "required": true + }, + "feed": { + "type": "string" + } + }, + "timeout": 30 + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_Create.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_Create.json new file mode 100644 index 000000000000..240d265a2192 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_Create.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "devBoxDefinitionName": "WebDevBox", + "body": { + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled" + }, + "location": "centralus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/devboxdefinitions/devBoxDefinitionName", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/devcenters/devboxdefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled", + "provisioningState": "Succeeded" + }, + "location": "centralus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/devboxdefinitions/devBoxDefinitionName", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/devcenters/devboxdefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled", + "provisioningState": "Created" + }, + "location": "centralus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_Delete.json new file mode 100644 index 000000000000..4300aa76b259 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "devBoxDefinitionName": "WebDevBox" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_Get.json new file mode 100644 index 000000000000..2f0949dbb01c --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_Get.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "devBoxDefinitionName": "WebDevBox" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/devboxdefinitions/WebDevBox", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/devcenters/devboxdefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled", + "provisioningState": "Succeeded" + }, + "location": "centralus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_GetByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_GetByProject.json new file mode 100644 index 000000000000..2a07e77ebb3c --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_GetByProject.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProject", + "devBoxDefinitionName": "WebDevBox" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProject/devboxdefinitions/WebDevBox", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/projects/devboxdefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled", + "provisioningState": "Succeeded" + }, + "location": "centralus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_ListByDevCenter.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_ListByDevCenter.json new file mode 100644 index 000000000000..18b2b90d9ed7 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_ListByDevCenter.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "devBoxDefinitionName": "WebDevBox" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/devboxdefinitions/WebDevBox", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/devcenters/devboxdefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled", + "provisioningState": "Succeeded" + }, + "location": "centralus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_ListByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_ListByProject.json new file mode 100644 index 000000000000..bad741f95c47 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_ListByProject.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProject", + "devBoxDefinitionName": "WebDevBox" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProject/devboxdefinitions/WebDevBox", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/projects/devboxdefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled", + "provisioningState": "Succeeded" + }, + "location": "centralus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_Patch.json new file mode 100644 index 000000000000..04e09b19bdc6 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevBoxDefinitions_Patch.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "devBoxDefinitionName": "WebDevBox", + "body": { + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/2.0.0" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/devboxdefinitions/WebDevBox", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/devcenters/devboxdefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/2.0.0" + }, + "sku": { + "name": "Preview" + }, + "hibernateSupport": "Enabled", + "provisioningState": "Succeeded" + }, + "location": "centralus", + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenterEncryptionSets_Create.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenterEncryptionSets_Create.json new file mode 100644 index 000000000000..ad7eb57833e7 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenterEncryptionSets_Create.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "encryptionSetName": "EncryptionWestUs", + "body": { + "location": "westus", + "properties": { + "devboxDisksEncryptionEnableStatus": "Enabled", + "keyEncryptionKeyUrl": "https://contosovaultwestus.vault.azure.net/keys/contosokek" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/encryptionSets/EncryptionWestUs", + "name": "EncryptionWestUs", + "type": "Microsoft.DevCenter/devcenters/encryptionSets", + "properties": { + "devboxDisksEncryptionEnableStatus": "Enabled", + "keyEncryptionKeyUrl": "https://contosovaultwestus.vault.azure.net/keys/contosokek", + "provisioningState": "Accepted" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/encryptionSets/EncryptionWestUs", + "name": "EncryptionWestUs", + "type": "Microsoft.DevCenter/devcenters/encryptionSets", + "properties": { + "devboxDisksEncryptionEnableStatus": "Enabled", + "keyEncryptionKeyUrl": "https://contosovaultwestus.vault.azure.net/keys/contosokek", + "provisioningState": "Accepted" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenterEncryptionSets_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenterEncryptionSets_Delete.json new file mode 100644 index 000000000000..32ae969a8164 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenterEncryptionSets_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "encryptionSetName": "EncryptionWestUs" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenterEncryptionSets_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenterEncryptionSets_Get.json new file mode 100644 index 000000000000..ff767630588c --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenterEncryptionSets_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "encryptionSetName": "EncryptionWestUs" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/encryptionSets/EncryptionWestUs", + "name": "EncryptionWestUs", + "type": "Microsoft.DevCenter/devcenters/encryptionSets", + "properties": { + "devboxDisksEncryptionEnableStatus": "Enabled", + "keyEncryptionKeyUrl": "https://contosovaultwestus.vault.azure.net/keys/contosokek", + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenterEncryptionSets_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenterEncryptionSets_List.json new file mode 100644 index 000000000000..3ac1b3c7859c --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenterEncryptionSets_List.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/encryptionSets/EncryptionWestUs", + "name": "EncryptionWestUs", + "type": "Microsoft.DevCenter/devcenters/encryptionSets", + "properties": { + "devboxDisksEncryptionEnableStatus": "Enabled", + "keyEncryptionKeyUrl": "https://contosovaultwestus.vault.azure.net/keys/contosokek", + "provisioningState": "Succeeded" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenterEncryptionSets_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenterEncryptionSets_Patch.json new file mode 100644 index 000000000000..4d9b0c4308a7 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenterEncryptionSets_Patch.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "encryptionSetName": "EncryptionWestUs", + "body": { + "properties": { + "devboxDisksEncryptionEnableStatus": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/encryptionSets/EncryptionWestUs", + "name": "EncryptionWestUs", + "type": "Microsoft.DevCenter/devcenters/encryptionSets", + "properties": { + "devboxDisksEncryptionEnableStatus": "Enabled", + "keyEncryptionKeyUrl": "https://contosovault.vault.azure.net/keys/contosokekwestus", + "provisioningState": "Accepted" + }, + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_Create.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_Create.json new file mode 100644 index 000000000000..57071a9aa60b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_Create.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "body": { + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "displayName": "ContosoDevCenter", + "devBoxProvisioningSettings": { + "installAzureMonitorAgentEnableStatus": "Enabled" + }, + "projectCatalogSettings": { + "catalogItemSyncEnableStatus": "Enabled" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "hidden-title": "ContosoDevCenter", + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "projectCatalogSettings": { + "catalogItemSyncEnableStatus": "Enabled" + }, + "devBoxProvisioningSettings": { + "installAzureMonitorAgentEnableStatus": "Enabled" + }, + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "hidden-title": "ContosoDevCenter", + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Accepted", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "devBoxProvisioningSettings": { + "installAzureMonitorAgentEnableStatus": "Enabled" + }, + "projectCatalogSettings": { + "catalogItemSyncEnableStatus": "Enabled" + }, + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_CreateWithDisabledManagedNetworks.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_CreateWithDisabledManagedNetworks.json new file mode 100644 index 000000000000..18a6fa8bdbb6 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_CreateWithDisabledManagedNetworks.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "body": { + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "displayName": "ContosoDevCenter", + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Disabled" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Disabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Accepted", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Disabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_CreateWithEncryption.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_CreateWithEncryption.json new file mode 100644 index 000000000000..0a270f6e2032 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_CreateWithEncryption.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "body": { + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "displayName": "ContosoDevCenter", + "encryption": { + "customerManagedKeyEncryption": { + "keyEncryptionKeyIdentity": { + "identityType": "userAssignedIdentity", + "userAssignedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1" + }, + "keyEncryptionKeyUrl": "https://contosovault.vault.azure.net/keys/contosokek" + } + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "encryption": { + "customerManagedKeyEncryption": { + "keyEncryptionKeyIdentity": { + "identityType": "userAssignedIdentity", + "userAssignedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1" + }, + "keyEncryptionKeyUrl": "https://contosovault.vault.azure.net/keys/contosokek" + } + }, + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Accepted", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "encryption": { + "customerManagedKeyEncryption": { + "keyEncryptionKeyIdentity": { + "identityType": "userAssignedIdentity", + "userAssignedIdentityResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1" + }, + "keyEncryptionKeyUrl": "https://contosovault.vault.azure.net/keys/contosokek" + } + }, + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_CreateWithPlanId.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_CreateWithPlanId.json new file mode 100644 index 000000000000..a1deb11b2572 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_CreateWithPlanId.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "body": { + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "displayName": "ContosoDevCenter", + "planId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "hidden-title": "ContosoDevCenter", + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "planId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan", + "projectCatalogSettings": { + "catalogItemSyncEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "hidden-title": "ContosoDevCenter", + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "planId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan", + "provisioningState": "Accepted", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_CreateWithUserIdentity.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_CreateWithUserIdentity.json new file mode 100644 index 000000000000..c19a75ce1057 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_CreateWithUserIdentity.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "body": { + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "displayName": "ContosoDevCenter" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Accepted", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_Delete.json new file mode 100644 index 000000000000..7a1038643622 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_Get.json new file mode 100644 index 000000000000..e77e687749f1 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "hidden-title": "ContosoDevCenter", + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter", + "projectCatalogSettings": { + "catalogItemSyncEnableStatus": "Enabled" + }, + "devBoxProvisioningSettings": { + "installAzureMonitorAgentEnableStatus": "Enabled" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_ListByResourceGroup.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_ListByResourceGroup.json new file mode 100644 index 000000000000..65e85692d85d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_ListByResourceGroup.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:08.896Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_ListBySubscription.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_ListBySubscription.json new file mode 100644 index 000000000000..a36ec56dcf16 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_ListBySubscription.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:08.896Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_Patch.json new file mode 100644 index 000000000000..c03960b87502 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/DevCenters_Patch.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "body": { + "tags": { + "CostCode": "12345" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "name": "Contoso", + "type": "Microsoft.DevCenter/devcenters", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "displayName": "ContosoDevCenter" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentDefinitions_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentDefinitions_Get.json new file mode 100644 index 000000000000..05b6447ebe88 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentDefinitions_Get.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "myCatalog", + "environmentDefinitionName": "myEnvironmentDefinition" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/myCatalog/environmentDefinitions/myEnvironmentDefinition", + "name": "myEnvironmentDefinition", + "type": "Microsoft.DevCenter/devcenters/catalogs/environmentDefinitions", + "properties": { + "description": "My sample environment definition.", + "parameters": [ + { + "id": "functionAppRuntime", + "name": "Function App Runtime", + "type": "string", + "required": true + }, + { + "id": "storageAccountType", + "name": "Storage Account Type", + "type": "string", + "required": true + }, + { + "id": "httpsOnly", + "name": "HTTPS only", + "type": "boolean", + "readOnly": true, + "required": true + } + ], + "templatePath": "azuredeploy.json", + "validationStatus": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentDefinitions_GetByProjectCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentDefinitions_GetByProjectCatalog.json new file mode 100644 index 000000000000..389731b99247 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentDefinitions_GetByProjectCatalog.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "myCatalog", + "environmentDefinitionName": "myEnvironmentDefinition" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/myCatalog/environmentDefinitions/myEnvironmentDefinition", + "name": "myEnvironmentDefinition", + "type": "Microsoft.DevCenter/projects/catalogs/environmentDefinitions", + "properties": { + "description": "My sample environment definition.", + "parameters": [ + { + "id": "functionAppRuntime", + "name": "Function App Runtime", + "type": "string", + "required": true + }, + { + "id": "storageAccountType", + "name": "Storage Account Type", + "type": "string", + "required": true + }, + { + "id": "httpsOnly", + "name": "HTTPS only", + "type": "boolean", + "readOnly": true, + "required": true + } + ], + "templatePath": "azuredeploy.json", + "validationStatus": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentDefinitions_GetErrorDetails.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentDefinitions_GetErrorDetails.json new file mode 100644 index 000000000000..028c056bce09 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentDefinitions_GetErrorDetails.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "myCatalog", + "environmentDefinitionName": "myEnvironmentDefinition" + }, + "responses": { + "200": { + "body": { + "errors": [ + { + "code": "ParameterValueInvalid", + "message": "Expected parameter value for 'InstanceCount' to be integer but found the string 'test'." + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentDefinitions_ListByCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentDefinitions_ListByCatalog.json new file mode 100644 index 000000000000..1400f114c604 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentDefinitions_ListByCatalog.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "catalogName": "myCatalog" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/catalogs/myCatalog/environmentDefinitions/myEnvironmentDefinition", + "name": "myEnvironmentDefinition", + "type": "Microsoft.DevCenter/devcenters/catalogs/environmentDefinitions", + "properties": { + "description": "My sample environment definition.", + "parameters": [ + { + "id": "functionAppRuntime", + "name": "Function App Runtime", + "type": "string", + "required": true + }, + { + "id": "storageAccountType", + "name": "Storage Account Type", + "type": "string", + "required": true + }, + { + "id": "httpsOnly", + "name": "HTTPS only", + "type": "boolean", + "readOnly": true, + "required": true + } + ], + "templatePath": "azuredeploy.json", + "validationStatus": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentDefinitions_ListByProjectCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentDefinitions_ListByProjectCatalog.json new file mode 100644 index 000000000000..96f6a66f2d44 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentDefinitions_ListByProjectCatalog.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "myCatalog" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/myCatalog/environmentDefinitions/myEnvironmentDefinition", + "name": "myEnvironmentDefinition", + "type": "Microsoft.DevCenter/projects/catalogs/environmentDefinitions", + "properties": { + "description": "My sample environment definition.", + "parameters": [ + { + "id": "functionAppRuntime", + "name": "Function App Runtime", + "type": "string", + "required": true + }, + { + "id": "storageAccountType", + "name": "Storage Account Type", + "type": "string", + "required": true + }, + { + "id": "httpsOnly", + "name": "HTTPS only", + "type": "boolean", + "readOnly": true, + "required": true + } + ], + "templatePath": "azuredeploy.json", + "validationStatus": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentTypes_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentTypes_Delete.json new file mode 100644 index 000000000000..521b649d3619 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentTypes_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "environmentTypeName": "DevTest" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentTypes_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentTypes_Get.json new file mode 100644 index 000000000000..273c78176ea0 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentTypes_Get.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "environmentTypeName": "DevTest" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/devcenters/environmenttypes", + "properties": { + "displayName": "Dev" + }, + "tags": { + "hidden-title": "Dev", + "CostCenter": "RnD" + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentTypes_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentTypes_List.json new file mode 100644 index 000000000000..c6fe8952150e --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentTypes_List.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/devcenters/environmenttypes", + "tags": { + "CostCenter": "RnD" + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentTypes_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentTypes_Patch.json new file mode 100644 index 000000000000..1f7d71688122 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentTypes_Patch.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "environmentTypeName": "DevTest", + "body": { + "properties": { + "displayName": "Dev" + }, + "tags": { + "Owner": "superuser" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/devcenters/environmenttypes", + "properties": { + "displayName": "Dev" + }, + "tags": { + "hidden-title": "Dev", + "Owner": "superuser" + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentTypes_Put.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentTypes_Put.json new file mode 100644 index 000000000000..2ae1da1efe22 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/EnvironmentTypes_Put.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "environmentTypeName": "DevTest", + "body": { + "tags": { + "Owner": "superuser" + }, + "properties": { + "displayName": "Dev" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/devcenters/environmenttypes", + "properties": { + "displayName": "Dev" + }, + "tags": { + "hidden-title": "Dev", + "Owner": "superuser" + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/devcenters/environmenttypes", + "properties": { + "displayName": "Dev" + }, + "tags": { + "hidden-title": "Dev", + "Owner": "superuser" + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Galleries_Create.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Galleries_Create.json new file mode 100644 index 000000000000..871687c9f8fd --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Galleries_Create.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "galleryName": "StandardGallery", + "body": { + "properties": { + "galleryResourceId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.Compute/galleries/StandardGallery" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/StandardGallery", + "name": "StandardGallery", + "type": "Microsoft.DevCenter/devcenters/galleries", + "properties": { + "galleryResourceId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.Compute/galleries/StandardGallery", + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/StandardGallery", + "name": "StandardGallery", + "type": "Microsoft.DevCenter/devcenters/galleries", + "properties": { + "galleryResourceId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.Compute/galleries/StandardGallery", + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Galleries_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Galleries_Delete.json new file mode 100644 index 000000000000..1ef8a86d9aaa --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Galleries_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "galleryName": "StandardGallery" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Galleries_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Galleries_Get.json new file mode 100644 index 000000000000..787de3bff8c9 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Galleries_Get.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "galleryName": "StandardGallery" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/StandardGallery", + "name": "StandardGallery", + "type": "Microsoft.DevCenter/devcenters/galleries", + "properties": { + "galleryResourceId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.Compute/galleries/StandardGallery", + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Galleries_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Galleries_List.json new file mode 100644 index 000000000000..1af7f3b573be --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Galleries_List.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/default", + "name": "StandardGallery", + "type": "Microsoft.DevCenter/devcenters/galleries", + "properties": { + "provisioningState": "Succeeded", + "galleryResourceId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.Compute/galleries/CentralGallery" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + }, + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/ImageGallery", + "name": "StandardGallery", + "type": "Microsoft.DevCenter/devcenters/galleries", + "properties": { + "galleryResourceId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.Compute/galleries/SharedGallery", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_BuildImage.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_BuildImage.json new file mode 100644 index 000000000000..a130b6b2e206 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_BuildImage.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "c8754b2d-8da0-450b-b4c3-f379f1ba5d36", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog", + "imageDefinitionName": "DefaultDevImage" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/c8754b2d-8da0-450b-b4c3-f379f1ba5d36/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview", + "Location": "https://management.azure.com/subscriptions/c8754b2d-8da0-450b-b4c3-f379f1ba5d36/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_CancelImageBuild.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_CancelImageBuild.json new file mode 100644 index 000000000000..94a23e4a6e78 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_CancelImageBuild.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "c8754b2d-8da0-450b-b4c3-f379f1ba5d36", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog", + "imageDefinitionName": "DefaultDevImage", + "buildName": "0a28fc61-6f87-4611-8fe2-32df44ab93b7" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/c8754b2d-8da0-450b-b4c3-f379f1ba5d36/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview", + "Location": "https://management.azure.com/subscriptions/c8754b2d-8da0-450b-b4c3-f379f1ba5d36/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_GetByProjectCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_GetByProjectCatalog.json new file mode 100644 index 000000000000..291414ea82c2 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_GetByProjectCatalog.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "c8754b2d-8da0-450b-b4c3-f379f1ba5d36", + "resourceGroupName": "rg1", + "projectName": "ContosoProject", + "catalogName": "TeamCatalog", + "imageDefinitionName": "WebDevBox" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c8754b2d-8da0-450b-b4c3-f379f1ba5d36/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProject/catalogs/TeamCatalog/imagedefinitions/WebDevBox", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/projects/catalogs/imagedefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/c8754b2d-8da0-450b-b4c3-f379f1ba5d36/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "latestBuild": { + "name": "0a28fc61-6f87-4611-8fe2-32df44ab93b7", + "status": "Running", + "startTime": "2020-11-18T18:25:02.224Z", + "endTime": "2020-11-18T18:25:12.952Z" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_GetImageBuild.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_GetImageBuild.json new file mode 100644 index 000000000000..131697dbdbf5 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_GetImageBuild.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "c8754b2d-8da0-450b-b4c3-f379f1ba5d36", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog", + "imageDefinitionName": "DefaultDevImage", + "buildName": "0a28fc61-6f87-4611-8fe2-32df44ab93b7" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/c8754b2d-8da0-450b-b4c3-f379f1ba5d36/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/CentralCatalog/imageDefinitions/DefaultDevImage/builds/0a28fc61-6f87-4611-8fe2-32df44ab93b7", + "name": "0a28fc61-6f87-4611-8fe2-32df44ab93b7", + "type": "Microsoft.DevCenter/projects/catalogs/imageDefinitions/builds", + "properties": { + "imageReference": { + "id": "/subscriptions/c8754b2d-8da0-450b-b4c3-f379f1ba5d36/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "status": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_GetImageBuildDetails.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_GetImageBuildDetails.json new file mode 100644 index 000000000000..7a36cb4fd68b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_GetImageBuildDetails.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "c8754b2d-8da0-450b-b4c3-f379f1ba5d36", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog", + "imageDefinitionName": "DefaultDevImage", + "buildName": "0a28fc61-6f87-4611-8fe2-32df44ab93b7" + }, + "responses": { + "200": { + "body": { + "imageReference": { + "id": "/subscriptions/c8754b2d-8da0-450b-b4c3-f379f1ba5d36/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "status": "Succeeded", + "taskGroups": [ + { + "name": "Provisioning", + "status": "Succeeded", + "startTime": "2020-11-18T18:25:02.224Z", + "endTime": "2020-11-18T18:25:12.952Z", + "tasks": [ + { + "name": "Provisioning", + "status": "Succeeded", + "displayName": "Provisioning", + "startTime": "2020-11-18T18:25:02.224Z", + "endTime": "2020-11-18T18:25:12.952Z", + "id": "e72eb35f-f406-42ec-8b93-7d18a9f7b059", + "logUri": "" + } + ] + }, + { + "name": "Customizations", + "status": "Succeeded", + "startTime": "2020-11-18T18:25:02.224Z", + "endTime": "2020-11-18T18:25:12.952Z", + "tasks": [ + { + "name": "vs2022", + "status": "Succeeded", + "displayName": "Install Visual Studio 2022", + "startTime": "2020-11-18T18:25:02.224Z", + "endTime": "2020-11-18T18:25:12.952Z", + "id": "e72eb35f-f406-42ec-8b93-7d18a9f7b059", + "logUri": "https://8a40af38-3b4c-4672-a6a4-5e964b1870ed-contosodevcenter.centralus.devcenter.azure.com/projects/DevProject/catalogs/CentralCatalog/imageDefinitions/DefaultDevImage/builds/0a28fc61-6f87-4611-8fe2-32df44ab93b7/logs/e72eb35f-f406-42ec-8b93-7d18a9f7b059" + } + ] + }, + { + "name": "Generalization", + "status": "Succeeded", + "startTime": "2020-11-18T18:25:02.224Z", + "endTime": "2020-11-18T18:25:12.952Z", + "tasks": [ + { + "name": "Generalization", + "status": "Succeeded", + "displayName": "Generalization", + "startTime": "2020-11-18T18:25:02.224Z", + "endTime": "2020-11-18T18:25:12.952Z", + "logUri": "" + } + ] + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_ListByProjectCatalog.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_ListByProjectCatalog.json new file mode 100644 index 000000000000..4a69bdcd4967 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_ListByProjectCatalog.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "c8754b2d-8da0-450b-b4c3-f379f1ba5d36", + "resourceGroupName": "rg1", + "projectName": "ContosoProject", + "catalogName": "TeamCatalog" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/c8754b2d-8da0-450b-b4c3-f379f1ba5d36/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProject/catalogs/TeamCatalog/imagedefinitions/WebDevBox", + "name": "WebDevBox", + "type": "Microsoft.DevCenter/projects/catalogs/imagedefinitions", + "properties": { + "imageReference": { + "id": "/subscriptions/c8754b2d-8da0-450b-b4c3-f379f1ba5d36/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "latestBuild": { + "name": "0a28fc61-6f87-4611-8fe2-32df44ab93b7", + "status": "Running", + "startTime": "2020-11-18T18:25:02.224Z", + "endTime": "2020-11-18T18:25:12.952Z" + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_ListImageBuildsByImageDefinition.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_ListImageBuildsByImageDefinition.json new file mode 100644 index 000000000000..36ce4d09a121 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageDefinitions_ListImageBuildsByImageDefinition.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "c8754b2d-8da0-450b-b4c3-f379f1ba5d36", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog", + "imageDefinitionName": "DefaultDevImage", + "buildName": "0a28fc61-6f87-4611-8fe2-32df44ab93b7" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/c8754b2d-8da0-450b-b4c3-f379f1ba5d36/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/CentralCatalog/imageDefinitions/DefaultDevImage/builds/0a28fc61-6f87-4611-8fe2-32df44ab93b7", + "name": "0a28fc61-6f87-4611-8fe2-32df44ab93b7", + "type": "Microsoft.DevCenter/projects/catalogs/imageDefinitions/builds", + "properties": { + "imageReference": { + "id": "/subscriptions/c8754b2d-8da0-450b-b4c3-f379f1ba5d36/resourceGroups/Example/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/contosogallery/images/exampleImage/version/1.0.0" + }, + "status": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageVersions_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageVersions_Get.json new file mode 100644 index 000000000000..5f8011d276a8 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageVersions_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "galleryName": "DefaultDevGallery", + "imageName": "Win11", + "versionName": "1.0.0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/DefaultDevGallery/images/Win11/versions/1.0.0", + "name": "1.0.0", + "type": "Microsoft.DevCenter/devcenters/galleries/images/versions", + "properties": { + "publishedDate": "2021-12-01T12:45:16.845Z", + "excludeFromLatest": false, + "osDiskImageSizeInGb": 64, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageVersions_GetByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageVersions_GetByProject.json new file mode 100644 index 000000000000..a3577895c036 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageVersions_GetByProject.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "myProject", + "imageName": "~gallery~DefaultDevGallery~ContosoImageDefinition", + "versionName": "1.0.0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/project/myProject/images/~gallery~DefaultDevGallery~ContosoImageDefinition/versions/1.0.0", + "name": "1.0.0", + "type": "Microsoft.DevCenter/project/images/versions", + "properties": { + "publishedDate": "2021-12-01T12:45:16.845Z", + "excludeFromLatest": false, + "osDiskImageSizeInGb": 64, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageVersions_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageVersions_List.json new file mode 100644 index 000000000000..3403d284d1c3 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageVersions_List.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "galleryName": "DefaultDevGallery", + "imageName": "Win11" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/DefaultDevGallery/images/Win11/versions/1.0.0", + "name": "1.0.0", + "type": "Microsoft.DevCenter/devcenters/galleries/images/versions", + "properties": { + "publishedDate": "2021-12-01T12:45:16.845Z", + "excludeFromLatest": false, + "osDiskImageSizeInGb": 64, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageVersions_ListByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageVersions_ListByProject.json new file mode 100644 index 000000000000..db4bcfc15f66 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ImageVersions_ListByProject.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "myProject", + "imageName": "~gallery~DefaultDevGallery~ContosoImageDefinition" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/project/myProject/images/~gallery~DefaultDevGallery~ContosoImageDefinition/versions/1.0.0", + "name": "1.0.0", + "type": "Microsoft.DevCenter/project/images/versions", + "properties": { + "publishedDate": "2021-12-01T12:45:16.845Z", + "excludeFromLatest": false, + "osDiskImageSizeInGb": 64, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Images_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Images_Get.json new file mode 100644 index 000000000000..1239625abd32 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Images_Get.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "galleryName": "DefaultDevGallery", + "imageName": "ContosoBaseImage" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/DefaultDevGallery/images/ContosoBaseImage", + "name": "ContosoBaseImage", + "type": "Microsoft.DevCenter/devcenters/galleries/images", + "properties": { + "description": "Standard Windows Dev/Test image.", + "publisher": "Contoso", + "offer": "Finance", + "sku": "Backend", + "recommendedMachineConfiguration": { + "memory": { + "min": 256, + "max": 512 + }, + "vCPUs": { + "min": 4, + "max": 8 + } + }, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Images_GetByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Images_GetByProject.json new file mode 100644 index 000000000000..175b4fb467cc --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Images_GetByProject.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "myProject", + "imageName": "~gallery~DefaultDevGallery~ContosoBaseImage" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/project/myProject/images/~gallery~DefaultDevGallery~ContosoBaseImage", + "name": "ContosoBaseImage", + "type": "Microsoft.DevCenter/project/images", + "properties": { + "description": "Standard Windows Dev/Test image.", + "publisher": "Contoso", + "offer": "Finance", + "sku": "Backend", + "recommendedMachineConfiguration": { + "memory": { + "min": 256, + "max": 512 + }, + "vCPUs": { + "min": 4, + "max": 8 + } + }, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Images_ListByDevCenter.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Images_ListByDevCenter.json new file mode 100644 index 000000000000..bdc814bf14d8 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Images_ListByDevCenter.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/DevGallery/images/ContosoBaseImage", + "name": "ContosoBaseImage", + "type": "Microsoft.DevCenter/devcenters/galleries/images", + "properties": { + "description": "Windows 10 Enterprise + OS Optimizations 1909", + "publisher": "MicrosoftWindowsDesktop", + "offer": "windows-ent-cpc", + "sku": "19h2-ent-cpc-os-g2", + "recommendedMachineConfiguration": { + "memory": { + "min": 128, + "max": 256 + }, + "vCPUs": { + "min": 2, + "max": 4 + } + }, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + }, + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/DevGallery/images/ContosoBaseImage2", + "name": "ContosoBaseImage2", + "type": "Microsoft.DevCenter/devcenters/galleries/images", + "properties": { + "description": "Standard Windows Dev/Test image.", + "publisher": "Contoso", + "offer": "Finance", + "sku": "Backend", + "recommendedMachineConfiguration": { + "memory": { + "min": 256, + "max": 512 + }, + "vCPUs": { + "min": 4, + "max": 8 + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Images_ListByGallery.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Images_ListByGallery.json new file mode 100644 index 000000000000..fe7819204c38 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Images_ListByGallery.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "devCenterName": "Contoso", + "galleryName": "DevGallery" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/DevGallery/images/ContosoBaseImage", + "name": "ContosoBaseImage", + "type": "Microsoft.DevCenter/devcenters/galleries/images", + "properties": { + "description": "Windows 10 Enterprise + OS Optimizations 1909", + "publisher": "MicrosoftWindowsDesktop", + "offer": "windows-ent-cpc", + "sku": "19h2-ent-cpc-os-g2", + "recommendedMachineConfiguration": { + "memory": { + "min": 128, + "max": 256 + }, + "vCPUs": { + "min": 2, + "max": 4 + } + }, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + }, + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso/galleries/DevGallery/images/ContosoBaseImage2", + "name": "ContosoBaseImage2", + "type": "Microsoft.DevCenter/devcenters/galleries/images", + "properties": { + "description": "Standard Windows Dev/Test image.", + "publisher": "Contoso", + "offer": "Finance", + "sku": "Backend", + "recommendedMachineConfiguration": { + "memory": { + "min": 256, + "max": 512 + }, + "vCPUs": { + "min": 4, + "max": 8 + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Images_ListByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Images_ListByProject.json new file mode 100644 index 000000000000..1ee1b1caac24 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Images_ListByProject.json @@ -0,0 +1,105 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "myProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/myProject/images/~gallery~DefaultDevGallery~ContosoBaseImage", + "name": "~gallery~DefaultDevGallery~ContosoBaseImage", + "type": "Microsoft.DevCenter/project/images", + "properties": { + "description": "Windows 10 Enterprise + OS Optimizations 1909", + "publisher": "MicrosoftWindowsDesktop", + "offer": "windows-ent-cpc", + "sku": "19h2-ent-cpc-os-g2", + "recommendedMachineConfiguration": { + "memory": { + "min": 128, + "max": 256 + }, + "vCPUs": { + "min": 2, + "max": 4 + } + }, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + }, + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/myProject/images/~catalog~DefaultCatalog~DefaultImage", + "name": "~catalog~DefaultCatalog~DefaultImage", + "type": "Microsoft.DevCenter/project/images", + "properties": { + "description": "Windows 10 Enterprise + OS Optimizations 1909", + "publisher": "MicrosoftWindowsDesktop", + "offer": "windows-ent-cpc", + "sku": "19h2-ent-cpc-os-g2", + "recommendedMachineConfiguration": { + "memory": { + "min": 128, + "max": 256 + }, + "vCPUs": { + "min": 2, + "max": 4 + } + }, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + }, + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/myProject/images/~gallery~DefaultDevGallery~ContosoImageDefinition", + "name": "~gallery~DefaultDevGallery~ContosoImageDefinition", + "type": "Microsoft.DevCenter/project/images", + "properties": { + "description": "Standard Windows Dev/Test image.", + "publisher": "Contoso", + "offer": "Finance", + "sku": "Backend", + "recommendedMachineConfiguration": { + "memory": { + "min": 256, + "max": 512 + }, + "vCPUs": { + "min": 4, + "max": 8 + } + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_Delete.json new file mode 100644 index 000000000000..7bd932a6a62e --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "eastusnetwork" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_Get.json new file mode 100644 index 000000000000..03ccad3e9f40 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "uswest3network" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/uswest3network", + "name": "uswest3network", + "type": "Microsoft.DevCenter/networkconnections", + "properties": { + "domainJoinType": "HybridAzureADJoin", + "domainName": "mydomaincontroller.local", + "domainUsername": "testuser@mydomaincontroller.local", + "networkingResourceGroupName": "NetworkInterfaces", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ExampleRG/providers/Microsoft.Network/virtualNetworks/ExampleVNet/subnets/default", + "provisioningState": "Succeeded", + "healthCheckStatus": "Passed" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_GetHealthDetails.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_GetHealthDetails.json new file mode 100644 index 000000000000..77c85ef5ef52 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_GetHealthDetails.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "eastusnetwork" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/eastusnetwork/healthchecks/latest", + "name": "latest", + "type": "Microsoft.DevCenter/networkconnections/healthchecks", + "properties": { + "startDateTime": "2021-07-03T12:43:14Z", + "endDateTime": "2021-07-03T12:43:15Z", + "healthChecks": [ + { + "displayName": "Azure AD device sync", + "endDateTime": "2021-07-03T12:43:14Z", + "startDateTime": "2021-07-03T12:43:15Z", + "status": "Passed" + } + ] + }, + "systemData": { + "createdBy": "System", + "createdByType": "Application", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "System", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_ListByResourceGroup.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_ListByResourceGroup.json new file mode 100644 index 000000000000..680514076f87 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_ListByResourceGroup.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/uswest3network", + "name": "uswest3network", + "type": "Microsoft.DevCenter/networkconnections", + "properties": { + "domainJoinType": "HybridAzureADJoin", + "domainName": "mydomaincontroller.local", + "domainUsername": "testuser@mydomaincontroller.local", + "networkingResourceGroupName": "NetworkInterfaces", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ExampleRG/providers/Microsoft.Network/virtualNetworks/ExampleVNet/subnets/default", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_ListBySubscription.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_ListBySubscription.json new file mode 100644 index 000000000000..bcf0aadee3f8 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_ListBySubscription.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/uswest3network", + "name": "uswest3network", + "type": "Microsoft.DevCenter/networkconnection", + "properties": { + "domainJoinType": "HybridAzureADJoin", + "domainName": "mydomaincontroller.local", + "domainUsername": "testuser@mydomaincontroller.local", + "networkingResourceGroupName": "NetworkInterfaces", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ExampleRG/providers/Microsoft.Network/virtualNetworks/ExampleVNet/subnets/default", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_ListHealthDetails.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_ListHealthDetails.json new file mode 100644 index 000000000000..06163706358d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_ListHealthDetails.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "uswest3network" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/uswest3network/healthchecks/latest", + "name": "latest", + "type": "Microsoft.DevCenter/networkconnections/healthchecks", + "properties": { + "startDateTime": "2021-07-03T12:43:14Z", + "endDateTime": "2021-07-03T12:43:15Z", + "healthChecks": [ + { + "displayName": "Azure AD device sync", + "endDateTime": "2021-07-03T12:43:14Z", + "startDateTime": "2021-07-03T12:43:15Z", + "status": "Passed" + } + ] + }, + "systemData": { + "createdBy": "System", + "createdByType": "Application", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "System", + "lastModifiedByType": "Application", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_ListOutboundNetworkDependenciesEndpoints.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_ListOutboundNetworkDependenciesEndpoints.json new file mode 100644 index 000000000000..09d22a485a58 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_ListOutboundNetworkDependenciesEndpoints.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "uswest3network" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "Dev Box Service", + "endpoints": [ + { + "domainName": "devbox.azure.com", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + }, + { + "category": "Intune", + "endpoints": [ + { + "domainName": "login.microsoftonline.com", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + }, + { + "category": "Cloud PC", + "endpoints": [ + { + "domainName": "rdweb.wvd.microsoft.com", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_Patch.json new file mode 100644 index 000000000000..f1e590af3a7d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_Patch.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "uswest3network", + "body": { + "properties": { + "domainPassword": "New Password value for user" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/uswest3network", + "name": "uswest3network", + "type": "Microsoft.DevCenter/networkconnections", + "properties": { + "domainJoinType": "HybridAzureADJoin", + "domainName": "mydomaincontroller.local", + "domainUsername": "testuser@mydomaincontroller.local", + "networkingResourceGroupName": "NetworkInterfaces", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ExampleRG/providers/Microsoft.Network/virtualNetworks/ExampleVNet/subnets/default", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_Put.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_Put.json new file mode 100644 index 000000000000..22a0ff08e2e8 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_Put.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "uswest3network", + "body": { + "properties": { + "domainJoinType": "HybridAzureADJoin", + "domainName": "mydomaincontroller.local", + "domainUsername": "testuser@mydomaincontroller.local", + "domainPassword": "Password value for user", + "networkingResourceGroupName": "NetworkInterfaces", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ExampleRG/providers/Microsoft.Network/virtualNetworks/ExampleVNet/subnets/default" + }, + "location": "centralus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/uswest3network", + "name": "uswest3network", + "type": "Microsoft.DevCenter/networkconnections", + "properties": { + "domainJoinType": "HybridAzureADJoin", + "domainName": "mydomaincontroller.local", + "domainUsername": "testuser@mydomaincontroller.local", + "networkingResourceGroupName": "NetworkInterfaces", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ExampleRG/providers/Microsoft.Network/virtualNetworks/ExampleVNet/subnets/default", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/networkconnections/uswest3network", + "name": "uswest3network", + "type": "Microsoft.DevCenter/networkconnections", + "properties": { + "domainJoinType": "HybridAzureADJoin", + "domainName": "mydomaincontroller.local", + "domainUsername": "testuser@mydomaincontroller.local", + "networkingResourceGroupName": "NetworkInterfaces", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ExampleRG/providers/Microsoft.Network/virtualNetworks/ExampleVNet/subnets/default", + "provisioningState": "Created" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_RunHealthChecks.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_RunHealthChecks.json new file mode 100644 index 000000000000..21ace0144673 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/NetworkConnections_RunHealthChecks.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "networkConnectionName": "uswest3network" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/OperationStatus_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/OperationStatus_Get.json new file mode 100644 index 000000000000..94a93ff7360a --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/OperationStatus_Get.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "location": "westus3", + "operationId": "3fa1a29d-e807-488d-81d1-f1c5456a08cd" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4", + "status": "Succeeded", + "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "startTime": "2020-12-01T15:16:29.500Z", + "endTime": "2020-12-01T15:16:55.100Z", + "percentComplete": 100 + } + }, + "202": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4", + "status": "Succeeded", + "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "startTime": "2020-12-01T15:16:29.500Z", + "endTime": "2020-12-01T15:16:55.100Z", + "percentComplete": 99 + }, + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + }, + "default": { + "body": { + "error": { + "code": "OperationNotFound", + "message": "The requested async operation was not found" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Operations_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Operations_Get.json new file mode 100644 index 000000000000..e59b85f510d6 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Operations_Get.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.DevCenter/devcenters/write", + "display": { + "provider": "Microsoft DevTest Center", + "resource": "Microsoft DevTest Center devcenter resource", + "operation": "write" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/PlanMembers_Create.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/PlanMembers_Create.json new file mode 100644 index 000000000000..e07e3b88fd5b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/PlanMembers_Create.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan", + "memberName": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "body": { + "properties": { + "memberId": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "memberType": "User" + }, + "tags": { + "CostCode": "12345" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan/members/d702f662-b3f2-4796-9e8c-13c22378ced3", + "type": "Microsoft.DevCenter/plans/members", + "name": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "tags": { + "CostCode": "12345" + }, + "properties": { + "memberId": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "memberType": "User", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan/members/d702f662-b3f2-4796-9e8c-13c22378ced3", + "type": "Microsoft.DevCenter/plans/members", + "name": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "tags": { + "CostCode": "12345" + }, + "properties": { + "memberId": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "memberType": "User", + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/PlanMembers_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/PlanMembers_Delete.json new file mode 100644 index 000000000000..1dac889128cf --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/PlanMembers_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan", + "memberName": "d702f662-b3f2-4796-9e8c-13c22378ced3" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/PlanMembers_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/PlanMembers_Get.json new file mode 100644 index 000000000000..23238348030f --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/PlanMembers_Get.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan", + "memberName": "d702f662-b3f2-4796-9e8c-13c22378ced3" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan/members/d702f662-b3f2-4796-9e8c-13c22378ced3", + "type": "Microsoft.DevCenter/plans/members", + "name": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "tags": { + "CostCode": "12345" + }, + "properties": { + "memberId": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "memberType": "User", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/PlanMembers_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/PlanMembers_List.json new file mode 100644 index 000000000000..8e793e833cb6 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/PlanMembers_List.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan/members/d702f662-b3f2-4796-9e8c-13c22378ced3", + "type": "Microsoft.DevCenter/plans/members", + "name": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "tags": { + "CostCode": "12345" + }, + "properties": { + "memberType": "User", + "memberId": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/PlanMembers_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/PlanMembers_Patch.json new file mode 100644 index 000000000000..7648cadb4513 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/PlanMembers_Patch.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan", + "memberName": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "body": { + "tags": { + "CostCode": "12345" + } + } + }, + "responses": { + "200": { + "body": { + "name": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan/members/d702f662-b3f2-4796-9e8c-13c22378ced3", + "type": "Microsoft.DevCenter/plans/members", + "tags": { + "CostCode": "12345" + }, + "properties": { + "memberId": "d702f662-b3f2-4796-9e8c-13c22378ced3", + "memberType": "User", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_Create.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_Create.json new file mode 100644 index 000000000000..a3e460ee64d3 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_Create.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan", + "body": { + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": {}, + "sku": { + "name": "Preview" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan", + "name": "ContosoPlan", + "type": "Microsoft.DevCenter/plans", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded" + }, + "sku": { + "name": "Preview" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan", + "name": "ContosoPlan", + "type": "Microsoft.DevCenter/plans", + "tags": { + "hidden-title": "ContosoPlan", + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Accepted" + }, + "sku": { + "name": "Preview" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_Delete.json new file mode 100644 index 000000000000..471f2e9bc197 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_Get.json new file mode 100644 index 000000000000..4048e2c2631f --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan", + "name": "ContosoPlan", + "type": "Microsoft.DevCenter/plans", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded" + }, + "sku": { + "name": "Preview" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_ListByResourceGroup.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_ListByResourceGroup.json new file mode 100644 index 000000000000..d5d3339e563a --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_ListByResourceGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/plans/ContosoPlan", + "name": "ContosoPlan", + "type": "Microsoft.DevCenter/plans", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded" + }, + "sku": { + "name": "Preview" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:08.896Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_ListBySubscription.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_ListBySubscription.json new file mode 100644 index 000000000000..cffcf9433597 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_ListBySubscription.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/ContosoPlan", + "name": "ContosoPlan", + "type": "Microsoft.DevCenter/plans", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded" + }, + "sku": { + "name": "Preview" + }, + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:08.896Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_Patch.json new file mode 100644 index 000000000000..06994e78e6f2 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Plans_Patch.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "planName": "ContosoPlan", + "body": { + "sku": { + "name": "Preview" + }, + "tags": { + "CostCode": "12345" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/ContosoPlan", + "name": "ContosoPlan", + "type": "Microsoft.DevCenter/plans", + "tags": { + "CostCode": "12345" + }, + "location": "centralus", + "properties": { + "provisioningState": "Succeeded" + }, + "sku": { + "name": "Preview" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-11T22:00:08.896Z", + "lastModifiedBy": "user2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-11T22:00:10.896Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_Delete.json new file mode 100644 index 000000000000..11f223e116ec --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "poolName" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_Get.json new file mode 100644 index 000000000000..171fa301975f --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_Get.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "devBoxCount": 1, + "provisioningState": "Succeeded", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Managed", + "managedVirtualNetworkRegions": [ + "centralus" + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_GetUnhealthyStatus.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_GetUnhealthyStatus.json new file mode 100644 index 000000000000..08ac7b91295d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_GetUnhealthyStatus.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Unhealthy", + "healthStatusDetails": [ + { + "code": "NetworkConnectionUnhealthy", + "message": "The Pool's Network Connection is in an unhealthy state. Check the Network Connection's health status for more details." + }, + { + "code": "ImageValidationFailed", + "message": "Image validation has failed. Check the Dev Box Definition's image validation status for more details." + }, + { + "code": "IntuneValidationFailed", + "message": "Intune license validation has failed. The tenant does not have a valid Intune license." + } + ], + "devBoxCount": 1, + "provisioningState": "Succeeded", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Managed", + "managedVirtualNetworkRegions": [ + "centralus" + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_List.json new file mode 100644 index 000000000000..cf35fd59ec5f --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_List.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "devBoxCount": 1, + "provisioningState": "Succeeded", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Managed", + "managedVirtualNetworkRegions": [ + "centralus" + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_Patch.json new file mode 100644 index 000000000000..777798dd7803 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_Patch.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool", + "body": { + "properties": { + "devBoxDefinitionName": "WebDevBox2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox2", + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "devBoxCount": 1, + "provisioningState": "Succeeded", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Managed", + "managedVirtualNetworkRegions": [ + "centralus" + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_Put.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_Put.json new file mode 100644 index 000000000000..4a9e0c9fbb2f --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_Put.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool", + "body": { + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Unmanaged" + }, + "location": "centralus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "devBoxCount": 1, + "provisioningState": "Succeeded", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Unmanaged", + "managedVirtualNetworkRegions": [] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Pending", + "provisioningState": "Created", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Unmanaged", + "managedVirtualNetworkRegions": [] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_PutWithManagedNetwork.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_PutWithManagedNetwork.json new file mode 100644 index 000000000000..ed8670f92b96 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_PutWithManagedNetwork.json @@ -0,0 +1,99 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool", + "body": { + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "managedNetwork", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Managed", + "managedVirtualNetworkRegions": [ + "centralus" + ] + }, + "location": "centralus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "managedNetwork", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "devBoxCount": 1, + "provisioningState": "Succeeded", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Managed", + "managedVirtualNetworkRegions": [ + "centralus" + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionName": "WebDevBox", + "networkConnectionName": "managedNetwork", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Pending", + "provisioningState": "Created", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Managed", + "managedVirtualNetworkRegions": [ + "centralus" + ] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_PutWithValueDevBoxDefinition.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_PutWithValueDevBoxDefinition.json new file mode 100644 index 000000000000..b181b8a43b4a --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_PutWithValueDevBoxDefinition.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool", + "body": { + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionType": "Value", + "devBoxDefinitionName": "", + "devBoxDefinition": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/projects/DevProject/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + } + }, + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Unmanaged" + }, + "location": "centralus" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionType": "Value", + "devBoxDefinitionName": "", + "devBoxDefinition": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/projects/DevProject/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + } + }, + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Healthy", + "devBoxCount": 1, + "provisioningState": "Succeeded", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Unmanaged", + "managedVirtualNetworkRegions": [] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/pools/DevPool", + "name": "DevPool", + "type": "Microsoft.DevCenter/pools", + "properties": { + "displayName": "Developer Pool", + "devBoxDefinitionType": "Value", + "devBoxDefinitionName": "", + "devBoxDefinition": { + "imageReference": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/Example/providers/Microsoft.DevCenter/projects/DevProject/images/exampleImage/version/1.0.0" + }, + "sku": { + "name": "Preview" + } + }, + "networkConnectionName": "Network1-westus2", + "licenseType": "Windows_Client", + "localAdministrator": "Enabled", + "stopOnDisconnect": { + "status": "Enabled", + "gracePeriodMinutes": 60 + }, + "healthStatus": "Pending", + "provisioningState": "Created", + "singleSignOnStatus": "Disabled", + "virtualNetworkType": "Unmanaged", + "managedVirtualNetworkRegions": [] + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_RunHealthChecks.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_RunHealthChecks.json new file mode 100644 index 000000000000..5befc70469a0 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Pools_RunHealthChecks.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectAllowedEnvironmentTypes_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectAllowedEnvironmentTypes_Get.json new file mode 100644 index 000000000000..59b856dcb1e3 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectAllowedEnvironmentTypes_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "Contoso", + "environmentTypeName": "DevTest" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/Contoso/allowedEnvironmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/projects/allowedenvironmenttypes", + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectAllowedEnvironmentTypes_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectAllowedEnvironmentTypes_List.json new file mode 100644 index 000000000000..9157eb95b800 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectAllowedEnvironmentTypes_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "Contoso" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/Contoso/allowedEnvironmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/projects/allowedenvironmenttypes", + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogEnvironmentDefinitions_GetErrorDetails.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogEnvironmentDefinitions_GetErrorDetails.json new file mode 100644 index 000000000000..638df299e8e5 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogEnvironmentDefinitions_GetErrorDetails.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "myCatalog", + "environmentDefinitionName": "myEnvironmentDefinition" + }, + "responses": { + "200": { + "body": { + "errors": [ + { + "code": "ParameterValueInvalid", + "message": "Expected parameter value for 'InstanceCount' to be integer but found the string 'test'." + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_Connect.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_Connect.json new file mode 100644 index 000000000000..f9da4b06a4e5 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_Connect.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_CreateAdo.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_CreateAdo.json new file mode 100644 index 000000000000..216b7c8fb45f --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_CreateAdo.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog", + "body": { + "properties": { + "adoGit": { + "uri": "https://contoso@dev.azure.com/contoso/contosoOrg/_git/centralrepo-fakecontoso", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/projects/catalogs", + "properties": { + "adoGit": { + "uri": "https://contoso@dev.azure.com/contoso/contosoOrg/_git/centralrepo-fakecontoso", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0, + "syncedCatalogItemTypes": [ + "EnvironmentDefinition" + ] + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/projects/catalogs", + "properties": { + "adoGit": { + "uri": "https://contoso@dev.azure.com/contoso/contosoOrg/_git/centralrepo-fakecontoso", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0, + "syncedCatalogItemTypes": [ + "EnvironmentDefinition" + ] + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_CreateGitHub.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_CreateGitHub.json new file mode 100644 index 000000000000..8de6f4054414 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_CreateGitHub.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog", + "body": { + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/projects/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0, + "syncedCatalogItemTypes": [ + "EnvironmentDefinition" + ] + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/projects/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 0, + "updated": 0, + "unchanged": 0, + "removed": 0, + "validationErrors": 0, + "synchronizationErrors": 0, + "syncedCatalogItemTypes": [ + "EnvironmentDefinition" + ] + }, + "provisioningState": "Accepted", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_Delete.json new file mode 100644 index 000000000000..43f85ae1fd50 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_Get.json new file mode 100644 index 000000000000..e1edc017195d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_Get.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/projects/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 1, + "updated": 1, + "unchanged": 1, + "removed": 1, + "validationErrors": 1, + "synchronizationErrors": 1, + "syncedCatalogItemTypes": [ + "EnvironmentDefinition" + ] + }, + "lastConnectionTime": "2020-11-18T18:28:00.314Z", + "lastSyncTime": "2020-11-18T18:28:00.314Z", + "provisioningState": "Succeeded", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_GetSyncErrorDetails.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_GetSyncErrorDetails.json new file mode 100644 index 000000000000..d471b9a5631b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_GetSyncErrorDetails.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog" + }, + "responses": { + "200": { + "body": { + "operationError": { + "code": "Conflict", + "message": "The source control credentials could not be validated successfully." + }, + "conflicts": [ + { + "path": "/Environments/Duplicate/manifest.yaml", + "name": "DuplicateEnvironmentName" + } + ], + "errors": [ + { + "path": "/Environments/Invalid/manifest.yaml", + "errorDetails": [ + { + "code": "ParseError", + "message": "Schema Error Within Catalog Item: Missing Name" + } + ] + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_List.json new file mode 100644 index 000000000000..a45b40ff2b49 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_List.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/Contoso/catalogs", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/projects/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/templates" + }, + "lastSyncStats": { + "added": 1, + "updated": 1, + "unchanged": 1, + "removed": 1, + "validationErrors": 1, + "synchronizationErrors": 1 + }, + "lastConnectionTime": "2020-11-18T18:28:00.314Z", + "lastSyncTime": "2020-11-18T18:28:00.314Z", + "provisioningState": "Succeeded", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_Patch.json new file mode 100644 index 000000000000..f179ab382cfe --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_Patch.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog", + "body": { + "properties": { + "gitHub": { + "path": "/environments" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject/catalogs/CentralCatalog", + "name": "CentralCatalog", + "type": "Microsoft.DevCenter/projects/catalogs", + "properties": { + "gitHub": { + "uri": "https://github.com/Contoso/centralrepo-fake.git", + "branch": "main", + "secretIdentifier": "https://contosokv.vault.azure.net/secrets/CentralRepoPat", + "path": "/environments" + }, + "lastSyncStats": { + "added": 1, + "updated": 1, + "unchanged": 1, + "removed": 1, + "validationErrors": 1, + "synchronizationErrors": 1 + }, + "lastConnectionTime": "2020-11-18T18:28:00.314Z", + "lastSyncTime": "2020-11-18T18:28:00.314Z", + "provisioningState": "Succeeded", + "connectionState": "Connected", + "syncState": "Succeeded" + }, + "systemData": { + "createdBy": "User1", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_Sync.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_Sync.json new file mode 100644 index 000000000000..f9da4b06a4e5 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectCatalogs_Sync.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "catalogName": "CentralCatalog" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2023-10-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectEnvironmentTypes_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectEnvironmentTypes_Delete.json new file mode 100644 index 000000000000..ee9373f4c724 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectEnvironmentTypes_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProj", + "environmentTypeName": "DevTest" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectEnvironmentTypes_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectEnvironmentTypes_Get.json new file mode 100644 index 000000000000..0cb12e829201 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectEnvironmentTypes_Get.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProj", + "environmentTypeName": "DevTest" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProj/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/projects/environmentTypes", + "properties": { + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Enabled", + "provisioningState": "Succeeded", + "environmentCount": 1, + "creatorRoleAssignment": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + }, + "userRoleAssignments": { + "e45e3m7c-176e-416a-b466-0c5ec8298f8a": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + } + } + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + }, + "tags": { + "CostCenter": "RnD" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectEnvironmentTypes_List.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectEnvironmentTypes_List.json new file mode 100644 index 000000000000..6f2e62322952 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectEnvironmentTypes_List.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProj", + "environmentTypeName": "DevTest" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProj/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/projects/environmentTypes", + "properties": { + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Enabled", + "provisioningState": "Succeeded", + "creatorRoleAssignment": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + }, + "userRoleAssignments": { + "e45e3m7c-176e-416a-b466-0c5ec8298f8a": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + } + } + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + }, + "tags": { + "CostCenter": "RnD" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "location": "centralus" + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectEnvironmentTypes_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectEnvironmentTypes_Patch.json new file mode 100644 index 000000000000..255041a2f899 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectEnvironmentTypes_Patch.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProj", + "environmentTypeName": "DevTest", + "body": { + "properties": { + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Enabled", + "userRoleAssignments": { + "e45e3m7c-176e-416a-b466-0c5ec8298f8a": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": {} + } + } + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": {} + } + }, + "tags": { + "CostCenter": "RnD" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProj/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/projects/environmentTypes", + "properties": { + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Enabled", + "provisioningState": "Succeeded", + "environmentCount": 1, + "creatorRoleAssignment": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + }, + "userRoleAssignments": { + "e45e3m7c-176e-416a-b466-0c5ec8298f8a": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + } + } + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + }, + "tags": { + "CostCenter": "RnD" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectEnvironmentTypes_Put.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectEnvironmentTypes_Put.json new file mode 100644 index 000000000000..90d062e10655 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/ProjectEnvironmentTypes_Put.json @@ -0,0 +1,146 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "ContosoProj", + "environmentTypeName": "DevTest", + "body": { + "properties": { + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Enabled", + "creatorRoleAssignment": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": {} + } + }, + "userRoleAssignments": { + "e45e3m7c-176e-416a-b466-0c5ec8298f8a": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": {} + } + } + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": {} + } + }, + "tags": { + "CostCenter": "RnD" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProj/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/projects/environmentTypes", + "properties": { + "displayName": "DevTest", + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Enabled", + "provisioningState": "Succeeded", + "environmentCount": 0, + "creatorRoleAssignment": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + }, + "userRoleAssignments": { + "e45e3m7c-176e-416a-b466-0c5ec8298f8a": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + } + } + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + }, + "tags": { + "hidden-title": "Dev", + "CostCenter": "RnD" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "location": "centralus" + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/ContosoProj/environmentTypes/DevTest", + "name": "DevTest", + "type": "Microsoft.DevCenter/projects/environmentTypes", + "properties": { + "displayName": "DevTest", + "deploymentTargetId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Enabled", + "provisioningState": "Succeeded", + "environmentCount": 0, + "creatorRoleAssignment": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + }, + "userRoleAssignments": { + "e45e3m7c-176e-416a-b466-0c5ec8298f8a": { + "roles": { + "4cbf0b6c-e750-441c-98a7-10da8387e4d6": { + "roleName": "Developer", + "description": "Allows Developer access to project virtual machine resources." + } + } + } + } + }, + "systemData": { + "createdBy": "User1@contoso.com", + "createdByType": "User", + "createdAt": "2020-11-18T18:24:24.818Z", + "lastModifiedBy": "User1@contoso.com", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:24:24.818Z" + }, + "tags": { + "hidden-title": "Dev", + "CostCenter": "RnD" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/identityGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testidentity1": { + "clientId": "e35621a5-f615-4a20-940e-de8a84b15abc", + "principalId": "2111b8fc-e123-485a-b408-bf1153189494" + } + } + }, + "location": "centralus" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_Delete.json new file mode 100644 index 000000000000..124440de830e --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_Get.json new file mode 100644 index 000000000000..8d9b2548e29c --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject", + "name": "DevProject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "description": "This is my first project.", + "displayName": "Dev", + "catalogSettings": { + "catalogItemSyncTypes": [ + "EnvironmentDefinition" + ] + } + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "hidden-title": "Dev", + "CostCenter": "R&D" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_GetInheritedSettings.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_GetInheritedSettings.json new file mode 100644 index 000000000000..5ef7d3401700 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_GetInheritedSettings.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "Contoso" + }, + "responses": { + "200": { + "body": { + "projectCatalogSettings": { + "catalogItemSyncEnableStatus": "Enabled" + }, + "networkSettings": { + "microsoftHostedNetworkEnableStatus": "Enabled" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_ListByResourceGroup.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_ListByResourceGroup.json new file mode 100644 index 000000000000..d75c60023367 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_ListByResourceGroup.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/myproject", + "name": "myproject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "description": "This is my first project.", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "CostCenter": "R&D" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_ListBySubscription.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_ListBySubscription.json new file mode 100644 index 000000000000..75e802b41e7f --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_ListBySubscription.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/myproject", + "name": "myproject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "description": "This is my first project.", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "CostCenter": "R&D" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_Patch.json new file mode 100644 index 000000000000..277d0113ee76 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_Patch.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "body": { + "properties": { + "description": "This is my first project.", + "displayName": "Dev", + "catalogSettings": { + "catalogItemSyncTypes": [ + "EnvironmentDefinition" + ] + } + }, + "tags": { + "CostCenter": "R&D" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject", + "name": "myproject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "description": "This is my first project. Very exciting.", + "displayName": "Dev", + "catalogSettings": { + "catalogItemSyncTypes": [ + "EnvironmentDefinition" + ] + }, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "displayName": "Dev", + "CostCenter": "R&D" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_Put.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_Put.json new file mode 100644 index 000000000000..1d0ba14813e4 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_Put.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "body": { + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "description": "This is my first project.", + "displayName": "Dev" + }, + "location": "centralus", + "tags": { + "CostCenter": "R&D" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject", + "name": "DevProject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "description": "This is my first project.", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "hidden-title": "Dev", + "CostCenter": "R&D" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject", + "name": "DevProject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "description": "This is my first project.", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "hidden-title": "Dev", + "CostCenter": "R&D" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_PutWithMaxDevBoxPerUser.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_PutWithMaxDevBoxPerUser.json new file mode 100644 index 000000000000..b9da5d4a1aac --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Projects_PutWithMaxDevBoxPerUser.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "body": { + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "description": "This is my first project.", + "maxDevBoxesPerUser": 3 + }, + "location": "centralus", + "tags": { + "CostCenter": "R&D" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject", + "name": "DevProject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "devCenterUri": "https://4c7c8922-78e9-4928-aa6f-75ba59355371-contoso.centralus.devcenter.azure.com", + "description": "This is my first project.", + "maxDevBoxesPerUser": 3, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "CostCenter": "R&D" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/DevProject", + "name": "DevProject", + "type": "Microsoft.DevCenter/projects", + "properties": { + "devCenterId": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/devcenters/Contoso", + "description": "This is my first project.", + "maxDevBoxesPerUser": 3, + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + }, + "location": "centralus", + "tags": { + "CostCenter": "R&D" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Schedules_CreateDailyShutdownPoolSchedule.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Schedules_CreateDailyShutdownPoolSchedule.json new file mode 100644 index 000000000000..406336f69e51 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Schedules_CreateDailyShutdownPoolSchedule.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "DevProject", + "poolName": "DevPool", + "scheduleName": "autoShutdown", + "body": { + "properties": { + "state": "Enabled", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/TestProject/pools/DevPool/schedules/autoShutdown", + "name": "autoShutdown", + "type": "Microsoft.DevCenter/pools/schedules", + "properties": { + "state": "Enabled", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/TestProject/pools/DevPool/schedules/autoShutdown", + "name": "autoShutdown", + "type": "Microsoft.DevCenter/pools/schedules", + "properties": { + "state": "Enabled", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30", + "provisioningState": "Accepted" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Schedules_Delete.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Schedules_Delete.json new file mode 100644 index 000000000000..024bdd60508d --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Schedules_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "TestProject", + "poolName": "DevPool", + "scheduleName": "autoShutdown" + }, + "responses": { + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Schedules_Get.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Schedules_Get.json new file mode 100644 index 000000000000..d4293e677d58 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Schedules_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "TestProject", + "poolName": "DevPool", + "scheduleName": "autoShutdown" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/TestProject/pools/DevPool/schedules/autoShutdown", + "name": "autoShutdown", + "type": "Microsoft.DevCenter/pools/schedules", + "properties": { + "state": "Enabled", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Schedules_ListByPool.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Schedules_ListByPool.json new file mode 100644 index 000000000000..d5f207a2829b --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Schedules_ListByPool.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "TestProject", + "poolName": "DevPool" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/TestProject/pools/DevPool/schedules/autoShutdown", + "name": "autoShutdown", + "type": "Microsoft.DevCenter/pools/schedules", + "properties": { + "state": "Enabled", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Schedules_Patch.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Schedules_Patch.json new file mode 100644 index 000000000000..e008829898f4 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Schedules_Patch.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "TestProject", + "poolName": "DevPool", + "scheduleName": "autoShutdown", + "body": { + "properties": { + "time": "18:00" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/resourceGroups/rg1/providers/Microsoft.DevCenter/projects/TestProject/pools/DevPool/schedules/autoShutdown", + "name": "autoShutdown", + "type": "Microsoft.DevCenter/pools/schedules", + "properties": { + "state": "Enabled", + "type": "StopDevBox", + "timeZone": "America/Los_Angeles", + "frequency": "Daily", + "time": "17:30", + "provisioningState": "Succeeded" + }, + "systemData": { + "createdBy": "user1", + "createdByType": "User", + "createdAt": "2020-11-18T18:00:36.993Z", + "lastModifiedBy": "user1", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-11-18T18:30:36.993Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview", + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DevCenter/locations/CENTRALUS/operationStatuses/722e7bc4-60fa-4e6b-864f-d5bf12b9adc4?api-version=2024-07-01-preview" + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Skus_ListByProject.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Skus_ListByProject.json new file mode 100644 index 000000000000..e221d9809e40 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Skus_ListByProject.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "resourceGroupName": "rg1", + "projectName": "myProject" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "projects/pools", + "name": "Large", + "tier": "Premium", + "locations": [ + "CentralUS" + ] + }, + { + "resourceType": "projects/pools", + "name": "Medium", + "tier": "Standard", + "locations": [ + "CentralUS" + ] + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Skus_ListBySubscription.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Skus_ListBySubscription.json new file mode 100644 index 000000000000..f9252bed19f8 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Skus_ListBySubscription.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "projects/pools", + "name": "Large", + "tier": "Premium", + "locations": [ + "CentralUS" + ] + }, + { + "resourceType": "projects/pools", + "name": "Medium", + "tier": "Standard", + "locations": [ + "CentralUS" + ] + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Usages_ListByLocation.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Usages_ListByLocation.json new file mode 100644 index 000000000000..7851b436ca7f --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/examples/Usages_ListByLocation.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-07-01-preview", + "subscriptionId": "0ac520ee-14c0-480f-b6c9-0a90c58ffff", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "nextLink": null, + "value": [ + { + "currentValue": 2, + "limit": 8, + "unit": "Count", + "name": { + "value": "devcenters" + }, + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/Microsoft.DevCenter/locations/westus/quotas/devcenters" + }, + { + "currentValue": 5, + "limit": 30, + "unit": "Count", + "name": { + "value": "projects" + }, + "id": "/subscriptions/0ac520ee-14c0-480f-b6c9-0a90c58ffff/Microsoft.DevCenter/locations/westus/quotas/projects" + } + ] + } + } + } +} diff --git a/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/vdi.json b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/vdi.json new file mode 100644 index 000000000000..84cf9babc581 --- /dev/null +++ b/specification/devcenter/resource-manager/Microsoft.DevCenter/preview/2024-07-01-preview/vdi.json @@ -0,0 +1,1958 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-07-01-preview", + "title": "DevCenter", + "description": "DevCenter Management 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": { + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/skus": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "SKUs" + ], + "description": "Lists the Microsoft.DevCenter SKUs available in a subscription", + "operationId": "Skus_ListBySubscription", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/SkuListResult" + } + }, + "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" + }, + "x-ms-examples": { + "Skus_ListBySubscription": { + "$ref": "./examples/Skus_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/pools": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Pools" + ], + "description": "Lists pools for a project", + "operationId": "Pools_ListByProject", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/PoolListResult" + } + }, + "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" + }, + "x-ms-examples": { + "Pools_ListByProject": { + "$ref": "./examples/Pools_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/pools/{poolName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + } + ], + "get": { + "tags": [ + "Pools" + ], + "description": "Gets a machine pool", + "operationId": "Pools_Get", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Pool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Pools_Get": { + "$ref": "./examples/Pools_Get.json" + }, + "Pools_GetUnhealthyStatus": { + "$ref": "./examples/Pools_GetUnhealthyStatus.json" + } + } + }, + "put": { + "tags": [ + "Pools" + ], + "description": "Creates or updates a machine pool", + "operationId": "Pools_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents a machine pool", + "required": true, + "schema": { + "$ref": "#/definitions/Pool" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Pool" + } + }, + "201": { + "description": "Created. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Pool" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Pools_CreateOrUpdate": { + "$ref": "./examples/Pools_Put.json" + }, + "Pools_CreateOrUpdateWithManagedNetwork": { + "$ref": "./examples/Pools_PutWithManagedNetwork.json" + }, + "Pools_CreateOrUpdateWithValueDevBoxDefinition": { + "$ref": "./examples/Pools_PutWithValueDevBoxDefinition.json" + } + } + }, + "patch": { + "tags": [ + "Pools" + ], + "description": "Partially updates a machine pool", + "operationId": "Pools_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents a machine pool", + "required": true, + "schema": { + "$ref": "#/definitions/PoolUpdate" + } + } + ], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Pool" + } + }, + "202": { + "description": "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-examples": { + "Pools_Update": { + "$ref": "./examples/Pools_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Pools" + ], + "description": "Deletes a machine pool", + "operationId": "Pools_Delete", + "parameters": [], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Pools_Delete": { + "$ref": "./examples/Pools_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/pools/{poolName}/runHealthChecks": { + "post": { + "tags": [ + "Pools" + ], + "description": "Triggers a refresh of the pool status.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + } + ], + "operationId": "Pools_RunHealthChecks", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Initiating pool status refresh.", + "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-examples": { + "Pools_RefreshStatus": { + "$ref": "./examples/Pools_RunHealthChecks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/pools/{poolName}/schedules": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Schedules" + ], + "description": "Lists schedules for a pool", + "operationId": "Schedules_ListByPool", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/ScheduleListResult" + } + }, + "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" + }, + "x-ms-examples": { + "Schedules_ListByPool": { + "$ref": "./examples/Schedules_ListByPool.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/projects/{projectName}/pools/{poolName}/schedules/{scheduleName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/ProjectNameParameter" + }, + { + "$ref": "#/parameters/PoolNameParameter" + }, + { + "$ref": "#/parameters/ScheduleNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Schedules" + ], + "description": "Gets a schedule resource.", + "operationId": "Schedules_Get", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Schedules_GetByPool": { + "$ref": "./examples/Schedules_Get.json" + } + } + }, + "put": { + "tags": [ + "Schedules" + ], + "description": "Creates or updates a Schedule.", + "operationId": "Schedules_CreateOrUpdate", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents a scheduled task", + "required": true, + "schema": { + "$ref": "#/definitions/Schedule" + } + } + ], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "201": { + "description": "Created. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Schedules_CreateDailyShutdownPoolSchedule": { + "$ref": "./examples/Schedules_CreateDailyShutdownPoolSchedule.json" + } + } + }, + "patch": { + "tags": [ + "Schedules" + ], + "description": "Partially updates a Scheduled.", + "operationId": "Schedules_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents a scheduled task.", + "required": true, + "schema": { + "$ref": "#/definitions/ScheduleUpdate" + } + } + ], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/Schedule" + } + }, + "202": { + "description": "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-examples": { + "Schedules_Update": { + "$ref": "./examples/Schedules_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Schedules" + ], + "description": "Deletes a Scheduled.", + "operationId": "Schedules_Delete", + "parameters": [], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Schedules_Delete": { + "$ref": "./examples/Schedules_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.DevCenter/networkConnections": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Network Connections" + ], + "description": "Lists network connections in a subscription", + "operationId": "NetworkConnections_ListBySubscription", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/NetworkConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NetworkConnections_ListBySubscription": { + "$ref": "./examples/NetworkConnections_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + } + ], + "get": { + "tags": [ + "Network Connections" + ], + "description": "Lists network connections in a resource group", + "operationId": "NetworkConnections_ListByResourceGroup", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/NetworkConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NetworkConnections_ListByResourceGroup": { + "$ref": "./examples/NetworkConnections_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections/{networkConnectionName}": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/NetworkConnectionName" + } + ], + "get": { + "tags": [ + "Network Connections" + ], + "description": "Gets a network connection resource", + "operationId": "NetworkConnections_Get", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/NetworkConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NetworkConnections_Get": { + "$ref": "./examples/NetworkConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "Network Connections" + ], + "description": "Creates or updates a Network Connections resource", + "operationId": "NetworkConnections_CreateOrUpdate", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents network connection", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkConnection" + } + } + ], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "Accepted. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NetworkConnection" + } + }, + "201": { + "description": "Created. Operation will complete asynchronously.", + "schema": { + "$ref": "#/definitions/NetworkConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NetworkConnections_CreateOrUpdate": { + "$ref": "./examples/NetworkConnections_Put.json" + } + } + }, + "patch": { + "tags": [ + "Network Connections" + ], + "description": "Partially updates a Network Connection", + "operationId": "NetworkConnections_Update", + "parameters": [ + { + "in": "body", + "name": "body", + "description": "Represents network connection", + "required": true, + "schema": { + "$ref": "#/definitions/NetworkConnectionUpdate" + } + } + ], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/NetworkConnection" + } + }, + "202": { + "description": "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-examples": { + "NetworkConnections_Update": { + "$ref": "./examples/NetworkConnections_Patch.json" + } + } + }, + "delete": { + "tags": [ + "Network Connections" + ], + "description": "Deletes a Network Connections resource", + "operationId": "NetworkConnections_Delete", + "parameters": [], + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NetworkConnections_Delete": { + "$ref": "./examples/NetworkConnections_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections/{networkConnectionName}/healthChecks": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/NetworkConnectionName" + } + ], + "get": { + "tags": [ + "Network Connections" + ], + "description": "Lists health check status details", + "operationId": "NetworkConnections_ListHealthDetails", + "parameters": [], + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/HealthCheckStatusDetailsListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NetworkConnections_ListHealthDetails": { + "$ref": "./examples/NetworkConnections_ListHealthDetails.json" + } + }, + "x-ms-pageable": { + "nextLinkName": null + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections/{networkConnectionName}/healthChecks/latest": { + "get": { + "tags": [ + "Network Connections" + ], + "description": "Gets health check status details.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/NetworkConnectionName" + } + ], + "operationId": "NetworkConnections_GetHealthDetails", + "responses": { + "200": { + "description": "OK. The request has succeeded.", + "schema": { + "$ref": "#/definitions/HealthCheckStatusDetails" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "NetworkConnections_GetHealthDetails": { + "$ref": "./examples/NetworkConnections_GetHealthDetails.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections/{networkConnectionName}/runHealthChecks": { + "post": { + "tags": [ + "Network Connection" + ], + "description": "Triggers a new health check run. The execution and health check result can be tracked via the network Connection health check details", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.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/NetworkConnectionName" + } + ], + "operationId": "NetworkConnections_RunHealthChecks", + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "responses": { + "202": { + "description": "Accepted. Initiating health checks.", + "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-examples": { + "NetworkConnections_RunHealthChecks": { + "$ref": "./examples/NetworkConnections_RunHealthChecks.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevCenter/networkConnections/{networkConnectionName}/outboundNetworkDependenciesEndpoints": { + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "commonDefinitions.json#/parameters/TopParameter" + }, + { + "$ref": "#/parameters/NetworkConnectionName" + } + ], + "get": { + "tags": [ + "Network Connection" + ], + "operationId": "NetworkConnections_ListOutboundNetworkDependenciesEndpoints", + "description": "Lists the endpoints that agents may call as part of Dev Box service administration. These FQDNs should be allowed for outbound access in order for the Dev Box service to function.", + "parameters": [], + "x-ms-examples": { + "ListOutboundNetworkDependencies": { + "$ref": "./examples/NetworkConnections_ListOutboundNetworkDependenciesEndpoints.json" + } + }, + "responses": { + "200": { + "description": "The operation was successful. The response contains a list of outbound network dependencies.", + "schema": { + "$ref": "#/definitions/OutboundEnvironmentEndpointCollection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "SkuListResult": { + "description": "Results of the Microsoft.DevCenter SKU list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "commonDefinitions.json#/definitions/DevCenterSku" + }, + "x-ms-identifiers": [], + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "Pool": { + "description": "A pool of Virtual Machines.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Pool properties", + "x-ms-client-flatten": true, + "$ref": "#/definitions/PoolProperties" + } + } + }, + "PoolUpdateProperties": { + "description": "Properties of a Pool. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "devBoxDefinitionType": { + "description": "Indicates if the pool is created from an existing Dev Box Definition or if one is provided directly.", + "$ref": "#/definitions/PoolDevBoxDefinitionType" + }, + "devBoxDefinitionName": { + "description": "Name of a Dev Box definition in parent Project of this Pool. Will be ignored if devBoxDefinitionType is Value.", + "type": "string" + }, + "devBoxDefinition": { + "description": "A definition of the machines that are created from this Pool. Will be ignored if devBoxDefinitionType is Reference or not provided.", + "$ref": "#/definitions/PoolDevBoxDefinition" + }, + "networkConnectionName": { + "description": "Name of a Network Connection in parent Project of this Pool", + "type": "string" + }, + "licenseType": { + "description": "Specifies the license type indicating the caller has already acquired licenses for the Dev Boxes that will be created.", + "$ref": "#/definitions/LicenseType" + }, + "localAdministrator": { + "description": "Indicates whether owners of Dev Boxes in this pool are added as local administrators on the Dev Box.", + "$ref": "#/definitions/LocalAdminStatus" + }, + "stopOnDisconnect": { + "description": "Stop on disconnect configuration settings for Dev Boxes created in this pool.", + "$ref": "#/definitions/StopOnDisconnectConfiguration" + }, + "singleSignOnStatus": { + "description": "Indicates whether Dev Boxes in this pool are created with single sign on enabled. The also requires that single sign on be enabled on the tenant.", + "$ref": "#/definitions/SingleSignOnStatus" + }, + "displayName": { + "type": "string", + "description": "The display name of the pool." + }, + "virtualNetworkType": { + "description": "Indicates whether the pool uses a Virtual Network managed by Microsoft or a customer provided network.", + "$ref": "#/definitions/VirtualNetworkType" + }, + "managedVirtualNetworkRegions": { + "type": "array", + "description": "The regions of the managed virtual network (required when managedNetworkType is Managed).", + "items": { + "type": "string" + } + } + } + }, + "PoolProperties": { + "type": "object", + "description": "Properties of a Pool", + "allOf": [ + { + "$ref": "#/definitions/PoolUpdateProperties" + } + ], + "properties": { + "healthStatus": { + "description": "Overall health status of the Pool. Indicates whether or not the Pool is available to create Dev Boxes.", + "$ref": "#/definitions/HealthStatus", + "readOnly": true + }, + "healthStatusDetails": { + "description": "Details on the Pool health status to help diagnose issues. This is only populated when the pool status indicates the pool is in a non-healthy state", + "type": "array", + "items": { + "$ref": "#/definitions/HealthStatusDetail" + }, + "x-ms-identifiers": [ + "code" + ], + "readOnly": true + }, + "devBoxCount": { + "description": "Indicates the number of provisioned Dev Boxes in this pool.", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + } + }, + "required": [ + "devBoxDefinitionName", + "networkConnectionName", + "licenseType", + "localAdministrator" + ] + }, + "PoolDevBoxDefinition": { + "description": "Represents a definition for a Developer Machine.", + "type": "object", + "properties": { + "imageReference": { + "$ref": "#/definitions/ImageReference", + "description": "Image reference information." + }, + "sku": { + "description": "The SKU for Dev Boxes created from the Pool.", + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Sku" + }, + "activeImageReference": { + "$ref": "#/definitions/ImageReference", + "description": "Image reference information for the currently active image (only populated during updates).", + "readOnly": true + } + } + }, + "HealthStatus": { + "description": "Health status indicating whether a pool is available to create Dev Boxes.", + "enum": [ + "Unknown", + "Pending", + "Healthy", + "Warning", + "Unhealthy" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthStatus", + "modelAsString": true + } + }, + "HealthStatusDetail": { + "type": "object", + "description": "Pool health status detail.", + "properties": { + "code": { + "type": "string", + "description": "An identifier for the issue.", + "readOnly": true + }, + "message": { + "type": "string", + "description": "A message describing the issue, intended to be suitable for display in a user interface", + "readOnly": true + } + } + }, + "LicenseType": { + "description": "License Types", + "enum": [ + "Windows_Client" + ], + "type": "string", + "x-ms-enum": { + "name": "LicenseType", + "modelAsString": true + } + }, + "LocalAdminStatus": { + "description": "Local Administrator enable or disable status. Indicates whether owners of Dev Boxes are added as local administrators on the Dev Box.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "LocalAdminStatus", + "modelAsString": true + } + }, + "SingleSignOnStatus": { + "description": "SingleSignOn (SSO) enable or disable status. Indicates whether Dev Boxes in the Pool will have SSO enabled or disabled.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "SingleSignOnStatus", + "modelAsString": true + } + }, + "VirtualNetworkType": { + "description": "Indicates a pool uses a Virtual Network managed by Microsoft (Managed), or a customer provided Network (Unmanaged).", + "type": "string", + "enum": [ + "Managed", + "Unmanaged" + ], + "x-ms-enum": { + "name": "VirtualNetworkType", + "modelAsString": true + } + }, + "PoolDevBoxDefinitionType": { + "description": "Indicates if the pool is created from an existing Dev Box Definition or if one is provided directly.", + "type": "string", + "enum": [ + "Reference", + "Value" + ], + "x-ms-enum": { + "name": "PoolDevBoxDefinitionType", + "modelAsString": true + } + }, + "StopOnDisconnectConfiguration": { + "type": "object", + "description": "Stop on disconnect configuration settings for Dev Boxes created in this pool.", + "properties": { + "status": { + "description": "Whether the feature to stop the Dev Box on disconnect once the grace period has lapsed is enabled.", + "$ref": "#/definitions/StopOnDisconnectEnableStatus" + }, + "gracePeriodMinutes": { + "description": "The specified time in minutes to wait before stopping a Dev Box once disconnect is detected.", + "type": "integer", + "format": "int32" + } + } + }, + "StopOnDisconnectEnableStatus": { + "description": "Stop on disconnect enable or disable status. Indicates whether stop on disconnect to is either enabled or disabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "StopOnDisconnectEnableStatus", + "modelAsString": true + } + }, + "PoolListResult": { + "description": "Results of the machine pool list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Pool" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "PoolUpdate": { + "description": "The pool properties for partial update. Properties not provided in the update request will not be changed.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PoolUpdateProperties", + "description": "Properties of a pool to be updated." + } + } + }, + "ImageReference": { + "type": "object", + "description": "Image reference information", + "properties": { + "id": { + "description": "Image ID, or Image version ID. When Image ID is provided, its latest version will be used.", + "type": "string" + }, + "exactVersion": { + "type": "string", + "readOnly": true, + "description": "The actual version of the image after use. When id references a gallery image latest version, this will indicate the actual version in use." + } + } + }, + "ImageValidationStatus": { + "description": "Image validation status", + "enum": [ + "Unknown", + "Pending", + "Succeeded", + "Failed", + "TimedOut" + ], + "type": "string", + "x-ms-enum": { + "name": "ImageValidationStatus", + "modelAsString": true + } + }, + "ImageValidationErrorDetails": { + "type": "object", + "description": "Image validation error details", + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error." + }, + "message": { + "type": "string", + "description": "A message describing the error." + } + } + }, + "CatalogResourceValidationStatus": { + "description": "Catalog resource validation status", + "enum": [ + "Unknown", + "Pending", + "Succeeded", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "CatalogResourceValidationStatus", + "modelAsString": true + } + }, + "CatalogResourceValidationErrorDetails": { + "type": "object", + "description": "List of validator error details. Populated when changes are made to the resource or its dependent resources that impact the validity of the Catalog resource.", + "properties": { + "errors": { + "description": "Errors associated with resources synchronized from the catalog.", + "type": "array", + "items": { + "$ref": "#/definitions/CatalogErrorDetails" + }, + "x-ms-identifiers": [], + "readOnly": true + } + } + }, + "CatalogErrorDetails": { + "type": "object", + "description": "Catalog error details", + "properties": { + "code": { + "type": "string", + "description": "An identifier for the error." + }, + "message": { + "type": "string", + "description": "A message describing the error." + } + } + }, + "NetworkConnection": { + "type": "object", + "description": "Network related settings", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "description": "Properties of a Network Connection", + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkProperties" + } + } + }, + "NetworkConnectionUpdate": { + "description": "The network connection properties for partial update. Properties not provided in the update request will not be changed.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkConnectionUpdateProperties", + "description": "Properties of a network connection resource to be updated." + } + } + }, + "NetworkConnectionUpdateProperties": { + "description": "Properties of network connection. These properties can be updated after the resource has been created.", + "type": "object", + "properties": { + "subnetId": { + "description": "The subnet to attach Virtual Machines to", + "type": "string" + }, + "domainName": { + "description": "Active Directory domain name", + "type": "string" + }, + "organizationUnit": { + "description": "Active Directory domain Organization Unit (OU)", + "type": "string" + }, + "domainUsername": { + "description": "The username of an Active Directory account (user or service account) that has permissions to create computer objects in Active Directory. Required format: admin@contoso.com.", + "type": "string" + }, + "domainPassword": { + "description": "The password for the account used to join domain", + "type": "string", + "x-ms-secret": true + } + } + }, + "NetworkProperties": { + "description": "Network properties", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkConnectionUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + }, + "healthCheckStatus": { + "description": "Overall health status of the network connection. Health checks are run on creation, update, and periodically to validate the network connection.", + "$ref": "#/definitions/HealthCheckStatus", + "readOnly": true + }, + "networkingResourceGroupName": { + "description": "The name for resource group where NICs will be placed.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "domainJoinType": { + "description": "AAD Join type.", + "$ref": "#/definitions/DomainJoinType", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "required": [ + "subnetId", + "domainJoinType" + ] + }, + "NetworkConnectionListResult": { + "description": "Result of the network connection list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/NetworkConnection" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "DomainJoinType": { + "description": "Active Directory join type", + "enum": [ + "HybridAzureADJoin", + "AzureADJoin", + "None" + ], + "type": "string", + "x-ms-enum": { + "name": "DomainJoinType", + "modelAsString": true + } + }, + "HealthCheckStatus": { + "description": "Health check status values", + "enum": [ + "Unknown", + "Pending", + "Running", + "Passed", + "Warning", + "Failed" + ], + "type": "string", + "x-ms-enum": { + "name": "HealthCheckStatus", + "modelAsString": true + } + }, + "HealthCheckStatusDetails": { + "description": "Health Check details.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "description": "Health check status details properties.", + "$ref": "#/definitions/HealthCheckStatusDetailsProperties" + } + } + }, + "HealthCheckStatusDetailsProperties": { + "description": "Health Check properties.", + "type": "object", + "properties": { + "startDateTime": { + "type": "string", + "description": "Start time of last execution of the health checks.", + "readOnly": true, + "format": "date-time" + }, + "endDateTime": { + "type": "string", + "description": "End time of last execution of the health checks.", + "readOnly": true, + "format": "date-time" + }, + "healthChecks": { + "description": "Details for each health check item.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthCheck" + }, + "x-ms-identifiers": [], + "readOnly": true + } + } + }, + "HealthCheck": { + "description": "An individual health check item", + "type": "object", + "properties": { + "status": { + "description": "The status of the health check item.", + "$ref": "#/definitions/HealthCheckStatus", + "readOnly": true + }, + "displayName": { + "description": "The display name of this health check item.", + "type": "string", + "readOnly": true + }, + "startDateTime": { + "description": "Start time of health check item.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "endDateTime": { + "description": "End time of the health check item.", + "type": "string", + "readOnly": true, + "format": "date-time" + }, + "errorType": { + "description": "The type of error that occurred during this health check.", + "type": "string", + "readOnly": true + }, + "recommendedAction": { + "description": "The recommended action to fix the corresponding error.", + "type": "string", + "readOnly": true + }, + "additionalDetails": { + "description": "Additional details about the health check or the recommended action.", + "type": "string", + "readOnly": true + } + } + }, + "HealthCheckStatusDetailsListResult": { + "description": "Result of the network health check list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/HealthCheckStatusDetails" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "OutboundEnvironmentEndpointCollection": { + "type": "object", + "properties": { + "value": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + }, + "x-ms-identifiers": [ + "category" + ], + "description": "The collection of outbound network dependency endpoints returned by the listing operation." + }, + "nextLink": { + "type": "string", + "description": "The continuation token." + } + }, + "description": "Values returned by the List operation." + }, + "OutboundEnvironmentEndpoint": { + "type": "object", + "properties": { + "category": { + "type": "string", + "readOnly": true, + "description": "The type of service that the agent connects to." + }, + "endpoints": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/EndpointDependency" + }, + "x-ms-identifiers": [ + "domainName" + ], + "description": "The endpoints for this service for which the agent requires outbound access." + } + }, + "description": "A collection of related endpoints from the same service for which the agent requires outbound access." + }, + "EndpointDependency": { + "type": "object", + "properties": { + "domainName": { + "type": "string", + "readOnly": true, + "description": "The domain name of the dependency. Domain names may be fully qualified or may contain a * wildcard." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Human-readable supplemental information about the dependency and when it is applicable." + }, + "endpointDetails": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/EndpointDetail" + }, + "x-ms-identifiers": [], + "description": "The list of connection details for this endpoint." + } + }, + "description": "A domain name and connection details used to access a dependency." + }, + "EndpointDetail": { + "type": "object", + "properties": { + "port": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The port an endpoint is connected to." + } + }, + "description": "Details about the connection between the Batch service and the endpoint." + }, + "Schedule": { + "type": "object", + "description": "Represents a Schedule to execute a task.", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Resource" + } + ], + "properties": { + "properties": { + "description": "Properties of a Schedule resource", + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScheduleProperties" + } + } + }, + "ScheduleUpdate": { + "description": "The schedule properties for partial update. Properties not provided in the update request will not be changed.", + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ScheduleUpdateProperties", + "description": "Properties of a schedule resource to be updated." + } + } + }, + "ScheduleUpdateProperties": { + "description": "Updatable properties of a Schedule.", + "type": "object", + "allOf": [ + { + "$ref": "commonDefinitions.json#/definitions/TrackedResourceUpdate" + } + ], + "properties": { + "type": { + "description": "Supported type this scheduled task represents.", + "$ref": "#/definitions/ScheduledType" + }, + "frequency": { + "description": "The frequency of this scheduled task.", + "$ref": "#/definitions/ScheduledFrequency" + }, + "time": { + "description": "The target time to trigger the action. The format is HH:MM.", + "type": "string" + }, + "timeZone": { + "description": "The IANA timezone id at which the schedule should execute.", + "type": "string" + }, + "state": { + "description": "Indicates whether or not this scheduled task is enabled.", + "$ref": "#/definitions/ScheduleEnableStatus" + } + } + }, + "ScheduleProperties": { + "description": "The Schedule properties defining when and what to execute.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ScheduleUpdateProperties" + } + ], + "properties": { + "provisioningState": { + "description": "The provisioning state of the resource.", + "$ref": "commonDefinitions.json#/definitions/ProvisioningState", + "readOnly": true + } + }, + "required": [ + "type", + "frequency", + "timeZone", + "time" + ] + }, + "ScheduleListResult": { + "description": "Result of the schedule list operation.", + "type": "object", + "properties": { + "value": { + "description": "Current page of results.", + "type": "array", + "items": { + "$ref": "#/definitions/Schedule" + }, + "readOnly": true + }, + "nextLink": { + "description": "URL to get the next set of results if there are any.", + "type": "string", + "readOnly": true + } + } + }, + "ScheduledType": { + "description": "The supported types for a scheduled task.", + "enum": [ + "StopDevBox" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduledType", + "modelAsString": true + } + }, + "ScheduledFrequency": { + "description": "The frequency of task execution.", + "enum": [ + "Daily" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduledFrequency", + "modelAsString": true + } + }, + "ScheduleEnableStatus": { + "description": "Schedule enable or disable status. Indicates whether the schedule applied to is either enabled or disabled.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ScheduleEnableStatus", + "modelAsString": true + } + } + }, + "parameters": { + "PoolNameParameter": { + "name": "poolName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the pool.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "NetworkConnectionName": { + "name": "networkConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the Network Connection that can be applied to a Pool.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_.]{2,62}$", + "minLength": 3, + "maxLength": 63 + }, + "ScheduleNameParameter": { + "name": "scheduleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the schedule that uniquely identifies it.", + "minLength": 1, + "maxLength": 100, + "pattern": "^[-\\w]+$", + "x-ms-parameter-location": "method" + }, + "FilterParameter": { + "name": "$filter", + "in": "query", + "description": "The filter to apply to the operation. Example: '$filter=contains(name,'myName').", + "type": "string", + "required": false, + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/devcenter/resource-manager/readme.md b/specification/devcenter/resource-manager/readme.md index fb8fde5f3e54..bfe88cff1717 100644 --- a/specification/devcenter/resource-manager/readme.md +++ b/specification/devcenter/resource-manager/readme.md @@ -27,10 +27,40 @@ These are the global settings for devcenter. ``` yaml openapi-type: arm openapi-subtype: rpaas -tag: package-preview-2024-05 +tag: package-preview-2024-07 ``` +### Tag: package-preview-2024-07 + +These settings apply only when `--tag=package-preview-2024-07` is specified on the command line. + +```yaml $(tag) == 'package-preview-2024-07' +input-file: + - Microsoft.DevCenter/preview/2024-07-01-preview/commonDefinitions.json + - Microsoft.DevCenter/preview/2024-07-01-preview/devcenter.json + - Microsoft.DevCenter/preview/2024-07-01-preview/vdi.json +suppressions: + - code: PatchBodyParametersSchema + from: vdi.json + reason: Patch Body comes from common-types v5 Sku object. Keeping here for consistency with existing parts of API to avoid breaking customers. +``` + +### Tag: package-preview-2024-06 + +These settings apply only when `--tag=package-preview-2024-06` is specified on the command line. + +```yaml $(tag) == 'package-preview-2024-06' +input-file: + - Microsoft.DevCenter/preview/2024-06-01-preview/commonDefinitions.json + - Microsoft.DevCenter/preview/2024-06-01-preview/devcenter.json + - Microsoft.DevCenter/preview/2024-06-01-preview/vdi.json +suppressions: + - code: PatchBodyParametersSchema + from: vdi.json + reason: Patch Body comes from common-types v5 Sku object. Keeping here for consistency with existing parts of API to avoid breaking customers. +``` + ### Tag: package-preview-2024-05 These settings apply only when `--tag=package-preview-2024-05` is specified on the command line. diff --git a/specification/developersigning/DeveloperSigning/main.tsp b/specification/developersigning/DeveloperSigning/main.tsp index ec078c941043..167bd84ccdc7 100644 --- a/specification/developersigning/DeveloperSigning/main.tsp +++ b/specification/developersigning/DeveloperSigning/main.tsp @@ -68,7 +68,7 @@ interface CertificateProfileOperations { @pollingOperation(CertificateProfileOperations.getSigningStatus) sign is StandardResourceOperations.LongRunningResourceAction< CertificateProfileName, - SigningPayloadOptions, + BodyParameter, SignResult, Foundations.ErrorResponse, SigningRequestHeadersTraits @@ -150,9 +150,9 @@ model SignResult { signature?: bytes; @doc(""" -Signing certificate corresponding to the private key used to sign the requested -digest. -""") + Signing certificate corresponding to the private key used to sign the requested + digest. + """) signingCertificate?: bytes; } @@ -188,6 +188,17 @@ model BytesBody { contentType: ContentType; } +alias BodyParameter< + T, + TName extends valueof string = "body", + TDoc extends valueof string = "Body parameter." +> = { + @doc(TDoc) + @friendlyName(TName) + @bodyRoot + body: T; +}; + alias SigningRequestHeadersTraits = Azure.Core.Traits.RequestHeadersTrait<{ @doc("An optional client version.") @header diff --git a/specification/developersigning/DeveloperSigning/tspconfig.yaml b/specification/developersigning/DeveloperSigning/tspconfig.yaml index 38bf662c7e2c..f1458d64cb5c 100644 --- a/specification/developersigning/DeveloperSigning/tspconfig.yaml +++ b/specification/developersigning/DeveloperSigning/tspconfig.yaml @@ -9,6 +9,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "examples" omit-unreachable-types: true diff --git a/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/azure.developer.signing.json b/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/azure.developer.signing.json index 167577681423..3ad206e9823f 100644 --- a/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/azure.developer.signing.json +++ b/specification/developersigning/data-plane/Azure.Developer.Signing/preview/2023-06-15-preview/azure.developer.signing.json @@ -93,6 +93,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/SigningPayloadOptions" diff --git a/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp b/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp index 14b4184ba0f8..6dbe9f00e252 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/assetEndpointProfiles.tsp @@ -120,10 +120,17 @@ model OwnCertificate { interface AssetEndpointProfiles { get is ArmResourceRead; - createOrReplace is ArmResourceCreateOrReplaceAsync; - - @parameterVisibility - update is ArmCustomPatchAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrReplace is ArmResourceCreateOrReplaceAsync< + AssetEndpointProfile, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; + + update is ArmResourcePatchAsync< + AssetEndpointProfile, + AssetEndpointProfileProperties + >; delete is ArmResourceDeleteWithoutOkAsync; diff --git a/specification/deviceregistry/DeviceRegistry.Management/assets.tsp b/specification/deviceregistry/DeviceRegistry.Management/assets.tsp index 6a695b570fa0..d31b2560f6e9 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/assets.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/assets.tsp @@ -56,7 +56,7 @@ model AssetProperties { @doc("A reference to the asset endpoint profile (connection information) used by brokers to connect to an endpoint that provides data points for this asset. Must have the format /.") @visibility("read", "create") - assetEndpointProfileUri: url; + assetEndpointProfileUri: string; @doc("An integer that is incremented each time the resource is modified.") @visibility("read") @@ -66,7 +66,7 @@ model AssetProperties { manufacturer?: string; @doc("Asset manufacturer URI.") - manufacturerUri?: url; + manufacturerUri?: string; @doc("Asset model name.") // `model` is a reserved keyname. Wrap in double quotes @@ -82,7 +82,7 @@ model AssetProperties { softwareRevision?: string; @doc("Reference to the documentation.") - documentationUri?: url; + documentationUri?: string; @doc("Asset serial number.") serialNumber?: string; @@ -205,10 +205,14 @@ model AssetStatusError { interface Assets { get is ArmResourceRead; - createOrReplace is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrReplace is ArmResourceCreateOrReplaceAsync< + Asset, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; - @parameterVisibility - update is ArmCustomPatchAsync; + update is ArmResourcePatchAsync; delete is ArmResourceDeleteWithoutOkAsync; diff --git a/specification/deviceregistry/DeviceRegistry.Management/client.tsp b/specification/deviceregistry/DeviceRegistry.Management/client.tsp deleted file mode 100644 index d676677d0a04..000000000000 --- a/specification/deviceregistry/DeviceRegistry.Management/client.tsp +++ /dev/null @@ -1,18 +0,0 @@ -import "./main.tsp"; -import "@azure-tools/typespec-client-generator-core"; - -using Azure.ClientGenerator.Core; - -namespace Microsoft.DeviceRegistry; - -@@clientName(Asset, "DeviceRegistryAsset", "csharp"); -@@clientName(AssetEndpointProfile, - "DeviceRegistryAssetEndpointProfile", - "csharp" -); -@@clientName(ExtendedLocation, "DeviceRegistryExtendedLocation", "csharp"); -@@clientName(Event, "AssetEvent", "csharp"); -@@clientName(ProvisioningState, "DeviceRegistryProvisioningState", "csharp"); -@@clientName(ExtendedLocation.type, "ExtendedLocationType", "csharp"); -@@access(OperationStatus.get, Access.internal, "csharp"); -@@access(Operations.list, Access.internal, "csharp"); diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_Asset.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_Asset.json index 554f1c4f70a6..356d96faab2a 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_Asset.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_Asset.json @@ -8,15 +8,9 @@ "resourceGroupName": "myResourceGroup", "assetName": "my-asset", "properties": { - "location": "West Europe", "properties": { "enabled": false, - "displayName": "NewAssetDisplayName", - "assetEndpointProfileUri": "https://www.example.com/myAssetEndpointProfile" - }, - "extendedLocation": { - "type": "CustomLocation", - "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/location1" + "displayName": "NewAssetDisplayName" } } }, diff --git a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_AssetEndpointProfile.json b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_AssetEndpointProfile.json index bc2ec7d92277..e4c17fcd8789 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_AssetEndpointProfile.json +++ b/specification/deviceregistry/DeviceRegistry.Management/examples/2023-11-01-preview/Update_AssetEndpointProfile.json @@ -8,13 +8,8 @@ "resourceGroupName": "myResourceGroup", "assetEndpointProfileName": "my-assetendpointprofile", "properties": { - "location": "West Europe", "properties": { "targetAddress": "https://www.example.com/myTargetAddress" - }, - "extendedLocation": { - "type": "CustomLocation", - "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/location1" } } }, diff --git a/specification/deviceregistry/DeviceRegistry.Management/main.tsp b/specification/deviceregistry/DeviceRegistry.Management/main.tsp index b20e7ad8756f..5fb0dd46c348 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/main.tsp +++ b/specification/deviceregistry/DeviceRegistry.Management/main.tsp @@ -46,23 +46,8 @@ interface OperationStatus { provider: "Microsoft.DeviceRegistry", ...LocationParameter, - - @path - @segment("operationStatuses") - @minLength(1) - @doc("The ID of an ongoing async operation.") - @armCommonParameter( - "OperationIdParameter", - Azure.ResourceManager.CommonTypes.Versions.v3 - ) - @armCommonParameter( - "OperationIdParameter", - Azure.ResourceManager.CommonTypes.Versions.v4 - ) - @armCommonParameter( - "OperationIdParameter", - Azure.ResourceManager.CommonTypes.Versions.v5 - ) - operationId: string, + ...Foundations.OperationIdParameter, ): ArmResponse | ErrorResponse; } + +@@segment(OperationStatus.get::parameters.operationId, "operationStatuses"); diff --git a/specification/deviceregistry/DeviceRegistry.Management/tspconfig.yaml b/specification/deviceregistry/DeviceRegistry.Management/tspconfig.yaml index 2d9ea203974c..2eb6b856421a 100644 --- a/specification/deviceregistry/DeviceRegistry.Management/tspconfig.yaml +++ b/specification/deviceregistry/DeviceRegistry.Management/tspconfig.yaml @@ -17,10 +17,6 @@ options: namespace: "com.azure.resourcemanager.deviceregistry" service-name: "Device Registry" examples-directory: "examples" - "@azure-tools/typespec-csharp": - package-dir: "Azure.ResourceManager.DeviceRegistry" - namespace: "{package-dir}" - flavor: "azure" linter: extends: - "@azure-tools/typespec-azure-rulesets/resource-manager" diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/deviceregistry.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/deviceregistry.json index 5991aaddadb6..7af2954f4243 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/deviceregistry.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/deviceregistry.json @@ -404,7 +404,7 @@ "description": "The resource properties to be updated.", "required": true, "schema": { - "$ref": "#/definitions/AssetEndpointProfile" + "$ref": "#/definitions/AssetEndpointProfileUpdate" } } ], @@ -713,7 +713,7 @@ "description": "The resource properties to be updated.", "required": true, "schema": { - "$ref": "#/definitions/Asset" + "$ref": "#/definitions/AssetUpdate" } } ], @@ -827,11 +827,7 @@ "properties": { "$ref": "#/definitions/AssetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -858,11 +854,7 @@ "properties": { "$ref": "#/definitions/AssetEndpointProfileProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -939,6 +931,46 @@ "targetAddress" ] }, + "AssetEndpointProfileUpdate": { + "type": "object", + "description": "The type used for update operations of the AssetEndpointProfile.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/AssetEndpointProfileUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "AssetEndpointProfileUpdateProperties": { + "type": "object", + "description": "The updatable properties of the AssetEndpointProfile.", + "properties": { + "targetAddress": { + "type": "string", + "format": "uri", + "description": "The local valid URI specifying the network address/DNS name of a southbound device. The scheme part of the targetAddress URI specifies the type of the device. The additionalConfiguration field holds further connector type specific configuration." + }, + "userAuthentication": { + "$ref": "#/definitions/UserAuthenticationUpdate", + "description": "Defines the client authentication mechanism to the server." + }, + "transportAuthentication": { + "$ref": "#/definitions/TransportAuthenticationUpdate", + "description": "Defines the authentication mechanism for the southbound connector connecting to the shop floor/OT device." + }, + "additionalConfiguration": { + "type": "string", + "description": "Contains connectivity type specific further configuration (e.g. OPC UA, Modbus, ONVIF)." + } + } + }, "AssetListResult": { "type": "object", "description": "The response of a Asset list operation.", @@ -995,7 +1027,6 @@ }, "assetEndpointProfileUri": { "type": "string", - "format": "uri", "description": "A reference to the asset endpoint profile (connection information) used by brokers to connect to an endpoint that provides data points for this asset. Must have the format /.", "x-ms-mutability": [ "read", @@ -1014,7 +1045,6 @@ }, "manufacturerUri": { "type": "string", - "format": "uri", "description": "Asset manufacturer URI." }, "model": { @@ -1035,7 +1065,6 @@ }, "documentationUri": { "type": "string", - "format": "uri", "description": "Reference to the documentation." }, "serialNumber": { @@ -1120,6 +1149,106 @@ } } }, + "AssetUpdate": { + "type": "object", + "description": "The type used for update operations of the Asset.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/AssetUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "AssetUpdateProperties": { + "type": "object", + "description": "The updatable properties of the Asset.", + "properties": { + "assetType": { + "type": "string", + "description": "Resource path to asset type (model) definition." + }, + "enabled": { + "type": "boolean", + "description": "Enabled/Disabled status of the asset." + }, + "displayName": { + "type": "string", + "description": "Human-readable display name." + }, + "description": { + "type": "string", + "description": "Human-readable description of the asset." + }, + "manufacturer": { + "type": "string", + "description": "Asset manufacturer name." + }, + "manufacturerUri": { + "type": "string", + "description": "Asset manufacturer URI." + }, + "model": { + "type": "string", + "description": "Asset model name." + }, + "productCode": { + "type": "string", + "description": "Asset product code." + }, + "hardwareRevision": { + "type": "string", + "description": "Revision number of the hardware." + }, + "softwareRevision": { + "type": "string", + "description": "Revision number of the software." + }, + "documentationUri": { + "type": "string", + "description": "Reference to the documentation." + }, + "serialNumber": { + "type": "string", + "description": "Asset serial number." + }, + "attributes": { + "type": "object", + "description": "A set of key-value pairs that contain custom attributes set by the customer.", + "additionalProperties": {} + }, + "defaultDataPointsConfiguration": { + "type": "string", + "description": "Protocol-specific default configuration for all data points. Each data point can have its own configuration that overrides the default settings here. This assumes that each asset instance has one protocol." + }, + "defaultEventsConfiguration": { + "type": "string", + "description": "Protocol-specific default configuration for all events. Each event can have its own configuration that overrides the default settings here. This assumes that each asset instance has one protocol." + }, + "dataPoints": { + "type": "array", + "description": "Array of data points that are part of the asset. Each data point can reference an asset type capability and have per-data point configuration. See below for more details for the definition of the dataPoints element.", + "items": { + "$ref": "#/definitions/DataPoint" + }, + "x-ms-identifiers": [] + }, + "events": { + "type": "array", + "description": "Array of events that are part of the asset. Each event can reference an asset type capability and have per-event configuration. See below for more details about the definition of the events element.", + "items": { + "$ref": "#/definitions/Event" + }, + "x-ms-identifiers": [] + } + } + }, "DataPoint": { "type": "object", "description": "Defines the data point properties.", @@ -1328,6 +1457,20 @@ "ownCertificates" ] }, + "TransportAuthenticationUpdate": { + "type": "object", + "description": "Definition of the authentication mechanism for the southbound connector.", + "properties": { + "ownCertificates": { + "type": "array", + "description": "Defines a reference to a secret which contains all certificates and private keys that can be used by the southbound connector connecting to the shop floor/OT device. The accepted extensions are .der for certificates and .pfx/.pem for private keys.", + "items": { + "$ref": "#/definitions/OwnCertificate" + }, + "x-ms-identifiers": [] + } + } + }, "UserAuthentication": { "type": "object", "description": "Definition of the client authentication mechanism to the server.", @@ -1376,6 +1519,51 @@ "mode" ] }, + "UserAuthenticationUpdate": { + "type": "object", + "description": "Definition of the client authentication mechanism to the server.", + "properties": { + "mode": { + "type": "string", + "description": "Defines the mode to authenticate the user of the client at the server.", + "default": "Certificate", + "enum": [ + "Anonymous", + "Certificate", + "UsernamePassword" + ], + "x-ms-enum": { + "name": "UserAuthenticationMode", + "modelAsString": true, + "values": [ + { + "name": "Anonymous", + "value": "Anonymous", + "description": "The user authentication mode is anonymous." + }, + { + "name": "Certificate", + "value": "Certificate", + "description": "The user authentication mode is an x509 certificate." + }, + { + "name": "UsernamePassword", + "value": "UsernamePassword", + "description": "The user authentication mode is a username and password." + } + ] + } + }, + "usernamePasswordCredentials": { + "$ref": "#/definitions/UsernamePasswordCredentialsUpdate", + "description": "Defines the username and password references when UsernamePassword user authentication mode is selected." + }, + "x509Credentials": { + "$ref": "#/definitions/X509CredentialsUpdate", + "description": "Defines the certificate reference when Certificate user authentication mode is selected." + } + } + }, "UsernamePasswordCredentials": { "type": "object", "description": "The credentials for authentication mode UsernamePassword.", @@ -1394,6 +1582,20 @@ "passwordReference" ] }, + "UsernamePasswordCredentialsUpdate": { + "type": "object", + "description": "The credentials for authentication mode UsernamePassword.", + "properties": { + "usernameReference": { + "type": "string", + "description": "A reference to secret containing the username." + }, + "passwordReference": { + "type": "string", + "description": "A reference to secret containing the password." + } + } + }, "X509Credentials": { "type": "object", "description": "The x509 certificate for authentication mode Certificate.", @@ -1406,6 +1608,16 @@ "required": [ "certificateReference" ] + }, + "X509CredentialsUpdate": { + "type": "object", + "description": "The x509 certificate for authentication mode Certificate.", + "properties": { + "certificateReference": { + "type": "string", + "description": "A reference to secret containing the certificate and private key (e.g. stored as .der/.pem or .der/.pfx)." + } + } } }, "parameters": {} diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_Asset.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_Asset.json index 554f1c4f70a6..356d96faab2a 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_Asset.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_Asset.json @@ -8,15 +8,9 @@ "resourceGroupName": "myResourceGroup", "assetName": "my-asset", "properties": { - "location": "West Europe", "properties": { "enabled": false, - "displayName": "NewAssetDisplayName", - "assetEndpointProfileUri": "https://www.example.com/myAssetEndpointProfile" - }, - "extendedLocation": { - "type": "CustomLocation", - "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/location1" + "displayName": "NewAssetDisplayName" } } }, diff --git a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_AssetEndpointProfile.json b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_AssetEndpointProfile.json index bc2ec7d92277..e4c17fcd8789 100644 --- a/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_AssetEndpointProfile.json +++ b/specification/deviceregistry/resource-manager/Microsoft.DeviceRegistry/preview/2023-11-01-preview/examples/Update_AssetEndpointProfile.json @@ -8,13 +8,8 @@ "resourceGroupName": "myResourceGroup", "assetEndpointProfileName": "my-assetendpointprofile", "properties": { - "location": "West Europe", "properties": { "targetAddress": "https://www.example.com/myTargetAddress" - }, - "extendedLocation": { - "type": "CustomLocation", - "name": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/microsoft.extendedlocation/customlocations/location1" } } }, diff --git a/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/main.tsp b/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/main.tsp index 96d717c0973e..7ad4b1ced9e7 100644 --- a/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/main.tsp +++ b/specification/devopsinfrastructure/Microsoft.DevOpsInfrastructure/main.tsp @@ -61,6 +61,7 @@ model PoolProperties { devCenterProjectResourceId: string; } +#suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("Defines the organization in which the pool will be used.") @discriminator("kind") model OrganizationProfile {} @@ -131,6 +132,7 @@ union AzureDevOpsPermissionType { "SpecificAccounts", } +#suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("Defines the type of fabric the agent will run on.") @discriminator("kind") model FabricProfile {} @@ -286,6 +288,7 @@ model NetworkProfile { subnetId: string; } +#suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @doc("The agent profile of the machines in the pool.") @discriminator("kind") model AgentProfile { @@ -398,7 +401,12 @@ interface Operations extends Azure.ResourceManager.Operations {} @armResourceOperations interface Pools { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + Pool, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchAsync; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/devopsinfrastructure/resource-manager/Microsoft.DevOpsInfrastructure/preview/2024-04-04-preview/devopsinfrastructure.json b/specification/devopsinfrastructure/resource-manager/Microsoft.DevOpsInfrastructure/preview/2024-04-04-preview/devopsinfrastructure.json index 227e8c4736df..89f071f7e6e0 100644 --- a/specification/devopsinfrastructure/resource-manager/Microsoft.DevOpsInfrastructure/preview/2024-04-04-preview/devopsinfrastructure.json +++ b/specification/devopsinfrastructure/resource-manager/Microsoft.DevOpsInfrastructure/preview/2024-04-04-preview/devopsinfrastructure.json @@ -911,11 +911,7 @@ "properties": { "$ref": "#/definitions/ImageVersionProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1105,11 +1101,7 @@ "properties": { "$ref": "#/definitions/PoolProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "identity": { "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity", @@ -1366,11 +1358,7 @@ "properties": { "$ref": "#/definitions/QuotaProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1451,11 +1439,7 @@ "properties": { "$ref": "#/definitions/ResourceDetailsObjectProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1571,11 +1555,7 @@ "properties": { "$ref": "#/definitions/ResourceSkuProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/edgezones/resource-manager/Microsoft.EdgeZones/preview/2024-04-01-preview/edgezones.json b/specification/edgezones/resource-manager/Microsoft.EdgeZones/preview/2024-04-01-preview/edgezones.json index 24673c025ff4..a8bad6587d4a 100644 --- a/specification/edgezones/resource-manager/Microsoft.EdgeZones/preview/2024-04-01-preview/edgezones.json +++ b/specification/edgezones/resource-manager/Microsoft.EdgeZones/preview/2024-04-01-preview/edgezones.json @@ -262,11 +262,7 @@ "properties": { "$ref": "#/definitions/ExtendedZoneProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/elastic.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/elastic.json new file mode 100644 index 000000000000..2b598edbc5ae --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/elastic.json @@ -0,0 +1,3659 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft.Elastic", + "version": "2024-06-15-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": "Microsoft Entra ID 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" + } + }, + "202": { + "headers": { + "Location": { + "type": "string" + } + }, + "description": "Accepted", + "schema": { + "$ref": "#/definitions/ElasticMonitorResource" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "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}/monitoredSubscriptions": { + "get": { + "tags": [ + "monitoredSubscriptions" + ], + "summary": "List all the subscriptions currently being monitored by the Elastic monitor resource.", + "operationId": "MonitoredSubscriptions_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoredSubscriptionPropertiesList" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Monitors_GetMonitoredSubscriptions": { + "$ref": "./examples/MonitoredSubscriptions_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/monitoredSubscriptions/{configurationName}": { + "get": { + "tags": [ + "monitoredSubscriptions" + ], + "summary": "List all the subscriptions currently being monitored by the Elastic monitor resource.", + "operationId": "MonitoredSubscriptions_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoredSubscriptionProperties" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Monitors_GetMonitoredSubscriptions": { + "$ref": "./examples/MonitoredSubscriptions_Get.json" + } + } + }, + "put": { + "tags": [ + "monitoredSubscriptions" + ], + "summary": "Add the subscriptions that should be monitored by the Elastic monitor resource.", + "operationId": "MonitoredSubscriptions_CreateorUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/MonitoredSubscriptionProperties" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoredSubscriptionProperties" + } + }, + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoredSubscriptionProperties" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Monitors_AddMonitoredSubscriptions": { + "$ref": "./examples/MonitoredSubscriptions_CreateorUpdate.json" + } + } + }, + "patch": { + "tags": [ + "MonitoredSubscriptions" + ], + "summary": "Updates the subscriptions that are being monitored by the Elastic monitor resource", + "operationId": "MonitoredSubscriptions_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/MonitoredSubscriptionProperties" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/MonitoredSubscriptionProperties" + } + }, + "202": { + "headers": { + "Location": { + "type": "string" + } + }, + "description": "Success" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Monitors_UpdateMonitoredSubscriptions": { + "$ref": "./examples/MonitoredSubscriptions_Update.json" + } + } + }, + "delete": { + "tags": [ + "MonitoredSubscriptions" + ], + "summary": "Updates the subscriptions that are being monitored by the Elastic monitor resource", + "operationId": "MonitoredSubscriptions_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/MonitorNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "headers": { + "Location": { + "type": "string" + } + }, + "description": "Success" + }, + "204": { + "description": "Success" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-examples": { + "Monitors_DeleteMonitoredSubscriptions": { + "$ref": "./examples/MonitoredSubscriptions_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}/openAIIntegrations": { + "get": { + "tags": [ + "OpenAIIntegration" + ], + "summary": "List OpenAI integration rule for a given monitor resource.", + "operationId": "OpenAI_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/OpenAIIntegrationRPModelListResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "OpenAI_List": { + "$ref": "./examples/OpenAI_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/openAIIntegrations/{integrationName}": { + "get": { + "tags": [ + "OpenAIIntegration" + ], + "summary": "Get OpenAI integration rule for a given monitor resource.", + "operationId": "OpenAI_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/OpenAIIntegrationNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OpenAIIntegrationRPModel" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "OpenAI_Get": { + "$ref": "./examples/OpenAI_Get.json" + } + } + }, + "put": { + "tags": [ + "OpenAIIntegration" + ], + "summary": "Create or update a OpenAI integration rule for a given monitor resource.", + "operationId": "OpenAI_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/OpenAIIntegrationNameParameter" + }, + { + "in": "body", + "name": "body", + "schema": { + "$ref": "#/definitions/OpenAIIntegrationRPModel" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OpenAIIntegrationRPModel" + } + }, + "201": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OpenAIIntegrationRPModel" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "OpenAI_CreateOrUpdate": { + "$ref": "./examples/OpenAI_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "OpenAIIntegration" + ], + "summary": "Delete OpenAI integration rule for a given monitor resource.", + "operationId": "OpenAI_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/OpenAIIntegrationNameParameter" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "204": { + "description": "Success" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "OpenAI_Delete": { + "$ref": "./examples/OpenAI_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/openAIIntegrations/{integrationName}/getStatus": { + "post": { + "tags": [ + "OpenAIIntegration" + ], + "summary": "Get OpenAI integration status for a given integration.", + "operationId": "OpenAI_GetStatus", + "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/OpenAIIntegrationNameParameter" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OpenAIIntegrationStatusResponse" + } + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "#/definitions/ResourceProviderDefaultErrorResponse" + } + } + }, + "x-ms-examples": { + "OpenAI_GetStatus": { + "$ref": "./examples/OpenAI_GetStatus.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" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Elastic/monitors/{monitorName}/resubscribe": { + "post": { + "tags": [ + "Resubscribe" + ], + "summary": "Resubscribe the Elasticsearch Organization.", + "operationId": "Organizations_Resubscribe", + "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": "Resubscribe Properties", + "schema": { + "$ref": "#/definitions/ResubscribeProperties" + } + } + ], + "responses": { + "202": { + "headers": { + "Location": { + "type": "string" + } + }, + "description": "Accepted" + }, + "default": { + "description": "Default error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Organizations_Resubscribe": { + "$ref": "./examples/Organizations_Resubscribe.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" + }, + "readOnly": true + }, + "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" + } + } + }, + "PlanDetails": { + "description": "Plan details of the monitor resource.", + "type": "object", + "properties": { + "offerID": { + "description": "Offer ID of the plan", + "type": "string" + }, + "publisherID": { + "description": "Publisher ID of the plan", + "type": "string" + }, + "termID": { + "description": "Term ID of the plan", + "type": "string" + }, + "planID": { + "description": "Plan ID", + "type": "string" + }, + "planName": { + "description": "Plan Name", + "type": "string" + } + } + }, + "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" + ] + }, + "planDetails": { + "description": "Plan details of the monitor resource.", + "$ref": "#/definitions/PlanDetails" + }, + "version": { + "description": "Version of elastic of the monitor resource", + "type": "string" + }, + "subscriptionState": { + "description": "State of the Azure Subscription containing the monitor resource", + "type": "string" + }, + "saaSAzureSubscriptionStatus": { + "description": "Status of Azure Subscription where Marketplace SaaS is located.", + "type": "string" + }, + "sourceCampaignName": { + "description": "Name of the marketing campaign.", + "type": "string" + }, + "sourceCampaignId": { + "description": "A unique identifier associated with the campaign.", + "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" + } + } + }, + "SubscriptionList": { + "description": "The request to update subscriptions needed to be monitored by the Elastic monitor resource.", + "type": "object", + "properties": { + "operation": { + "description": "The operation for the patch on the resource.", + "enum": [ + "AddBegin", + "AddComplete", + "DeleteBegin", + "DeleteComplete", + "Active" + ], + "type": "string", + "x-ms-enum": { + "modelAsString": true, + "name": "Operation" + }, + "x-ms-mutability": [ + "create", + "update" + ] + }, + "monitoredSubscriptionList": { + "description": "List of subscriptions and the state of the monitoring.", + "type": "array", + "items": { + "$ref": "#/definitions/MonitoredSubscription" + }, + "x-ms-identifiers": [ + "properties/subscriptionId" + ] + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "Provisioning State of the resource", + "readOnly": true + } + } + }, + "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" + } + } + }, + "MonitoredSubscriptionProperties": { + "description": "The request to update subscriptions needed to be monitored by the Elastic monitor resource.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "name": { + "description": "Name of the monitored subscription resource.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The id of the monitored subscription resource.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the monitored subscription resource.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/SubscriptionList" + } + } + }, + "MonitoredSubscriptionPropertiesList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MonitoredSubscriptionProperties" + } + }, + "nextLink": { + "type": "string", + "description": "The link to the next page of items" + } + } + }, + "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", + "x-ms-identifiers": [ + "properties/version" + ], + "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" + } + } + }, + "MonitoredSubscription": { + "description": "The list of subscriptions and it's monitoring status by current Elastic monitor.", + "type": "object", + "properties": { + "subscriptionId": { + "description": "The subscriptionId to be monitored.", + "required": [ + "subscriptionId" + ], + "type": "string" + }, + "status": { + "description": "The state of monitoring.", + "enum": [ + "InProgress", + "Active", + "Failed", + "Deleting" + ], + "x-ms-enum": { + "modelAsString": true, + "name": "Status" + }, + "type": "string" + }, + "error": { + "description": "The reason of not monitoring the subscription.", + "type": "string" + }, + "tagRules": { + "$ref": "#/definitions/MonitoringTagRulesProperties" + } + } + }, + "OpenAIIntegrationProperties": { + "description": "Open AI Integration details.", + "type": "object", + "properties": { + "openAIResourceId": { + "description": "The resource id of Open AI resource", + "type": "string", + "format": "arm-id" + }, + "openAIResourceEndpoint": { + "description": "The API endpoint for Open AI resource", + "type": "string" + }, + "openAIConnectorId": { + "description": "The connector id of Open AI resource", + "type": "string" + }, + "key": { + "description": "Value of API key for Open AI resource", + "type": "string", + "x-ms-secret": true + }, + "lastRefreshAt": { + "format": "date-time", + "description": "Last Update Timestamp for key updation", + "type": "string", + "readOnly": true + } + } + }, + "OpenAIIntegrationRPModel": { + "description": "Capture properties of Open AI resource Integration.", + "type": "object", + "x-ms-azure-resource": true, + "properties": { + "name": { + "description": "Name of the integration.", + "type": "string", + "readOnly": true + }, + "id": { + "description": "The id of the integration.", + "type": "string", + "readOnly": true + }, + "type": { + "description": "The type of the integration.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/OpenAIIntegrationProperties" + } + } + }, + "OpenAIIntegrationRPModelListResponse": { + "description": "Response of a list operation.", + "type": "object", + "properties": { + "value": { + "description": "Results of a list operation.", + "type": "array", + "items": { + "$ref": "#/definitions/OpenAIIntegrationRPModel" + } + }, + "nextLink": { + "description": "Link to the next set of results, if any.", + "type": "string" + } + } + }, + "OpenAIIntegrationStatusResponse": { + "description": "Status of the OpenAI Integration", + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/OpenAIIntegrationStatusResponseProperties" + } + } + }, + "OpenAIIntegrationStatusResponseProperties": { + "description": "Status of the OpenAI Integration", + "type": "object", + "properties": { + "status": { + "description": "Status of the OpenAI Integration", + "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" + }, + "publisherId": { + "description": "Publisher Id of the Marketplace offer.", + "type": "string" + }, + "offerId": { + "description": "Offer Id of the Marketplace offer,", + "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", + "x-ms-identifiers": [ + "properties/azureResourceId" + ], + "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 + }, + "elasticsearchEndPoint": { + "description": "Elasticsearch endpoint in Elastic cloud deployment. This is either the aliased_endpoint if available, or the service_url otherwise.", + "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" + } + } + }, + "ResubscribeProperties": { + "description": "Resubscribe Properties", + "type": "object", + "properties": { + "planId": { + "description": "Newly selected plan Id to create the new Marketplace subscription for Resubscribe", + "type": "string" + }, + "term": { + "description": "Newly selected term to create the new Marketplace subscription for Resubscribe", + "type": "string" + }, + "subscriptionId": { + "description": "Newly selected Azure Subscription Id in which the new Marketplace subscription will be created for Resubscribe", + "type": "string" + }, + "resourceGroup": { + "description": "Newly selected Azure resource group in which the new Marketplace subscription will be created for Resubscribe", + "type": "string" + }, + "organizationId": { + "description": "Organization Id of the Elastic Organization that needs to be resubscribed", + "type": "string" + } + } + } + }, + "parameters": { + "MonitorNameParameter": { + "in": "path", + "name": "monitorName", + "description": "Monitor resource name", + "required": true, + "type": "string", + "pattern": "^.*$", + "x-ms-parameter-location": "method" + }, + "RuleSetNameParameter": { + "in": "path", + "name": "ruleSetName", + "description": "Tag Rule Set resource name", + "required": true, + "type": "string", + "pattern": "^.*$", + "x-ms-parameter-location": "method" + }, + "OpenAIIntegrationNameParameter": { + "in": "path", + "name": "integrationName", + "description": "OpenAI Integration name", + "required": true, + "type": "string", + "pattern": "^[a-z][a-z0-9]*$", + "x-ms-parameter-location": "method" + }, + "ConfigurationNameParameter": { + "description": "The configuration name. Only 'default' value is supported.", + "in": "path", + "name": "configurationName", + "pattern": "^.*$", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/AllTrafficFilters_list.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/AllTrafficFilters_list.json new file mode 100644 index 000000000000..19bec156f65d --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/AllTrafficFilters_list.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/AssociateTrafficFilter_Update.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/AssociateTrafficFilter_Update.json new file mode 100644 index 000000000000..f2d15eccaa22 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/AssociateTrafficFilter_Update.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-06-15-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=2024-06-15-preview" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/AssociatedFiltersForDeployment_list.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/AssociatedFiltersForDeployment_list.json new file mode 100644 index 000000000000..19bec156f65d --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/AssociatedFiltersForDeployment_list.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/BillingInfo_Get.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/BillingInfo_Get.json new file mode 100644 index 000000000000..c7283f373608 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/BillingInfo_Get.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/ConnectedPartnerResources_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/ConnectedPartnerResources_List.json new file mode 100644 index 000000000000..840635133bfa --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/ConnectedPartnerResources_List.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/DeploymentInfo_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/DeploymentInfo_List.json new file mode 100644 index 000000000000..b8fcf1ac048d --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/DeploymentInfo_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-06-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor" + }, + "responses": { + "200": { + "body": { + "status": "Healthy", + "version": "7.9.3", + "memoryCapacity": "1024", + "diskCapacity": "245760", + "elasticsearchEndPoint": "alias.es.eastus2.staging.azure.foundit.no", + "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/2024-06-15-preview/examples/DetachAndDeleteTrafficFilter_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/DetachAndDeleteTrafficFilter_Delete.json new file mode 100644 index 000000000000..59dde58492e1 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/DetachAndDeleteTrafficFilter_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/DetachTrafficFilters_Update.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/DetachTrafficFilters_Update.json new file mode 100644 index 000000000000..03dd33523da2 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/DetachTrafficFilters_Update.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-06-15-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=2024-06-15-preview" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/ElasticVersions_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/ElasticVersions_List.json new file mode 100644 index 000000000000..9078d501f296 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/ElasticVersions_List.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/ExternalUserInfo.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/ExternalUserInfo.json new file mode 100644 index 000000000000..cdd69d2edca1 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/ExternalUserInfo.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/IPTrafficFilter_Create.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/IPTrafficFilter_Create.json new file mode 100644 index 000000000000..bb598fcb69d6 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/IPTrafficFilter_Create.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-06-15-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=2024-06-15-preview" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitor_Upgrade.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitor_Upgrade.json new file mode 100644 index 000000000000..8fa4ff1d8857 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitor_Upgrade.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-06-15-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=2024-06-15-preview" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredResources_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredResources_List.json new file mode 100644 index 000000000000..f4f8f4b58fec --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredResources_List.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/MonitoredSubscriptions_CreateorUpdate.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredSubscriptions_CreateorUpdate.json new file mode 100644 index 000000000000..1944d8ab381b --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredSubscriptions_CreateorUpdate.json @@ -0,0 +1,152 @@ +{ + "parameters": { + "api-version": "2024-06-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "configurationName": "default", + "requestBody": { + "properties": { + "operation": "AddBegin", + "monitoredSubscriptionList": [ + { + "subscriptionId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Active", + "tagRules": { + "logRules": { + "sendAadLogs": true, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "saokgpjvdlorciqbjmjxazpee", + "value": "sarxrqsxouhdjwsrqqicbeirdb", + "action": "Include" + } + ] + } + } + }, + { + "subscriptionId": "/subscriptions/00000000-0000-0000-0000-000000000001", + "status": "Failed", + "tagRules": { + "logRules": { + "sendAadLogs": true, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "saokgpjvdlorciqbjmjxazpee", + "value": "sarxrqsxouhdjwsrqqicbeirdb", + "action": "Include" + } + ] + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Elastic/monitors/myMonitor/monitoredSubscriptions/default", + "type": "Microsoft.Elastic/monitors/monitoredSubscriptions", + "properties": { + "monitoredSubscriptionList": [ + { + "subscriptionId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Active", + "tagRules": { + "provisioningState": "Accepted", + "logRules": { + "sendAadLogs": true, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "saokgpjvdlorciqbjmjxazpee", + "value": "sarxrqsxouhdjwsrqqicbeirdb", + "action": "Include" + } + ] + } + } + }, + { + "subscriptionId": "/subscriptions/00000000-0000-0000-0000-000000000001", + "status": "Failed", + "tagRules": { + "provisioningState": "Accepted", + "logRules": { + "sendAadLogs": true, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "saokgpjvdlorciqbjmjxazpee", + "value": "sarxrqsxouhdjwsrqqicbeirdb", + "action": "Include" + } + ] + } + } + } + ] + } + } + }, + "201": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Elastic/monitors/myMonitor/monitoredSubscriptions/default", + "type": "Microsoft.Elastic/monitors/monitoredSubscriptions", + "properties": { + "monitoredSubscriptionList": [ + { + "subscriptionId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Active", + "tagRules": { + "provisioningState": "Accepted", + "logRules": { + "sendAadLogs": true, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "saokgpjvdlorciqbjmjxazpee", + "value": "sarxrqsxouhdjwsrqqicbeirdb", + "action": "Include" + } + ] + } + } + }, + { + "subscriptionId": "/subscriptions/00000000-0000-0000-0000-000000000001", + "status": "Failed", + "tagRules": { + "provisioningState": "Accepted", + "logRules": { + "sendAadLogs": true, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "saokgpjvdlorciqbjmjxazpee", + "value": "sarxrqsxouhdjwsrqqicbeirdb", + "action": "Include" + } + ] + } + } + } + ] + } + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredSubscriptions_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredSubscriptions_Delete.json new file mode 100644 index 000000000000..c1cb1f74e0fe --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredSubscriptions_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-06-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "configurationName": "default" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Elastic/monitors/test?api-version=2024-06-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredSubscriptions_Get.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredSubscriptions_Get.json new file mode 100644 index 000000000000..8ad49011dc87 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredSubscriptions_Get.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2024-06-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "configurationName": "default" + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Elastic/monitors/myMonitor/monitoredSubscriptions/default", + "type": "Microsoft.Elastic/monitors/monitoredSubscriptions", + "properties": { + "monitoredSubscriptionList": [ + { + "subscriptionId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Active", + "tagRules": { + "provisioningState": "Accepted", + "logRules": { + "sendAadLogs": true, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "saokgpjvdlorciqbjmjxazpee", + "value": "sarxrqsxouhdjwsrqqicbeirdb", + "action": "Include" + } + ] + } + } + }, + { + "subscriptionId": "/subscriptions/00000000-0000-0000-0000-000000000001", + "status": "Failed", + "tagRules": { + "provisioningState": "Accepted", + "logRules": { + "sendAadLogs": true, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "saokgpjvdlorciqbjmjxazpee", + "value": "sarxrqsxouhdjwsrqqicbeirdb", + "action": "Include" + } + ] + } + } + } + ] + } + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredSubscriptions_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredSubscriptions_List.json new file mode 100644 index 000000000000..7ba5fe9c7fb8 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredSubscriptions_List.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2024-06-15-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.Elastic/monitors/myMonitor/monitoredSubscriptions/default", + "type": "Microsoft.Elastic/monitors/monitoredSubscriptions", + "properties": { + "monitoredSubscriptionList": [ + { + "subscriptionId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Active", + "tagRules": { + "provisioningState": "Accepted", + "logRules": { + "sendAadLogs": true, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "saokgpjvdlorciqbjmjxazpee", + "value": "sarxrqsxouhdjwsrqqicbeirdb", + "action": "Include" + } + ] + } + } + }, + { + "subscriptionId": "/subscriptions/00000000-0000-0000-0000-000000000001", + "status": "Failed", + "tagRules": { + "provisioningState": "Accepted", + "logRules": { + "sendAadLogs": true, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "saokgpjvdlorciqbjmjxazpee", + "value": "sarxrqsxouhdjwsrqqicbeirdb", + "action": "Include" + } + ] + } + } + } + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredSubscriptions_Update.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredSubscriptions_Update.json new file mode 100644 index 000000000000..34fb333f8ac9 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/MonitoredSubscriptions_Update.json @@ -0,0 +1,108 @@ +{ + "parameters": { + "api-version": "2024-06-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "configurationName": "default", + "requestBody": { + "properties": { + "operation": "AddComplete", + "monitoredSubscriptionList": [ + { + "subscriptionId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Active", + "tagRules": { + "logRules": { + "sendAadLogs": true, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "saokgpjvdlorciqbjmjxazpee", + "value": "sarxrqsxouhdjwsrqqicbeirdb", + "action": "Include" + } + ] + } + } + }, + { + "subscriptionId": "/subscriptions/00000000-0000-0000-0000-000000000001", + "status": "Failed", + "tagRules": { + "logRules": { + "sendAadLogs": true, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "saokgpjvdlorciqbjmjxazpee", + "value": "sarxrqsxouhdjwsrqqicbeirdb", + "action": "Include" + } + ] + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Elastic/monitors/myMonitor/monitoredSubscriptions/default", + "type": "Microsoft.Elastic/monitors/monitoredSubscriptions", + "properties": { + "monitoredSubscriptionList": [ + { + "subscriptionId": "/subscriptions/00000000-0000-0000-0000-000000000000", + "status": "Active", + "tagRules": { + "provisioningState": "Accepted", + "logRules": { + "sendAadLogs": true, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "saokgpjvdlorciqbjmjxazpee", + "value": "sarxrqsxouhdjwsrqqicbeirdb", + "action": "Include" + } + ] + } + } + }, + { + "subscriptionId": "/subscriptions/00000000-0000-0000-0000-000000000001", + "status": "Failed", + "tagRules": { + "provisioningState": "Accepted", + "logRules": { + "sendAadLogs": true, + "sendSubscriptionLogs": true, + "sendActivityLogs": true, + "filteringTags": [ + { + "name": "saokgpjvdlorciqbjmjxazpee", + "value": "sarxrqsxouhdjwsrqqicbeirdb", + "action": "Include" + } + ] + } + } + } + ] + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Elastic/monitors/test?api-version=2024-06-15-preview" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitors_Create.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitors_Create.json new file mode 100644 index 000000000000..5ea5484f61b1 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitors_Create.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "api-version": "2024-06-15-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" + } + }, + "planDetails": { + "offerID": "00000", + "publisherID": "1234", + "termID": "free_Monthly", + "planID": "xxxyyy", + "planName": "myPlan" + }, + "subscriptionState": "Suspended", + "saaSAzureSubscriptionStatus": "Subscribed", + "sourceCampaignName": "Elastic", + "sourceCampaignId": "0000" + }, + "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/2024-06-15-preview/examples/Monitors_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitors_Delete.json new file mode 100644 index 000000000000..6f63822c8a2b --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitors_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/Monitors_Get.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitors_Get.json new file mode 100644 index 000000000000..27d3ed0571da --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitors_Get.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/Monitors_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitors_List.json new file mode 100644 index 000000000000..1ab1244a8f0d --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitors_List.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/Monitors_ListByResourceGroup.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitors_ListByResourceGroup.json new file mode 100644 index 000000000000..11dedd058caa --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitors_ListByResourceGroup.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/Monitors_Update.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitors_Update.json new file mode 100644 index 000000000000..ce96b075054b --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Monitors_Update.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2024-06-15-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" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/resourceGroup/providers/Microsoft.Elastic/monitor/monitorname?api-version=2024-06-15-preview" + }, + "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/2024-06-15-preview/examples/OpenAI_CreateOrUpdate.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/OpenAI_CreateOrUpdate.json new file mode 100644 index 000000000000..60e4d61d9153 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/OpenAI_CreateOrUpdate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-06-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "integrationName": "default", + "requestBody": { + "properties": { + "openAIResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/myOpenAI", + "openAIResourceEndpoint": "https://myOpenAI.openai.azure.com/", + "key": "**" + } + } + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Elastic/monitors/myMonitor/openAIIntegration/default", + "type": "Microsoft.Elastic/monitors/openAIIntegration", + "properties": { + "openAIResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/myOpenAI", + "openAIResourceEndpoint": "https://myOpenAI.openai.azure.com/", + "openAIConnectorId": "0000000000000000", + "lastRefreshAt": "2023-07-12T09:28:50.9579871Z" + } + } + }, + "201": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Elastic/monitors/myMonitor/openAIIntegration/default", + "type": "Microsoft.Elastic/monitors/openAIIntegration", + "properties": { + "openAIResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/myOpenAI", + "openAIResourceEndpoint": "https://myOpenAI.openai.azure.com/", + "openAIConnectorId": "0000000000000000", + "lastRefreshAt": "2023-07-12T09:28:50.9579871Z" + } + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/OpenAI_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/OpenAI_Delete.json new file mode 100644 index 000000000000..ba5ad97d7db8 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/OpenAI_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-06-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "integrationName": "default" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/OpenAI_Get.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/OpenAI_Get.json new file mode 100644 index 000000000000..1702b79251d5 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/OpenAI_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-06-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "integrationName": "default" + }, + "responses": { + "200": { + "body": { + "name": "default", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Elastic/monitors/myMonitor/openAIIntegration/default", + "type": "Microsoft.Elastic/monitors/openAIIntegration", + "properties": { + "openAIResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/myOpenAI", + "openAIResourceEndpoint": "https://myOpenAI.openai.azure.com/", + "openAIConnectorId": "0000000000000000", + "lastRefreshAt": "2023-07-12T09:28:50.9579871Z" + } + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/OpenAI_GetStatus.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/OpenAI_GetStatus.json new file mode 100644 index 000000000000..626f4a467ef3 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/OpenAI_GetStatus.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-06-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "integrationName": "default" + }, + "responses": { + "200": { + "body": { + "properties": { + "status": "Succeeded" + } + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/OpenAI_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/OpenAI_List.json new file mode 100644 index 000000000000..91f95728dcbb --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/OpenAI_List.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-06-15-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.Elastic/monitors/myMonitor/openAIIntegration/default", + "type": "Microsoft.Elastic/monitors/openAIIntegration", + "properties": { + "openAIResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.CognitiveServices/accounts/myOpenAI", + "openAIResourceEndpoint": "https://myOpenAI.openai.azure.com/", + "openAIConnectorId": "0000000000000000", + "lastRefreshAt": "2023-07-12T09:28:50.9579871Z" + } + } + ] + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Operations_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Operations_List.json new file mode 100644 index 000000000000..c0104571f96a --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Operations_List.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/Organizations_GetApiKey.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Organizations_GetApiKey.json new file mode 100644 index 000000000000..effcb747e4a9 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Organizations_GetApiKey.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/Organizations_GetElasticToAzureSubscriptionMapping.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Organizations_GetElasticToAzureSubscriptionMapping.json new file mode 100644 index 000000000000..825e1744e12a --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Organizations_GetElasticToAzureSubscriptionMapping.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/Organizations_Resubscribe.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Organizations_Resubscribe.json new file mode 100644 index 000000000000..f2d895cb5ee0 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/Organizations_Resubscribe.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-06-15-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "monitorName": "myMonitor", + "requestBody": { + "planId": "planId", + "term": "term", + "subscriptionId": "subscriptionId", + "resourceGroup": "resourceGroup", + "organizationId": "organizationId" + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/resourceGroups/resourceGroup/providers/Microsoft.Elastic/monitor/monitorname/resubscribe?api-version=2024-06-15-preview" + } + } + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/PrivateLinkTrafficFilters_Create.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/PrivateLinkTrafficFilters_Create.json new file mode 100644 index 000000000000..7aa3d7c2168f --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/PrivateLinkTrafficFilters_Create.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/TagRules_CreateOrUpdate.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/TagRules_CreateOrUpdate.json new file mode 100644 index 000000000000..bee373e7997b --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/TagRules_CreateOrUpdate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2024-06-15-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.Elastic/monitors/myMonitor/tagRules/default", + "type": "Microsoft.Elastic/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/2024-06-15-preview/examples/TagRules_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/TagRules_Delete.json new file mode 100644 index 000000000000..8b65c9175eba --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/TagRules_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-06-15-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=2024-06-15-preview" + } + }, + "204": {} + } +} diff --git a/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/TagRules_Get.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/TagRules_Get.json new file mode 100644 index 000000000000..0a00c0eb61af --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/TagRules_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-06-15-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.Elastic/monitors/myMonitor/tagRules/default", + "type": "Microsoft.Elastic/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/2024-06-15-preview/examples/TagRules_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/TagRules_List.json new file mode 100644 index 000000000000..f7d9d1c79a8c --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/TagRules_List.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-06-15-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.Elastic/monitors/myMonitor/tagRules/default", + "type": "Microsoft.Elastic/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/2024-06-15-preview/examples/TrafficFilters_Delete.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/TrafficFilters_Delete.json new file mode 100644 index 000000000000..59dde58492e1 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/TrafficFilters_Delete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/UpgradableVersions_Details.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/UpgradableVersions_Details.json new file mode 100644 index 000000000000..e2cb9e051258 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/UpgradableVersions_Details.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/VMCollection_Update.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/VMCollection_Update.json new file mode 100644 index 000000000000..ae13608a7900 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/VMCollection_Update.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/VMHost_List.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/VMHost_List.json new file mode 100644 index 000000000000..94b2e4a11c5d --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/VMHost_List.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-06-15-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/2024-06-15-preview/examples/VMIngestion_Details.json b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/VMIngestion_Details.json new file mode 100644 index 000000000000..1688011dad85 --- /dev/null +++ b/specification/elastic/resource-manager/Microsoft.Elastic/preview/2024-06-15-preview/examples/VMIngestion_Details.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-06-15-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 5b81de2d87e9..cd366b7401f8 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-2024-05-01-preview +tag: package-2024-06-15-preview ``` ### Tag: package-2021-09-01-preview @@ -191,6 +191,15 @@ input-file: - Microsoft.Elastic/preview/2024-05-01-preview/elastic.json ``` +### Tag: package-2024-06-15-preview + +These settings apply only when `--tag=package-2024-06-15-preview` is specified on the command line. + +```yaml $(tag) == 'package-2024-06-15-preview' +input-file: + - Microsoft.Elastic/preview/2024-06-15-preview/elastic.json +``` + --- # Code Generation diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Microsoft.Media/MediaServices.tsp b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Microsoft.Media/MediaServices.tsp index 83ab45e40a9f..b7662f5bb55c 100644 --- a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Microsoft.Media/MediaServices.tsp +++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/Microsoft.Media/MediaServices.tsp @@ -141,6 +141,7 @@ namespace Microsoft.EventGrid.SystemEvents { @discriminator("@odata.type") model MediaJobOutput { /** The discriminator for derived types. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" #suppress "@azure-tools/typespec-azure-core/casing-style" "Maintain compatibility with existing models." `@odata.type`: string; diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/README.md b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/README.md index e4b570b824e2..fbbaa2816aba 100644 --- a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/README.md +++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/README.md @@ -21,7 +21,7 @@ model AcsChatMessageReceivedEventData { ...AcsChatMessageEventBaseProperties; /** The body of the chat message. */ - messageBody ?: string; + messageBody : string; } ~~~ @@ -32,15 +32,13 @@ Adding `@usage` and `@access` to `client.tsp`: @@access(EventGrid.AcsChatMessageReceivedEventData, Access.public) ~~~ -# How To Run +# For Service System Events PR Approval -Within Azure.Messaging.EventGrid.SystemEvents: - - -To generate the EventGrid SystemEvents from TypeSpec: - -With `Azure.Messaging.EventGrid.SystemEvents` as your root directory: - - `tsp compile client.tsp --emit YOUR_EMITTER` - -To generate the swagger file YOUR_EMITTER would be @azure-tools/typespec-autorest. \ No newline at end of file +1) Write your service's system events in TypeSpec. +2) Generate the swagger for your service's system events off of TypeSpec, following the steps below: + - Install TypeSpec `npm install @typespec/compiler` + - Install the emitter `npm install @azure-tools/typespec-autorest` + - Under `/Azure.Messaging.EventGrid.SystemEvents/`: + - Run `npx tsp compile main.tsp --emit @azure-tools/typespec-autorest` +3) Verify the generated swagger under `/data-plane/Microsoft.EventGrid/2024-01-01/` accurately depicts your system events and commit it. +4) Final PR must contain the TypeSpec and the Swagger generated from the TypeSpec. \ No newline at end of file diff --git a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/tspconfig.yaml b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/tspconfig.yaml index d12042016bb8..b70a5107b6fc 100644 --- a/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/tspconfig.yaml +++ b/specification/eventgrid/Azure.Messaging.EventGrid.SystemEvents/tspconfig.yaml @@ -15,6 +15,7 @@ options: omit-unreachable-types: false output-file: "{azure-resource-provider-folder}/Microsoft.EventGrid/{version-status}/{version}/SystemEvents.json" azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" "@azure-tools/typespec-python": package-pprint-name: '"Azure Event Grid System Events"' package-version: 4.12.0b1 diff --git a/specification/eventgrid/Azure.Messaging.EventGrid/client.tsp b/specification/eventgrid/Azure.Messaging.EventGrid/client.tsp index efc120374ada..b6b26dbd65ba 100644 --- a/specification/eventgrid/Azure.Messaging.EventGrid/client.tsp +++ b/specification/eventgrid/Azure.Messaging.EventGrid/client.tsp @@ -153,9 +153,10 @@ namespace Customizations { @@access(rejectCloudEvents, Access.internal, "javascript"); @@access(renewCloudEventLocks, Access.internal, "javascript"); -//Mark models as public (except ReceiveResult, PublishResult) +//Mark models as public (except ReceiveResult, which is made public through customization in languages other than Java.) //BUG: Bypassing Go for now as it marks all models as internal @@access(AcknowledgeResult, Access.public); +@@access(ReceiveResult, Access.public, "java"); @@access(ReleaseResult, Access.public); @@access(RejectResult, Access.public); @@access(RenewCloudEventLocksResult, Access.public); diff --git a/specification/eventgrid/Azure.Messaging.EventGrid/tspconfig.yaml b/specification/eventgrid/Azure.Messaging.EventGrid/tspconfig.yaml index 714857f61985..8689784d3655 100644 --- a/specification/eventgrid/Azure.Messaging.EventGrid/tspconfig.yaml +++ b/specification/eventgrid/Azure.Messaging.EventGrid/tspconfig.yaml @@ -15,6 +15,7 @@ options: omit-unreachable-types: true output-file: "{azure-resource-provider-folder}/Microsoft.EventGrid/{version-status}/{version}/EventGrid.json" azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" "@azure-tools/typespec-python": package-pprint-name: '"Azure Event Grid"' package-version: 4.20.0 diff --git a/specification/fabric/Microsoft.Fabric.Management/capacity.tsp b/specification/fabric/Microsoft.Fabric.Management/capacity.tsp new file mode 100644 index 000000000000..0f44dbf03559 --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/capacity.tsp @@ -0,0 +1,69 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "./models.tsp"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using Azure.Core; +using Azure.ResourceManager; + +namespace Microsoft.Fabric; + +/** Fabric Capacity resource */ +model FabricCapacity is TrackedResource { + @doc("The name of the Microsoft Fabric capacity. It must be a minimum of 3 characters, and a maximum of 63.") + @maxLength(63) + @minLength(3) + @pattern("^[a-z][a-z0-9]*$") + @key("capacityName") + @path + @segment("capacities") + @visibility("read") + name: string; + + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-invalid-envelope-property" "The standard ResourceSkuProperty does not fit our case" + @doc("The SKU details") + sku: RpSku; +} + +@armResourceOperations +interface FabricCapacities { + get is ArmResourceRead; + createOrUpdate is ArmResourceCreateOrReplaceAsync; + update is ArmResourcePatchSync; + delete is ArmResourceDeleteSync; + listByResourceGroup is ArmResourceListByParent; + listBySubscription is ArmListBySubscription; + + @doc("Resume operation of the specified Fabric capacity instance.") + resume is ArmResourceActionNoResponseContentAsync; + + @doc("Suspend operation of the specified Fabric capacity instance.") + suspend is ArmResourceActionNoResponseContentAsync; + + checkNameAvailability is checkLocalNameAvailability; + + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "" + @get + @doc("List eligible SKUs for a Microsoft Fabric resource") + @segment("skus") + listSkusForCapacity( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...ResourceGroupParameter, + ...Azure.ResourceManager.Foundations.DefaultProviderNamespace, + ...CapacityNameParameter, + ): RpSkuEnumerationForExistingResourceResult | ErrorResponse; + + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "" + @get + @doc("List eligible SKUs for Microsoft Fabric resource provider") + @segment("skus") + listSkus( + ...ApiVersionParameter, + ...SubscriptionIdParameter, + ...Azure.ResourceManager.Foundations.DefaultProviderNamespace, + ): RpSkuEnumerationForNewResourceResult | ErrorResponse; +} diff --git a/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_CheckNameAvailability.json b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_CheckNameAvailability.json new file mode 100644 index 000000000000..e36fd699e1a3 --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "title": "Check name availability of a capacity", + "operationId": "FabricCapacities_CheckNameAvailability", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "location": "westcentralus", + "body": { + "name": "azsdktest", + "type": "Microsoft.Fabric/capacities" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_CreateOrUpdate.json b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_CreateOrUpdate.json new file mode 100644 index 000000000000..568d4dcaa4d4 --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_CreateOrUpdate.json @@ -0,0 +1,85 @@ +{ + "title": "Create or update a capacity", + "operationId": "FabricCapacities_CreateOrUpdate", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG", + "capacityName": "azsdktest", + "resource": { + "properties": { + "administration": { + "members": [ + "azsdktest@microsoft.com", + "azsdktest2@microsoft.com" + ] + } + }, + "sku": { + "name": "F2", + "tier": "Fabric" + }, + "location": "westcentralus" + } + }, + "responses": { + "200": { + "headers": { + "Location": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationresults/946B9C42-0D6C-4A42-94AE-1156A1EC8534?api-version=2023-11-01&t=638525901413778740&c=MIIH5zCCBs-", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationstatuses/946B9C42-0D6C-4A42-94AE-1156A1EC8534?api-version=2023-11-01&t=638525901413778740&c=MIIH5zCCBs-" + }, + "body": { + "properties": { + "provisioningState": "Updating", + "state": "Preparing", + "administration": { + "members": [ + "azsdktest@microsoft.com", + "azsdktest2@microsoft.com" + ] + } + }, + "sku": { + "name": "F2", + "tier": "Fabric" + }, + "tags": { + "testKey": "testValue" + }, + "location": "westcentralus", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest", + "name": "azsdktest", + "type": "Microsoft.Fabric/capacities" + } + }, + "201": { + "headers": { + "Location": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationresults/946B9C42-0D6C-4A42-94AE-1156A1EC8534?api-version=2023-11-01&t=638525901413778740&c=MIIH5zCCBs-", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationstatuses/946B9C42-0D6C-4A42-94AE-1156A1EC8534?api-version=2023-11-01&t=638525901413778740&c=MIIH5zCCBs-" + }, + "body": { + "properties": { + "provisioningState": "Provisioning", + "state": "Provisioning", + "administration": { + "members": [ + "azsdktest@microsoft.com", + "azsdktest2@microsoft.com" + ] + } + }, + "sku": { + "name": "F2", + "tier": "Fabric" + }, + "tags": { + "testKey": "testValue" + }, + "location": "westcentralus", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest", + "name": "azsdktest", + "type": "Microsoft.Fabric/capacities" + } + } + } +} diff --git a/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_Delete.json b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_Delete.json new file mode 100644 index 000000000000..decf9a4809f8 --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_Delete.json @@ -0,0 +1,14 @@ +{ + "title": "Delete a capacity", + "operationId": "FabricCapacities_Delete", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG", + "capacityName": "azsdktest" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_Get.json b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_Get.json new file mode 100644 index 000000000000..c0d412381579 --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_Get.json @@ -0,0 +1,35 @@ +{ + "title": "Get a capacity", + "operationId": "FabricCapacities_Get", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG", + "capacityName": "azsdktest" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "state": "Active", + "administration": { + "members": [ + "azsdktest@microsoft.com", + "azsdktest2@microsoft.com" + ] + } + }, + "sku": { + "name": "F2", + "tier": "Fabric" + }, + "tags": {}, + "location": "West Central US", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest", + "name": "azsdktest", + "type": "Microsoft.Fabric/capacities" + } + } + } +} diff --git a/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_ListByResourceGroup.json b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_ListByResourceGroup.json new file mode 100644 index 000000000000..81f1a5643711 --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_ListByResourceGroup.json @@ -0,0 +1,59 @@ +{ + "title": "List capacities by resource group", + "operationId": "FabricCapacities_ListByResourceGroup", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "state": "Active", + "administration": { + "members": [ + "azsdktest@microsoft.com" + ] + } + }, + "sku": { + "name": "F2", + "tier": "Fabric" + }, + "tags": {}, + "location": "West Central US", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest", + "name": "azsdktest", + "type": "Microsoft.Fabric/capacities" + }, + { + "properties": { + "provisioningState": "Provisioning", + "state": "Provisioning", + "administration": { + "members": [ + "azsdktest@microsoft.com" + ] + } + }, + "sku": { + "name": "F4", + "tier": "Fabric" + }, + "tags": { + "testKey": "testValue" + }, + "location": "West Central US", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest2", + "name": "azsdktest2", + "type": "Microsoft.Fabric/capacities" + } + ] + } + } + } +} diff --git a/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_ListBySubscription.json b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_ListBySubscription.json new file mode 100644 index 000000000000..64fed8b9cf88 --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_ListBySubscription.json @@ -0,0 +1,58 @@ +{ + "title": "List capacities by subscription", + "operationId": "FabricCapacities_ListBySubscription", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "state": "Active", + "administration": { + "members": [ + "azsdktest@microsoft.com" + ] + } + }, + "sku": { + "name": "F2", + "tier": "Fabric" + }, + "tags": {}, + "location": "West Central US", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest", + "name": "azsdktest", + "type": "Microsoft.Fabric/capacities" + }, + { + "properties": { + "provisioningState": "Provisioning", + "state": "Provisioning", + "administration": { + "members": [ + "azsdktest@microsoft.com" + ] + } + }, + "sku": { + "name": "F4", + "tier": "Fabric" + }, + "tags": { + "testKey": "testValue" + }, + "location": "West Central US", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest2", + "name": "azsdktest2", + "type": "Microsoft.Fabric/capacities" + } + ] + } + } + } +} diff --git a/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_ListSkus.json b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_ListSkus.json new file mode 100644 index 000000000000..157513675f2f --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_ListSkus.json @@ -0,0 +1,44 @@ +{ + "title": "List eligible SKUs for a new capacity", + "operationId": "FabricCapacities_ListSkus", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "F8", + "locations": [ + "West Europe" + ], + "resourceType": "Capacities" + }, + { + "name": "F64", + "locations": [ + "West Europe" + ], + "resourceType": "Capacities" + }, + { + "name": "F128", + "locations": [ + "West Europe" + ], + "resourceType": "Capacities" + }, + { + "name": "F512", + "locations": [ + "West Europe" + ], + "resourceType": "Capacities" + } + ] + } + } + } +} diff --git a/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_ListSkusForCapacity.json b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_ListSkusForCapacity.json new file mode 100644 index 000000000000..6217e0eb1cab --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_ListSkusForCapacity.json @@ -0,0 +1,95 @@ +{ + "title": "List eligible SKUs for an existing capacity", + "operationId": "FabricCapacities_ListSkusForCapacity", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG", + "capacityName": "azsdktest" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F16", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F8", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F64", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F1024", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F128", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F2", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F256", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F32", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F4", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F512", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F2048", + "tier": "Fabric" + } + } + ] + } + } + } +} diff --git a/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_Resume.json b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_Resume.json new file mode 100644 index 000000000000..ec90eb13207e --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_Resume.json @@ -0,0 +1,18 @@ +{ + "title": "Resume capacity", + "operationId": "FabricCapacities_Resume", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG", + "capacityName": "azsdktest" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationstatuses/82494E97-958D-4BFF-92F1-297BB0D9F2D7?api-version=2023-11-01&t=638525947760837928&c=MIIH5zCCBs-", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationresults/82494E97-958D-4BFF-92F1-297BB0D9F2D7?api-version=2023-11-01&t=638525947760994159&c=MIIH5zCCBs-" + } + } + } +} diff --git a/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_Suspend.json b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_Suspend.json new file mode 100644 index 000000000000..7507ad604a2f --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_Suspend.json @@ -0,0 +1,18 @@ +{ + "title": "Suspend capacity", + "operationId": "FabricCapacities_Suspend", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG", + "capacityName": "azsdktest" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationstatuses/82494E97-958D-4BFF-92F1-297BB0D9F2D7?api-version=2023-11-01&t=638525947760837928&c=MIIH5zCCBs-", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationresults/82494E97-958D-4BFF-92F1-297BB0D9F2D7?api-version=2023-11-01&t=638525947760994159&c=MIIH5zCCBs-" + } + } + } +} diff --git a/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_Update.json b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_Update.json new file mode 100644 index 000000000000..0dbbee872b7c --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/FabricCapacities_Update.json @@ -0,0 +1,52 @@ +{ + "title": "Update capacity properties", + "operationId": "FabricCapacities_Update", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG", + "capacityName": "azsdktest", + "properties": { + "sku": { + "name": "F8", + "tier": "Fabric" + }, + "tags": { + "testKey": "testValue" + }, + "properties": { + "administration": { + "members": [ + "azsdktest2@microsoft.com" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Provisioning", + "state": "Provisioning", + "administration": { + "members": [ + "azsdktest2@microsoft.com" + ] + } + }, + "sku": { + "name": "F8", + "tier": "Fabric" + }, + "tags": { + "testKey": "testValue" + }, + "location": "westcentralus", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest", + "name": "azsdktest", + "type": "Microsoft.Fabric/capacities" + } + } + } +} diff --git a/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/Operations_List.json b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/Operations_List.json new file mode 100644 index 000000000000..94865fd32c2e --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/examples/2023-11-01/Operations_List.json @@ -0,0 +1,65 @@ +{ + "title": "List operations", + "operationId": "Operations_List", + "parameters": { + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Fabric/capacities/read", + "display": { + "provider": "Microsoft Fabric", + "resource": "capacities", + "operation": "Read Fabric Capacity", + "description": "Retrieves the information of the specified Fabric Capacity." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Fabric/capacities/write", + "display": { + "provider": "Microsoft Fabric", + "resource": "capacities", + "operation": "Create/Update Fabric Capacity", + "description": "Creates or updates the specified Fabric Capacity." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Fabric/capacities/delete", + "display": { + "provider": "Microsoft Fabric", + "resource": "capacities", + "operation": "Delete the Fabric Capacity", + "description": "Deletes the Fabric Capacity." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Fabric/capacities/suspend/action", + "display": { + "provider": "Microsoft Fabric", + "resource": "capacities", + "operation": "Suspend the specified Fabric capacity", + "description": "Suspend the specified Fabric capacity" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Fabric/capacities/resume/action", + "display": { + "provider": "Microsoft Fabric", + "resource": "capacities", + "operation": "Resume the specified Fabric capacity", + "description": "Resume the specified Fabric capacity" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/fabric/Microsoft.Fabric.Management/main.tsp b/specification/fabric/Microsoft.Fabric.Management/main.tsp new file mode 100644 index 000000000000..f8d6e9530c2b --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/main.tsp @@ -0,0 +1,29 @@ +import "@typespec/http"; +import "@typespec/rest"; +import "@typespec/versioning"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-azure-resource-manager"; +import "./capacity.tsp"; + +using TypeSpec.Http; +using TypeSpec.Rest; +using TypeSpec.Versioning; +using Azure.Core; +using Azure.ResourceManager; + +/** Microsoft.Fabric Resource Provider management API. */ +@armProviderNamespace +@service({ + title: "Microsoft.Fabric management service", +}) +@versioned(Microsoft.Fabric.Versions) +namespace Microsoft.Fabric; + +/** The available API versions. */ +enum Versions { + /** 2023-11-01 version */ + @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @useDependency(Azure.Core.Versions.v1_0_Preview_2) + @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5) + v2023_11_01: "2023-11-01", +} diff --git a/specification/fabric/Microsoft.Fabric.Management/models.tsp b/specification/fabric/Microsoft.Fabric.Management/models.tsp new file mode 100644 index 000000000000..eed2e67465b5 --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/models.tsp @@ -0,0 +1,168 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; + +using TypeSpec.Http; +using Azure.Core; +using Azure.ResourceManager; +using Azure.ResourceManager.Foundations; +using OpenAPI; + +namespace Microsoft.Fabric; + +interface Operations extends Azure.ResourceManager.Operations {} + +@doc("The Microsoft Fabric capacity properties.") +model FabricCapacityProperties { + @doc("The current deployment state of Microsoft Fabric resource. The provisioningState is to indicate states for resource provisioning.") + @visibility("read") + provisioningState?: ProvisioningState; + + @doc("The current state of Microsoft Fabric resource. The state is to indicate more states outside of resource provisioning.") + @visibility("read") + state: ResourceState; + + @doc("The capacity administration") + administration: CapacityAdministration; +} + +@doc("Represents the SKU name and Azure pricing tier for Microsoft Fabric capacity resource.") +model RpSku { + @doc("The name of the SKU level.") + name: string; + + @doc("The name of the Azure pricing tier to which the SKU applies.") + tier: RpSkuTier; +} + +@doc("The name of the Azure pricing tier to which the SKU applies.") +union RpSkuTier { + string, + + @doc("Fabric tier") + fabric: "Fabric", +} + +@doc("The administration properties of the Fabric capacity resource") +model CapacityAdministration { + @doc("An array of administrator user identities.") + members: Array; +} + +@doc("The provisioning state of the Fabric capacity resource.") +union ProvisioningState { + ResourceProvisioningState, + + /** Resource is deleting */ + Deleting: "Deleting", + + /** Resource is provisioning */ + Provisioning: "Provisioning", + + /** Resource is updating */ + Updating: "Updating", + + string, +} + +@doc("The state of the Fabric capacity resource.") +union ResourceState { + /** Resource is active */ + Active: "Active", + + /** Resource is provisioning */ + Provisioning: "Provisioning", + + /** Resource is failed */ + Failed: "Failed", + + /** Resource is updating */ + Updating: "Updating", + + /** Resource is deleting */ + Deleting: "Deleting", + + /** Resource is suspending */ + Suspending: "Suspending", + + /** Resource is suspended */ + Suspended: "Suspended", + + /** Resource is pausing */ + Pausing: "Pausing", + + /** Resource is paused */ + Paused: "Paused", + + /** Resource is resuming */ + Resuming: "Resuming", + + /** Resource is scaling */ + Scaling: "Scaling", + + /** Resource is preparing */ + Preparing: "Preparing", + + string, +} + +@doc("An object that represents enumerating SKUs for new resources.") +@pagedResult +model RpSkuEnumerationForNewResourceResult { + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "" + @doc("The collection of available SKUs for new resources") + value: Array; + + @doc("Url for the next page. Null if no more pages available") + @nextLink + nextLink?: string; +} + +@doc("The SKU details") +model RpSkuDetailsForNewResource { + @doc("The resource type") + resourceType: string; + + ...RpSkuProperties; +} + +@doc("The SKU properties") +model RpSkuProperties { + @doc("The SKU's name") + name: string; + + @doc("The list of available locations for the SKU") + locations: Array; +} + +@doc("An object that represents enumerating SKUs for existing resources") +@pagedResult +model RpSkuEnumerationForExistingResourceResult { + #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" "" + @doc("The SKU details") + value: Array; + + @doc("Url for the next page. Null if no more pages available") + @nextLink + nextLink?: string; +} + +@doc("An object that represents SKU details for existing resources") +model RpSkuDetailsForExistingResource { + @doc("The resource type") + resourceType: string; + + @doc("The SKU details") + sku: RpSku; +} + +@doc("The name of the capacity.") +model CapacityNameParameter { + @doc("The name of the capacity.") + @maxLength(63) + @minLength(3) + @pattern("^[a-z][a-z0-9]*$") + @TypeSpec.Rest.segment("capacities") + @path + capacityName: string; +} diff --git a/specification/fabric/Microsoft.Fabric.Management/tspconfig.yaml b/specification/fabric/Microsoft.Fabric.Management/tspconfig.yaml new file mode 100644 index 000000000000..b5074dd778f1 --- /dev/null +++ b/specification/fabric/Microsoft.Fabric.Management/tspconfig.yaml @@ -0,0 +1,12 @@ +emit: + - "@azure-tools/typespec-autorest" +options: + "@azure-tools/typespec-autorest": + use-read-only-status-schema: true + emitter-output-dir: "{project-root}/.." + azure-resource-provider-folder: "resource-manager" + output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/fabric.json" + examples-directory: "{project-root}/examples" +linter: + extends: + - "@azure-tools/typespec-azure-rulesets/resource-manager" diff --git a/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_CheckNameAvailability.json b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_CheckNameAvailability.json new file mode 100644 index 000000000000..e36fd699e1a3 --- /dev/null +++ b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "title": "Check name availability of a capacity", + "operationId": "FabricCapacities_CheckNameAvailability", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "location": "westcentralus", + "body": { + "name": "azsdktest", + "type": "Microsoft.Fabric/capacities" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_CreateOrUpdate.json b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_CreateOrUpdate.json new file mode 100644 index 000000000000..568d4dcaa4d4 --- /dev/null +++ b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_CreateOrUpdate.json @@ -0,0 +1,85 @@ +{ + "title": "Create or update a capacity", + "operationId": "FabricCapacities_CreateOrUpdate", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG", + "capacityName": "azsdktest", + "resource": { + "properties": { + "administration": { + "members": [ + "azsdktest@microsoft.com", + "azsdktest2@microsoft.com" + ] + } + }, + "sku": { + "name": "F2", + "tier": "Fabric" + }, + "location": "westcentralus" + } + }, + "responses": { + "200": { + "headers": { + "Location": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationresults/946B9C42-0D6C-4A42-94AE-1156A1EC8534?api-version=2023-11-01&t=638525901413778740&c=MIIH5zCCBs-", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationstatuses/946B9C42-0D6C-4A42-94AE-1156A1EC8534?api-version=2023-11-01&t=638525901413778740&c=MIIH5zCCBs-" + }, + "body": { + "properties": { + "provisioningState": "Updating", + "state": "Preparing", + "administration": { + "members": [ + "azsdktest@microsoft.com", + "azsdktest2@microsoft.com" + ] + } + }, + "sku": { + "name": "F2", + "tier": "Fabric" + }, + "tags": { + "testKey": "testValue" + }, + "location": "westcentralus", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest", + "name": "azsdktest", + "type": "Microsoft.Fabric/capacities" + } + }, + "201": { + "headers": { + "Location": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationresults/946B9C42-0D6C-4A42-94AE-1156A1EC8534?api-version=2023-11-01&t=638525901413778740&c=MIIH5zCCBs-", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationstatuses/946B9C42-0D6C-4A42-94AE-1156A1EC8534?api-version=2023-11-01&t=638525901413778740&c=MIIH5zCCBs-" + }, + "body": { + "properties": { + "provisioningState": "Provisioning", + "state": "Provisioning", + "administration": { + "members": [ + "azsdktest@microsoft.com", + "azsdktest2@microsoft.com" + ] + } + }, + "sku": { + "name": "F2", + "tier": "Fabric" + }, + "tags": { + "testKey": "testValue" + }, + "location": "westcentralus", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest", + "name": "azsdktest", + "type": "Microsoft.Fabric/capacities" + } + } + } +} diff --git a/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_Delete.json b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_Delete.json new file mode 100644 index 000000000000..decf9a4809f8 --- /dev/null +++ b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_Delete.json @@ -0,0 +1,14 @@ +{ + "title": "Delete a capacity", + "operationId": "FabricCapacities_Delete", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG", + "capacityName": "azsdktest" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_Get.json b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_Get.json new file mode 100644 index 000000000000..c0d412381579 --- /dev/null +++ b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_Get.json @@ -0,0 +1,35 @@ +{ + "title": "Get a capacity", + "operationId": "FabricCapacities_Get", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG", + "capacityName": "azsdktest" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "state": "Active", + "administration": { + "members": [ + "azsdktest@microsoft.com", + "azsdktest2@microsoft.com" + ] + } + }, + "sku": { + "name": "F2", + "tier": "Fabric" + }, + "tags": {}, + "location": "West Central US", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest", + "name": "azsdktest", + "type": "Microsoft.Fabric/capacities" + } + } + } +} diff --git a/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_ListByResourceGroup.json b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_ListByResourceGroup.json new file mode 100644 index 000000000000..81f1a5643711 --- /dev/null +++ b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_ListByResourceGroup.json @@ -0,0 +1,59 @@ +{ + "title": "List capacities by resource group", + "operationId": "FabricCapacities_ListByResourceGroup", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "state": "Active", + "administration": { + "members": [ + "azsdktest@microsoft.com" + ] + } + }, + "sku": { + "name": "F2", + "tier": "Fabric" + }, + "tags": {}, + "location": "West Central US", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest", + "name": "azsdktest", + "type": "Microsoft.Fabric/capacities" + }, + { + "properties": { + "provisioningState": "Provisioning", + "state": "Provisioning", + "administration": { + "members": [ + "azsdktest@microsoft.com" + ] + } + }, + "sku": { + "name": "F4", + "tier": "Fabric" + }, + "tags": { + "testKey": "testValue" + }, + "location": "West Central US", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest2", + "name": "azsdktest2", + "type": "Microsoft.Fabric/capacities" + } + ] + } + } + } +} diff --git a/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_ListBySubscription.json b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_ListBySubscription.json new file mode 100644 index 000000000000..64fed8b9cf88 --- /dev/null +++ b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_ListBySubscription.json @@ -0,0 +1,58 @@ +{ + "title": "List capacities by subscription", + "operationId": "FabricCapacities_ListBySubscription", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "state": "Active", + "administration": { + "members": [ + "azsdktest@microsoft.com" + ] + } + }, + "sku": { + "name": "F2", + "tier": "Fabric" + }, + "tags": {}, + "location": "West Central US", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest", + "name": "azsdktest", + "type": "Microsoft.Fabric/capacities" + }, + { + "properties": { + "provisioningState": "Provisioning", + "state": "Provisioning", + "administration": { + "members": [ + "azsdktest@microsoft.com" + ] + } + }, + "sku": { + "name": "F4", + "tier": "Fabric" + }, + "tags": { + "testKey": "testValue" + }, + "location": "West Central US", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest2", + "name": "azsdktest2", + "type": "Microsoft.Fabric/capacities" + } + ] + } + } + } +} diff --git a/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_ListSkus.json b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_ListSkus.json new file mode 100644 index 000000000000..157513675f2f --- /dev/null +++ b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_ListSkus.json @@ -0,0 +1,44 @@ +{ + "title": "List eligible SKUs for a new capacity", + "operationId": "FabricCapacities_ListSkus", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "F8", + "locations": [ + "West Europe" + ], + "resourceType": "Capacities" + }, + { + "name": "F64", + "locations": [ + "West Europe" + ], + "resourceType": "Capacities" + }, + { + "name": "F128", + "locations": [ + "West Europe" + ], + "resourceType": "Capacities" + }, + { + "name": "F512", + "locations": [ + "West Europe" + ], + "resourceType": "Capacities" + } + ] + } + } + } +} diff --git a/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_ListSkusForCapacity.json b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_ListSkusForCapacity.json new file mode 100644 index 000000000000..6217e0eb1cab --- /dev/null +++ b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_ListSkusForCapacity.json @@ -0,0 +1,95 @@ +{ + "title": "List eligible SKUs for an existing capacity", + "operationId": "FabricCapacities_ListSkusForCapacity", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG", + "capacityName": "azsdktest" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F16", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F8", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F64", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F1024", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F128", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F2", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F256", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F32", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F4", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F512", + "tier": "Fabric" + } + }, + { + "resourceType": "Microsoft.Fabric/capacities", + "sku": { + "name": "F2048", + "tier": "Fabric" + } + } + ] + } + } + } +} diff --git a/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_Resume.json b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_Resume.json new file mode 100644 index 000000000000..ec90eb13207e --- /dev/null +++ b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_Resume.json @@ -0,0 +1,18 @@ +{ + "title": "Resume capacity", + "operationId": "FabricCapacities_Resume", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG", + "capacityName": "azsdktest" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationstatuses/82494E97-958D-4BFF-92F1-297BB0D9F2D7?api-version=2023-11-01&t=638525947760837928&c=MIIH5zCCBs-", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationresults/82494E97-958D-4BFF-92F1-297BB0D9F2D7?api-version=2023-11-01&t=638525947760994159&c=MIIH5zCCBs-" + } + } + } +} diff --git a/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_Suspend.json b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_Suspend.json new file mode 100644 index 000000000000..7507ad604a2f --- /dev/null +++ b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_Suspend.json @@ -0,0 +1,18 @@ +{ + "title": "Suspend capacity", + "operationId": "FabricCapacities_Suspend", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG", + "capacityName": "azsdktest" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationstatuses/82494E97-958D-4BFF-92F1-297BB0D9F2D7?api-version=2023-11-01&t=638525947760837928&c=MIIH5zCCBs-", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/providers/Microsoft.Fabric/locations/westcentralus/operationresults/82494E97-958D-4BFF-92F1-297BB0D9F2D7?api-version=2023-11-01&t=638525947760994159&c=MIIH5zCCBs-" + } + } + } +} diff --git a/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_Update.json b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_Update.json new file mode 100644 index 000000000000..0dbbee872b7c --- /dev/null +++ b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/FabricCapacities_Update.json @@ -0,0 +1,52 @@ +{ + "title": "Update capacity properties", + "operationId": "FabricCapacities_Update", + "parameters": { + "api-version": "2023-11-01", + "subscriptionId": "548B7FB7-3B2A-4F46-BB02-66473F1FC22C", + "resourceGroupName": "TestRG", + "capacityName": "azsdktest", + "properties": { + "sku": { + "name": "F8", + "tier": "Fabric" + }, + "tags": { + "testKey": "testValue" + }, + "properties": { + "administration": { + "members": [ + "azsdktest2@microsoft.com" + ] + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Provisioning", + "state": "Provisioning", + "administration": { + "members": [ + "azsdktest2@microsoft.com" + ] + } + }, + "sku": { + "name": "F8", + "tier": "Fabric" + }, + "tags": { + "testKey": "testValue" + }, + "location": "westcentralus", + "id": "/subscriptions/548B7FB7-3B2A-4F46-BB02-66473F1FC22C/resourceGroups/TestRG/providers/Microsoft.Fabric/capacities/azsdktest", + "name": "azsdktest", + "type": "Microsoft.Fabric/capacities" + } + } + } +} diff --git a/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/Operations_List.json b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/Operations_List.json new file mode 100644 index 000000000000..94865fd32c2e --- /dev/null +++ b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/examples/Operations_List.json @@ -0,0 +1,65 @@ +{ + "title": "List operations", + "operationId": "Operations_List", + "parameters": { + "api-version": "2023-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.Fabric/capacities/read", + "display": { + "provider": "Microsoft Fabric", + "resource": "capacities", + "operation": "Read Fabric Capacity", + "description": "Retrieves the information of the specified Fabric Capacity." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Fabric/capacities/write", + "display": { + "provider": "Microsoft Fabric", + "resource": "capacities", + "operation": "Create/Update Fabric Capacity", + "description": "Creates or updates the specified Fabric Capacity." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Fabric/capacities/delete", + "display": { + "provider": "Microsoft Fabric", + "resource": "capacities", + "operation": "Delete the Fabric Capacity", + "description": "Deletes the Fabric Capacity." + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Fabric/capacities/suspend/action", + "display": { + "provider": "Microsoft Fabric", + "resource": "capacities", + "operation": "Suspend the specified Fabric capacity", + "description": "Suspend the specified Fabric capacity" + }, + "origin": "user,system" + }, + { + "name": "Microsoft.Fabric/capacities/resume/action", + "display": { + "provider": "Microsoft Fabric", + "resource": "capacities", + "operation": "Resume the specified Fabric capacity", + "description": "Resume the specified Fabric capacity" + }, + "origin": "user,system" + } + ] + } + } + } +} diff --git a/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/fabric.json b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/fabric.json new file mode 100644 index 000000000000..eb8d87cc9837 --- /dev/null +++ b/specification/fabric/resource-manager/Microsoft.Fabric/stable/2023-11-01/fabric.json @@ -0,0 +1,1088 @@ +{ + "swagger": "2.0", + "info": { + "title": "Microsoft.Fabric management service", + "version": "2023-11-01", + "description": "Microsoft.Fabric Resource Provider management API.", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "FabricCapacities" + }, + { + "name": "Operations" + } + ], + "paths": { + "/providers/Microsoft.Fabric/operations": { + "get": { + "operationId": "Operations_List", + "tags": [ + "Operations" + ], + "description": "List the operations for the provider", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List operations": { + "$ref": "./examples/Operations_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Fabric/capacities": { + "get": { + "operationId": "FabricCapacities_ListBySubscription", + "tags": [ + "FabricCapacities" + ], + "description": "List FabricCapacity resources by subscription ID", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/FabricCapacityListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List capacities by subscription": { + "$ref": "./examples/FabricCapacities_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Fabric/locations/{location}/checkNameAvailability": { + "post": { + "operationId": "FabricCapacities_CheckNameAvailability", + "tags": [ + "FabricCapacities" + ], + "description": "Implements local CheckNameAvailability operations", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "body", + "in": "body", + "description": "The CheckAvailability request", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/CheckNameAvailabilityRequest" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/CheckNameAvailabilityResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check name availability of a capacity": { + "$ref": "./examples/FabricCapacities_CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Fabric/skus": { + "get": { + "operationId": "FabricCapacities_ListSkus", + "tags": [ + "FabricCapacities" + ], + "description": "List eligible SKUs for Microsoft Fabric resource provider", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/RpSkuEnumerationForNewResourceResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List eligible SKUs for a new capacity": { + "$ref": "./examples/FabricCapacities_ListSkus.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric/capacities": { + "get": { + "operationId": "FabricCapacities_ListByResourceGroup", + "tags": [ + "FabricCapacities" + ], + "description": "List FabricCapacity resources by resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/FabricCapacityListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List capacities by resource group": { + "$ref": "./examples/FabricCapacities_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric/capacities/{capacityName}": { + "get": { + "operationId": "FabricCapacities_Get", + "tags": [ + "FabricCapacities" + ], + "description": "Get a FabricCapacity", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "capacityName", + "in": "path", + "description": "The name of the Microsoft Fabric capacity. It must be a minimum of 3 characters, and a maximum of 63.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z][a-z0-9]*$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/FabricCapacity" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a capacity": { + "$ref": "./examples/FabricCapacities_Get.json" + } + } + }, + "put": { + "operationId": "FabricCapacities_CreateOrUpdate", + "tags": [ + "FabricCapacities" + ], + "description": "Create a FabricCapacity", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "capacityName", + "in": "path", + "description": "The name of the Microsoft Fabric capacity. It must be a minimum of 3 characters, and a maximum of 63.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z][a-z0-9]*$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/FabricCapacity" + } + } + ], + "responses": { + "200": { + "description": "Resource 'FabricCapacity' update operation succeeded", + "schema": { + "$ref": "#/definitions/FabricCapacity" + } + }, + "201": { + "description": "Resource 'FabricCapacity' create operation succeeded", + "schema": { + "$ref": "#/definitions/FabricCapacity" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or update a capacity": { + "$ref": "./examples/FabricCapacities_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "FabricCapacities_Update", + "tags": [ + "FabricCapacities" + ], + "description": "Update a FabricCapacity", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "capacityName", + "in": "path", + "description": "The name of the Microsoft Fabric capacity. It must be a minimum of 3 characters, and a maximum of 63.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z][a-z0-9]*$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/FabricCapacityUpdate" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/FabricCapacity" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update capacity properties": { + "$ref": "./examples/FabricCapacities_Update.json" + } + } + }, + "delete": { + "operationId": "FabricCapacities_Delete", + "tags": [ + "FabricCapacities" + ], + "description": "Delete a FabricCapacity", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "capacityName", + "in": "path", + "description": "The name of the Microsoft Fabric capacity. It must be a minimum of 3 characters, and a maximum of 63.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z][a-z0-9]*$" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a capacity": { + "$ref": "./examples/FabricCapacities_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric/capacities/{capacityName}/resume": { + "post": { + "operationId": "FabricCapacities_Resume", + "tags": [ + "FabricCapacities" + ], + "description": "Resume operation of the specified Fabric capacity instance.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "capacityName", + "in": "path", + "description": "The name of the Microsoft Fabric capacity. It must be a minimum of 3 characters, and a maximum of 63.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z][a-z0-9]*$" + } + ], + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Resume capacity": { + "$ref": "./examples/FabricCapacities_Resume.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric/capacities/{capacityName}/skus": { + "get": { + "operationId": "FabricCapacities_ListSkusForCapacity", + "tags": [ + "FabricCapacities" + ], + "description": "List eligible SKUs for a Microsoft Fabric resource", + "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/CapacityNameParameter" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/RpSkuEnumerationForExistingResourceResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List eligible SKUs for an existing capacity": { + "$ref": "./examples/FabricCapacities_ListSkusForCapacity.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Fabric/capacities/{capacityName}/suspend": { + "post": { + "operationId": "FabricCapacities_Suspend", + "tags": [ + "FabricCapacities" + ], + "description": "Suspend operation of the specified Fabric capacity instance.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "capacityName", + "in": "path", + "description": "The name of the Microsoft Fabric capacity. It must be a minimum of 3 characters, and a maximum of 63.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z][a-z0-9]*$" + } + ], + "responses": { + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Suspend capacity": { + "$ref": "./examples/FabricCapacities_Suspend.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "Azure.Core.azureLocation": { + "type": "string", + "description": "Represents an Azure geography region where supported resource providers live." + }, + "CapacityAdministration": { + "type": "object", + "description": "The administration properties of the Fabric capacity resource", + "properties": { + "members": { + "type": "array", + "description": "An array of administrator user identities.", + "items": { + "type": "string" + } + } + }, + "required": [ + "members" + ] + }, + "CapacityAdministrationUpdate": { + "type": "object", + "description": "The administration properties of the Fabric capacity resource", + "properties": { + "members": { + "type": "array", + "description": "An array of administrator user identities.", + "items": { + "type": "string" + } + } + } + }, + "FabricCapacity": { + "type": "object", + "description": "Fabric Capacity resource", + "properties": { + "properties": { + "$ref": "#/definitions/FabricCapacityProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + }, + "sku": { + "$ref": "#/definitions/RpSku", + "description": "The SKU details" + } + }, + "required": [ + "sku" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ] + }, + "FabricCapacityListResult": { + "type": "object", + "description": "The response of a FabricCapacity list operation.", + "properties": { + "value": { + "type": "array", + "description": "The FabricCapacity items on this page", + "items": { + "$ref": "#/definitions/FabricCapacity" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "FabricCapacityProperties": { + "type": "object", + "description": "The Microsoft Fabric capacity properties.", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The current deployment state of Microsoft Fabric resource. The provisioningState is to indicate states for resource provisioning.", + "readOnly": true + }, + "state": { + "$ref": "#/definitions/ResourceState", + "description": "The current state of Microsoft Fabric resource. The state is to indicate more states outside of resource provisioning.", + "readOnly": true + }, + "administration": { + "$ref": "#/definitions/CapacityAdministration", + "description": "The capacity administration" + } + }, + "required": [ + "state", + "administration" + ] + }, + "FabricCapacityUpdate": { + "type": "object", + "description": "The type used for update operations of the FabricCapacity.", + "properties": { + "sku": { + "$ref": "#/definitions/RpSkuUpdate", + "description": "The SKU details" + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/FabricCapacityUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "FabricCapacityUpdateProperties": { + "type": "object", + "description": "The updatable properties of the FabricCapacity.", + "properties": { + "administration": { + "$ref": "#/definitions/CapacityAdministrationUpdate", + "description": "The capacity administration" + } + } + }, + "ProvisioningState": { + "type": "string", + "description": "The provisioning state of the Fabric capacity resource.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Deleting", + "Provisioning", + "Updating" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Resource has been created." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Resource creation failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Resource creation was canceled." + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "Resource is deleting" + }, + { + "name": "Provisioning", + "value": "Provisioning", + "description": "Resource is provisioning" + }, + { + "name": "Updating", + "value": "Updating", + "description": "Resource is updating" + } + ] + }, + "readOnly": true + }, + "ResourceState": { + "type": "string", + "description": "The state of the Fabric capacity resource.", + "enum": [ + "Active", + "Provisioning", + "Failed", + "Updating", + "Deleting", + "Suspending", + "Suspended", + "Pausing", + "Paused", + "Resuming", + "Scaling", + "Preparing" + ], + "x-ms-enum": { + "name": "ResourceState", + "modelAsString": true, + "values": [ + { + "name": "Active", + "value": "Active", + "description": "Resource is active" + }, + { + "name": "Provisioning", + "value": "Provisioning", + "description": "Resource is provisioning" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Resource is failed" + }, + { + "name": "Updating", + "value": "Updating", + "description": "Resource is updating" + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "Resource is deleting" + }, + { + "name": "Suspending", + "value": "Suspending", + "description": "Resource is suspending" + }, + { + "name": "Suspended", + "value": "Suspended", + "description": "Resource is suspended" + }, + { + "name": "Pausing", + "value": "Pausing", + "description": "Resource is pausing" + }, + { + "name": "Paused", + "value": "Paused", + "description": "Resource is paused" + }, + { + "name": "Resuming", + "value": "Resuming", + "description": "Resource is resuming" + }, + { + "name": "Scaling", + "value": "Scaling", + "description": "Resource is scaling" + }, + { + "name": "Preparing", + "value": "Preparing", + "description": "Resource is preparing" + } + ] + } + }, + "RpSku": { + "type": "object", + "description": "Represents the SKU name and Azure pricing tier for Microsoft Fabric capacity resource.", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU level." + }, + "tier": { + "$ref": "#/definitions/RpSkuTier", + "description": "The name of the Azure pricing tier to which the SKU applies." + } + }, + "required": [ + "name", + "tier" + ] + }, + "RpSkuDetailsForExistingResource": { + "type": "object", + "description": "An object that represents SKU details for existing resources", + "properties": { + "resourceType": { + "type": "string", + "description": "The resource type" + }, + "sku": { + "$ref": "#/definitions/RpSku", + "description": "The SKU details" + } + }, + "required": [ + "resourceType", + "sku" + ] + }, + "RpSkuDetailsForNewResource": { + "type": "object", + "description": "The SKU details", + "properties": { + "resourceType": { + "type": "string", + "description": "The resource type" + }, + "name": { + "type": "string", + "description": "The SKU's name" + }, + "locations": { + "type": "array", + "description": "The list of available locations for the SKU", + "items": { + "$ref": "#/definitions/Azure.Core.azureLocation" + } + } + }, + "required": [ + "resourceType", + "name", + "locations" + ] + }, + "RpSkuEnumerationForExistingResourceResult": { + "type": "object", + "description": "An object that represents enumerating SKUs for existing resources", + "properties": { + "value": { + "type": "array", + "description": "The SKU details", + "items": { + "$ref": "#/definitions/RpSkuDetailsForExistingResource" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "description": "Url for the next page. Null if no more pages available" + } + }, + "required": [ + "value" + ] + }, + "RpSkuEnumerationForNewResourceResult": { + "type": "object", + "description": "An object that represents enumerating SKUs for new resources.", + "properties": { + "value": { + "type": "array", + "description": "The collection of available SKUs for new resources", + "items": { + "$ref": "#/definitions/RpSkuDetailsForNewResource" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "description": "Url for the next page. Null if no more pages available" + } + }, + "required": [ + "value" + ] + }, + "RpSkuProperties": { + "type": "object", + "description": "The SKU properties", + "properties": { + "name": { + "type": "string", + "description": "The SKU's name" + }, + "locations": { + "type": "array", + "description": "The list of available locations for the SKU", + "items": { + "$ref": "#/definitions/Azure.Core.azureLocation" + } + } + }, + "required": [ + "name", + "locations" + ] + }, + "RpSkuTier": { + "type": "string", + "description": "The name of the Azure pricing tier to which the SKU applies.", + "enum": [ + "Fabric" + ], + "x-ms-enum": { + "name": "RpSkuTier", + "modelAsString": true, + "values": [ + { + "name": "fabric", + "value": "Fabric", + "description": "Fabric tier" + } + ] + } + }, + "RpSkuUpdate": { + "type": "object", + "description": "Represents the SKU name and Azure pricing tier for Microsoft Fabric capacity resource.", + "properties": { + "name": { + "type": "string", + "description": "The name of the SKU level." + }, + "tier": { + "$ref": "#/definitions/RpSkuTier", + "description": "The name of the Azure pricing tier to which the SKU applies." + } + } + } + }, + "parameters": { + "CapacityNameParameter": { + "name": "capacityName", + "in": "path", + "description": "The name of the capacity.", + "required": true, + "type": "string", + "minLength": 3, + "maxLength": 63, + "pattern": "^[a-z][a-z0-9]*$", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/securitydevops/resource-manager/readme.az.md b/specification/fabric/resource-manager/readme.az.md similarity index 52% rename from specification/securitydevops/resource-manager/readme.az.md rename to specification/fabric/resource-manager/readme.az.md index e8ddb9da292c..1c2465de50e9 100644 --- a/specification/securitydevops/resource-manager/readme.az.md +++ b/specification/fabric/resource-manager/readme.az.md @@ -6,11 +6,11 @@ For new Resource Provider. It is highly recommended to onboard Azure CLI extensi ``` yaml $(az) && $(target-mode) != 'core' az: - extensions: securitydevops - namespace: azure.mgmt.securitydevops - package-name: azure-mgmt-securitydevops -az-output-folder: $(azure-cli-extension-folder)/src/securitydevops -python-sdk-output-folder: "$(az-output-folder)/azext_securitydevops/vendored_sdks/securitydevops" + extensions: fabric + namespace: azure.mgmt.fabric + package-name: azure-mgmt-fabric +az-output-folder: $(azure-cli-extension-folder)/src/fabric +python-sdk-output-folder: "$(az-output-folder)/azext_fabric/vendored_sdks/fabric" # add additional configuration here specific for Azure CLI # refer to the faq.md for more details ``` @@ -20,9 +20,9 @@ python-sdk-output-folder: "$(az-output-folder)/azext_securitydevops/vendored_sdk This is for command modules that already in azure cli main repo. ``` yaml $(az) && $(target-mode) == 'core' az: - extensions: securitydevops - namespace: azure.mgmt.securitydevops - package-name: azure-mgmt-securitydevops -az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/securitydevops -python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/securitydevops" + extensions: fabric + namespace: azure.mgmt.fabric + package-name: azure-mgmt-fabric +az-output-folder: $(azure-cli-folder)/src/azure-cli/azure/cli/command_modules/fabric +python-sdk-output-folder: "$(az-output-folder)/vendored_sdks/fabric" ``` \ No newline at end of file diff --git a/specification/securitydevops/resource-manager/readme.cli.md b/specification/fabric/resource-manager/readme.cli.md similarity index 100% rename from specification/securitydevops/resource-manager/readme.cli.md rename to specification/fabric/resource-manager/readme.cli.md diff --git a/specification/securitydevops/resource-manager/readme.csharp.md b/specification/fabric/resource-manager/readme.csharp.md similarity index 71% rename from specification/securitydevops/resource-manager/readme.csharp.md rename to specification/fabric/resource-manager/readme.csharp.md index eefc08006882..61d372320715 100644 --- a/specification/securitydevops/resource-manager/readme.csharp.md +++ b/specification/fabric/resource-manager/readme.csharp.md @@ -10,6 +10,6 @@ csharp: payload-flattening-threshold: 1 clear-output-folder: true client-side-validation: false - namespace: Microsoft.SecurityDevOps - output-folder: $(csharp-sdks-folder)/securitydevops/management/Microsoft.SecurityDevOps/GeneratedProtocol -``` + namespace: Microsoft.Fabric + output-folder: $(csharp-sdks-folder)/fabric/Microsoft.Fabric/src/Generated +``` \ No newline at end of file diff --git a/specification/securitydevops/resource-manager/readme.go.md b/specification/fabric/resource-manager/readme.go.md similarity index 79% rename from specification/securitydevops/resource-manager/readme.go.md rename to specification/fabric/resource-manager/readme.go.md index c4f2243e2c9d..6d0e6a00f5a0 100644 --- a/specification/securitydevops/resource-manager/readme.go.md +++ b/specification/fabric/resource-manager/readme.go.md @@ -5,7 +5,7 @@ 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/securitydevops/armsecuritydevops +module-name: sdk/resourcemanager/fabric/armfabric 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/securitydevops/resource-manager/readme.md b/specification/fabric/resource-manager/readme.md similarity index 50% rename from specification/securitydevops/resource-manager/readme.md rename to specification/fabric/resource-manager/readme.md index c9f3c746da39..8220d50e43fe 100644 --- a/specification/securitydevops/resource-manager/readme.md +++ b/specification/fabric/resource-manager/readme.md @@ -1,8 +1,8 @@ -# securitydevops +# app > see https://aka.ms/autorest -This is the AutoRest configuration file for securitydevops. +This is the AutoRest configuration file for Microsoft.App service. ## Getting Started @@ -22,22 +22,23 @@ For other options on installation see [Installing AutoRest](https://aka.ms/autor ### Basic Information -These are the global settings for the securitydevops. +These are the global settings for the app. ``` yaml openapi-type: arm -openapi-subtype: rpaas -tag: package-2022-09-01-preview +tag: package-2023-11-01 ``` -### Tag: package-2022-09-01-preview -These settings apply only when `--tag=package-2022-09-01-preview` is specified on the command line. +### Tag: package-2023-11-01 -``` yaml $(tag) == 'package-2022-09-01-preview' +These settings apply only when `--tag=package-2023-11-01` is specified on the command line. + +```yaml $(tag) == 'package-2023-11-01' input-file: - - Microsoft.SecurityDevOps/preview/2022-09-01-preview/securitydevops.json + - Microsoft.Fabric/stable/2023-11-01/fabric.json ``` +--- # Code Generation @@ -46,7 +47,7 @@ input-file: This section describes what SDK should be generated by the automatic system. This is not used by Autorest itself. -``` yaml $(swagger-to-sdk) +```yaml $(swagger-to-sdk) swagger-to-sdk: - repo: azure-sdk-for-python - repo: azure-sdk-for-java @@ -54,8 +55,8 @@ swagger-to-sdk: - repo: azure-sdk-for-js - repo: azure-resource-manager-schemas - repo: azure-cli-extensions + - repo: azure-powershell ``` - ## Az See configuration in [readme.az.md](./readme.az.md) @@ -74,22 +75,4 @@ See configuration in [readme.typescript.md](./readme.typescript.md) ## CSharp -See configuration in [readme.csharp.md](./readme.csharp.md) - -## Suppression - -``` yaml -directive: - - suppress: TrackedResourceListByImmediateParent - where: $.definitions - from: securitydevops.json - reason: We do not have tracked resource - - suppress: EnumInsteadOfBoolean - where: $.definitions.Operation.properties.isDataAction - from: types.json - reason: This is not related to my code and is part of common code - - suppress: EnumInsteadOfBoolean - where: $.definitions.Operation.properties.isDataAction - from: types.json - reason: 'Not my code, it is a part of common code' -``` +See configuration in [readme.csharp.md](./readme.csharp.md) \ No newline at end of file diff --git a/specification/fabric/resource-manager/readme.python.md b/specification/fabric/resource-manager/readme.python.md new file mode 100644 index 000000000000..d8c35b158a22 --- /dev/null +++ b/specification/fabric/resource-manager/readme.python.md @@ -0,0 +1,20 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. +Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. + + +``` yaml $(python) +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +namespace: azure.mgmt.fabric +package-name: azure-mgmt-fabric +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/fabric/azure-mgmt-fabric/azure/mgmt/fabric +``` \ No newline at end of file diff --git a/specification/securitydevops/resource-manager/readme.typescript.md b/specification/fabric/resource-manager/readme.typescript.md similarity index 72% rename from specification/securitydevops/resource-manager/readme.typescript.md rename to specification/fabric/resource-manager/readme.typescript.md index d9a64b4327f7..4ce06286e4df 100644 --- a/specification/securitydevops/resource-manager/readme.typescript.md +++ b/specification/fabric/resource-manager/readme.typescript.md @@ -6,9 +6,9 @@ Please also specify `--typescript-sdks-folder=`. + +```yaml $(tag) == 'package-2024-07-01-preview' && $(go) +namespace: hybridkubernetes +output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2024-07-01-preview/$(namespace) ``` \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/readme.java.md b/specification/hybridkubernetes/resource-manager/readme.java.md index 393cd5abf1e0..d31caaf9a313 100644 --- a/specification/hybridkubernetes/resource-manager/readme.java.md +++ b/specification/hybridkubernetes/resource-manager/readme.java.md @@ -23,6 +23,7 @@ batch: - tag: package-2021-10-01 - tag: package-2022-05-01-preview - tag: package-2022-10-01-preview + - tag: package-2024-07-01-preview ``` ### Tag: package-2020-01-01-preview and java @@ -97,3 +98,15 @@ java: regenerate-manager: true generate-interface: true ``` +### Tag: package-2024-07-01-preview and java + +These settings apply only when `--tag=package-2024-07-01-preview` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2024-07-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.hybridkubernetes.v2024_07_01_preview + output-folder: $(azure-libraries-for-java-folder)/hybridkubernetes/resource-manager/v2024_07_01_preview +regenerate-manager: true +generate-interface: true +``` \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/readme.md b/specification/hybridkubernetes/resource-manager/readme.md index 2d43e396759f..0d8fced280ca 100644 --- a/specification/hybridkubernetes/resource-manager/readme.md +++ b/specification/hybridkubernetes/resource-manager/readme.md @@ -27,9 +27,26 @@ These are the global settings for the Kubernetes Connect RP. ``` yaml openapi-type: arm openapi-subtype: rpaas -tag: package-2024-01 +tag: package-2024-07-01-preview ``` +### Tag: package-2024-07-01-preview + +These settings apply only when `--tag=package-2024-07-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2024-07-01-preview' +input-file: + - Microsoft.Kubernetes/preview/2024-07-01-preview/connectedClusters.json +``` + +### Tag: package-preview-2024-06-01 + +These settings apply only when `--tag=package-preview-2024-06-01` is specified on the command line. + +```yaml $(tag) == 'package-preview-2024-06-01' +input-file: + - Microsoft.Kubernetes/preview/2024-06-01-preview/connectedClusters.json +``` ### Tag: package-preview-2024-02-01 diff --git a/specification/hybridkubernetes/resource-manager/readme.ruby.md b/specification/hybridkubernetes/resource-manager/readme.ruby.md index 11979830cf94..3df813d2d4cc 100644 --- a/specification/hybridkubernetes/resource-manager/readme.ruby.md +++ b/specification/hybridkubernetes/resource-manager/readme.ruby.md @@ -19,6 +19,7 @@ batch: - tag: package-2021-10-01 - tag: package-2022-05-01-preview - tag: package-2022-10-01-preview + - tag: package-2024-07-01-preview ``` ### Tag: package-2020-01-01-preview and ruby @@ -51,6 +52,11 @@ Please also specify `--ruby-sdks-folder=`. +### Tag: package-2024-07-01-preview and ruby + +These settings apply only when `--tag=package-2024-07-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + ```yaml $(tag) == 'package-2020-01-01-preview' && $(ruby) namespace: "Azure::Kubernetes::Mgmt::V2020_01_01_preview" output-folder: $(ruby-sdks-folder)/management/azure_mgmt_hybridkubernetes/lib @@ -74,4 +80,8 @@ output-folder: $(ruby-sdks-folder)/management/azure_mgmt_hybridkubernetes/lib ```yaml $(tag) == 'package-2022-10-01-preview' && $(ruby) namespace: "Azure::Kubernetes::Mgmt::V2022_10_01_preview" output-folder: $(ruby-sdks-folder)/management/azure_mgmt_hybridkubernetes/lib +``` +```yaml $(tag) == 'package-2024-07-01-preview' && $(ruby) +namespace: "Azure::Kubernetes::Mgmt::V2024_07_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_hybridkubernetes/lib ``` \ No newline at end of file diff --git a/specification/hybridkubernetes/resource-manager/sdk-suppressions.yaml b/specification/hybridkubernetes/resource-manager/sdk-suppressions.yaml new file mode 100644 index 000000000000..76fb39393581 --- /dev/null +++ b/specification/hybridkubernetes/resource-manager/sdk-suppressions.yaml @@ -0,0 +1,9 @@ +suppressions: + azure-sdk-for-python: + - package: azure-mgmt-hybridkubernetes + breaking-changes: + - Model ConnectedClusterPatch no longer has parameter properties + azure-sdk-for-go: + - package: sdk/resourcemanager/hybridkubernetes/armhybridkubernetes + breaking-changes: + - Type of `ConnectedClusterPatch.Properties` has been changed from `any` to `*ConnectedClusterPatchProperties` \ No newline at end of file diff --git a/specification/informatica/Informatica.DataManagement/main.tsp b/specification/informatica/Informatica.DataManagement/main.tsp index 72e6980addfc..086574ad2a0d 100644 --- a/specification/informatica/Informatica.DataManagement/main.tsp +++ b/specification/informatica/Informatica.DataManagement/main.tsp @@ -57,7 +57,12 @@ interface Organizations OrganizationProperties > { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + InformaticaOrganizationResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; delete is ArmResourceDeleteWithoutOkAsync; update is ArmCustomPatchSync< InformaticaOrganizationResource, @@ -83,7 +88,12 @@ interface Organizations interface ServerlessRuntimes extends ProxyResourceOperations { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + InformaticaServerlessRuntimeResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; delete is ArmResourceDeleteWithoutOkAsync; update is ArmCustomPatchSync< InformaticaServerlessRuntimeResource, @@ -293,7 +303,7 @@ model CompanyDetails { @doc("Marketplace details.") model MarketplaceDetails { @doc("Marketplace Subscription Id") - marketplaceSubscriptionId: string; + marketplaceSubscriptionId?: string; @doc("Marketplace offer details.") offerDetails: OfferDetails; @@ -623,7 +633,7 @@ union RuntimeType { model InformaticaOrganizationResourceUpdate is OptionalProperties>> { /** Patchable PropertieInformaticaOrganizationPropertiesUpdates of the Organization observability resource */ properties?: OrganizationPropertiesCustomUpdate; @@ -672,7 +682,7 @@ model CompanyDetailsUpdate model InformaticaServerlessRuntimeResourceUpdate is OptionalProperties>> { /** Patchable PropertieInformaticaOrganizationPropertiesUpdates of the Organization observability resource */ properties?: ServerlessRuntimePropertiesCustomUpdate; diff --git a/specification/informatica/resource-manager/Informatica.DataManagement/stable/2024-05-08/openapi.json b/specification/informatica/resource-manager/Informatica.DataManagement/stable/2024-05-08/openapi.json index e56192027250..75f73e977db1 100644 --- a/specification/informatica/resource-manager/Informatica.DataManagement/stable/2024-05-08/openapi.json +++ b/specification/informatica/resource-manager/Informatica.DataManagement/stable/2024-05-08/openapi.json @@ -1368,11 +1368,7 @@ "properties": { "$ref": "#/definitions/OrganizationProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1518,11 +1514,7 @@ "properties": { "$ref": "#/definitions/InformaticaServerlessRuntimeProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1602,7 +1594,6 @@ } }, "required": [ - "marketplaceSubscriptionId", "offerDetails" ] }, diff --git a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/dataset.tsp b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/dataset.tsp index 6fa191db96bb..aaa1467a4af4 100644 --- a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/dataset.tsp +++ b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/dataset.tsp @@ -66,7 +66,12 @@ model DatasetPropertyKey { @armResourceOperations interface Datasets { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + Dataset, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmCustomPatchSync; delete is ArmResourceDeleteWithoutOkAsync; listByInstance is ArmResourceListByParent; diff --git a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/instance.tsp b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/instance.tsp index e5b1bd1d0e8e..7d1ea14a8b4f 100644 --- a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/instance.tsp +++ b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/instance.tsp @@ -42,7 +42,12 @@ model InstanceProperties { @armResourceOperations interface Instances { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + Instance, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmCustomPatchSync; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/pipeline.tsp b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/pipeline.tsp index a9604ac90e91..7217eb1e207e 100644 --- a/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/pipeline.tsp +++ b/specification/iotoperationsdataprocessor/IoTOperationsDataProcessor.Management/pipeline.tsp @@ -80,7 +80,12 @@ model PipelineStage is Record { @armResourceOperations interface Pipelines { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + Pipeline, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmCustomPatchSync; delete is ArmResourceDeleteWithoutOkAsync; listByInstance is ArmResourceListByParent; diff --git a/specification/iotoperationsdataprocessor/resource-manager/Microsoft.IoTOperationsDataProcessor/preview/2023-10-04-preview/openapi.json b/specification/iotoperationsdataprocessor/resource-manager/Microsoft.IoTOperationsDataProcessor/preview/2023-10-04-preview/openapi.json index 2db1e360a21b..71af4a17cb5a 100644 --- a/specification/iotoperationsdataprocessor/resource-manager/Microsoft.IoTOperationsDataProcessor/preview/2023-10-04-preview/openapi.json +++ b/specification/iotoperationsdataprocessor/resource-manager/Microsoft.IoTOperationsDataProcessor/preview/2023-10-04-preview/openapi.json @@ -1039,11 +1039,7 @@ "properties": { "$ref": "#/definitions/DatasetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -1173,11 +1169,7 @@ "properties": { "$ref": "#/definitions/InstanceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -1253,11 +1245,7 @@ "properties": { "$ref": "#/definitions/PipelineProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/main.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/main.tsp index 2a2ec6653290..e75e801e8293 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/main.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/main.tsp @@ -38,7 +38,12 @@ interface Operations extends Azure.ResourceManager.Operations {} @armResourceOperations interface Mq { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + MqResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; @@ -49,7 +54,12 @@ interface Mq { @armResourceOperations interface Broker { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + BrokerResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; @@ -59,7 +69,12 @@ interface Broker { @armResourceOperations interface BrokerListener { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + BrokerListenerResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync< BrokerListenerResource, BrokerListenerProperties @@ -72,7 +87,12 @@ interface BrokerListener { @armResourceOperations interface BrokerAuthentication { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + BrokerAuthenticationResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync< BrokerAuthenticationResource, BrokerAuthenticationProperties @@ -85,7 +105,12 @@ interface BrokerAuthentication { @armResourceOperations interface BrokerAuthorization { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + BrokerAuthorizationResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync< BrokerAuthorizationResource, BrokerAuthorizationProperties @@ -98,7 +123,12 @@ interface BrokerAuthorization { @armResourceOperations interface MqttBridgeConnector { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + MqttBridgeConnectorResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync< MqttBridgeConnectorResource, MqttBridgeConnectorProperties @@ -111,7 +141,12 @@ interface MqttBridgeConnector { @armResourceOperations interface MqttBridgeTopicMap { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + MqttBridgeTopicMapResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync< MqttBridgeTopicMapResource, MqttBridgeTopicMapProperties @@ -124,7 +159,12 @@ interface MqttBridgeTopicMap { @armResourceOperations interface DiagnosticService { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + DiagnosticServiceResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync< DiagnosticServiceResource, DiagnosticServiceProperties @@ -137,7 +177,12 @@ interface DiagnosticService { @armResourceOperations interface DataLakeConnector { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + DataLakeConnectorResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync< DataLakeConnectorResource, DataLakeConnectorProperties @@ -150,7 +195,12 @@ interface DataLakeConnector { @armResourceOperations interface DataLakeConnectorTopicMap { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + DataLakeTopicMapResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync< DataLakeTopicMapResource, DataLakeConnectorTopicMapProperties @@ -163,7 +213,12 @@ interface DataLakeConnectorTopicMap { @armResourceOperations interface KafkaConnector { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + KafkaConnectorResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync< KafkaConnectorResource, KafkaConnectorProperties @@ -176,7 +231,12 @@ interface KafkaConnector { @armResourceOperations interface KafkaConnectorTopicMap { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + KafkaTopicMapResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync< KafkaTopicMapResource, KafkaTopicMapProperties diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/base.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/base.tsp index 7e2df9921356..e08683a47957 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/base.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/base.tsp @@ -118,10 +118,10 @@ model CertManagerIssuerRef { @doc("SANs for certificate.") model SanForCert { @doc("DNS SANs.") - dns: string[] = []; + dns: string[] = #[]; @doc("IP address SANs.") - ip: string[] = []; + ip: string[] = #[]; } @doc("Mqtt Protocol types") diff --git a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbroker.tsp b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbroker.tsp index 29be327356b0..3b60a89c2511 100644 --- a/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbroker.tsp +++ b/specification/iotoperationsmq/IoTOperationsMQ.Management/models/mqttbroker.tsp @@ -679,7 +679,7 @@ model PrincipalDefinition { #suppress "@azure-tools/typespec-azure-resource-manager/arm-no-record" "existing API" @doc("A list of key-value pairs that match the attributes of the clients. The attributes are case-sensitive and must match the attributes provided by the clients during authentication.") @OpenAPI.extension("x-ms-identifiers", []) - attributes?: Record[] = []; + attributes?: Record[] = #[]; @doc("A list of client IDs that match the clients. The client IDs are case-sensitive and must match the client IDs provided by the clients during connection.") clientids?: string[]; diff --git a/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json b/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json index c6b62c125dfc..0d99a964e857 100644 --- a/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json +++ b/specification/iotoperationsmq/resource-manager/Microsoft.IoTOperationsMQ/preview/2023-10-04-preview/iotoperationsmq.json @@ -4396,11 +4396,7 @@ "properties": { "$ref": "#/definitions/BrokerAuthenticationProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocationProperty", @@ -4681,11 +4677,7 @@ "properties": { "$ref": "#/definitions/BrokerAuthorizationProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocationProperty", @@ -4943,11 +4935,7 @@ "properties": { "$ref": "#/definitions/BrokerListenerProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocationProperty", @@ -5221,11 +5209,7 @@ "properties": { "$ref": "#/definitions/BrokerProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocationProperty", @@ -5747,11 +5731,7 @@ "properties": { "$ref": "#/definitions/DataLakeConnectorProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocationProperty", @@ -6103,11 +6083,7 @@ "properties": { "$ref": "#/definitions/DataLakeConnectorTopicMapProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocationProperty", @@ -6428,11 +6404,7 @@ "properties": { "$ref": "#/definitions/DiagnosticServiceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocationProperty", @@ -6845,11 +6817,7 @@ "properties": { "$ref": "#/definitions/KafkaConnectorProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocationProperty", @@ -7451,11 +7419,7 @@ "properties": { "$ref": "#/definitions/KafkaTopicMapProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocationProperty", @@ -7970,11 +7934,7 @@ "properties": { "$ref": "#/definitions/MqProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocationProperty", @@ -8086,11 +8046,7 @@ "properties": { "$ref": "#/definitions/MqttBridgeConnectorProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocationProperty", @@ -8508,11 +8464,7 @@ "properties": { "$ref": "#/definitions/MqttBridgeTopicMapProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocationProperty", diff --git a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/instance.tsp b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/instance.tsp index 2024510d4758..b7150ac379e9 100644 --- a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/instance.tsp +++ b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/instance.tsp @@ -60,7 +60,12 @@ model TargetSelectorProperties { @armResourceOperations interface Instances { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + Instance, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmCustomPatchSync; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/solution.tsp b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/solution.tsp index a66741a1d9d5..32d72ed4b026 100644 --- a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/solution.tsp +++ b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/solution.tsp @@ -46,7 +46,12 @@ model SolutionProperties { @armResourceOperations interface Solutions { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + Solution, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmCustomPatchSync; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/target.tsp b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/target.tsp index 2baa2f60e69b..d736a18ed658 100644 --- a/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/target.tsp +++ b/specification/iotoperationsorchestrator/IoTOperationsOrchestrator.Management/target.tsp @@ -76,7 +76,12 @@ model BindingProperties { @armResourceOperations interface Targets { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + Target, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmCustomPatchSync; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/iotoperationsorchestrator/resource-manager/Microsoft.IoTOperationsOrchestrator/preview/2023-10-04-preview/openapi.json b/specification/iotoperationsorchestrator/resource-manager/Microsoft.IoTOperationsOrchestrator/preview/2023-10-04-preview/openapi.json index 0d7af904ca10..9ff3def3e27c 100644 --- a/specification/iotoperationsorchestrator/resource-manager/Microsoft.IoTOperationsOrchestrator/preview/2023-10-04-preview/openapi.json +++ b/specification/iotoperationsorchestrator/resource-manager/Microsoft.IoTOperationsOrchestrator/preview/2023-10-04-preview/openapi.json @@ -1139,11 +1139,7 @@ "properties": { "$ref": "#/definitions/InstanceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -1319,11 +1315,7 @@ "properties": { "$ref": "#/definitions/SolutionProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -1407,11 +1399,7 @@ "properties": { "$ref": "#/definitions/TargetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/common.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/common.json new file mode 100644 index 000000000000..7ae6889f4a0c --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/common.json @@ -0,0 +1,94 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-04-01-preview", + "title": "KeyVaultManagementClient", + "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault." + }, + "paths": {}, + "definitions": { + "CloudError": { + "description": "An error response from Key Vault resource provider", + "properties": { + "error": { + "$ref": "#/definitions/CloudErrorBody" + } + }, + "x-ms-external": true, + "type": "object" + }, + "CloudErrorBody": { + "description": "An error response from Key Vault resource provider", + "properties": { + "code": { + "type": "string", + "description": "Error code. This is a mnemonic that can be consumed programmatically." + }, + "message": { + "type": "string", + "description": "User friendly error message. The message is typically localized and may vary with service version." + } + }, + "x-ms-external": true, + "type": "object" + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the key vault resource.", + "readOnly": true, + "properties": { + "createdBy": { + "type": "string", + "description": "The identity that created the key vault resource." + }, + "createdByType": { + "description": "The type of identity that created the key vault resource.", + "$ref": "#/definitions/IdentityType" + }, + "createdAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the key vault resource creation (UTC)." + }, + "lastModifiedBy": { + "type": "string", + "description": "The identity that last modified the key vault resource." + }, + "lastModifiedByType": { + "description": "The type of identity that last modified the key vault resource.", + "$ref": "#/definitions/IdentityType" + }, + "lastModifiedAt": { + "type": "string", + "format": "date-time", + "description": "The timestamp of the key vault resource last modification (UTC)." + } + }, + "type": "object" + }, + "IdentityType": { + "type": "string", + "description": "The type of identity.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "x-ms-enum": { + "name": "identityType", + "modelAsString": 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/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/DeletedManagedHsm_Get.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/DeletedManagedHsm_Get.json new file mode 100644 index 000000000000..6087c892300d --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/DeletedManagedHsm_Get.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "name": "hsm1", + "location": "westus", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/deletedManagedHSMs/hsm1", + "name": "vault-agile-drawer-6404", + "type": "Microsoft.KeyVault/deletedManagedHSMs", + "properties": { + "mhsmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "location": "westus", + "deletionDate": "2021-04-01T00:00:59Z", + "scheduledPurgeDate": "2021-04-01T00:00:59Z", + "purgeProtectionEnabled": true, + "tags": { + "Dept": "hsm", + "Environment": "production" + } + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/DeletedManagedHsm_List.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/DeletedManagedHsm_List.json new file mode 100644 index 000000000000..50769e662bca --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/DeletedManagedHsm_List.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/deletedManagedHSMs/hsm1", + "name": "vault-agile-drawer-6404", + "type": "Microsoft.KeyVault/deletedManagedHSMs", + "properties": { + "mhsmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "location": "westus", + "deletionDate": "2021-04-01T00:00:59Z", + "scheduledPurgeDate": "2021-04-01T00:00:59Z", + "purgeProtectionEnabled": true, + "tags": { + "Dept": "hsm", + "Environment": "production" + } + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/deletedManagedHSMs/hsm2", + "name": "vault-agile-drawer-6404", + "type": "Microsoft.KeyVault/deletedManagedHSMs", + "properties": { + "mhsmId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm2", + "location": "westus", + "deletionDate": "2021-04-01T00:00:59Z", + "scheduledPurgeDate": "2021-04-01T00:00:59Z", + "purgeProtectionEnabled": true, + "tags": { + "Dept": "hsm", + "Environment": "production" + } + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/deletedManagedHSMs?api-version=2024-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng==" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/DeletedManagedHsm_Purge.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/DeletedManagedHsm_Purge.json new file mode 100644 index 000000000000..d2d2a900a3a9 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/DeletedManagedHsm_Purge.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "name": "hsm1", + "location": "westus", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://some.endpoint.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/managedHsmOperationResults/00000000-0000-0000-0000-000000000000" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_CreateOrUpdate.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_CreateOrUpdate.json new file mode 100644 index 000000000000..5cddf65801e7 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_CreateOrUpdate.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "resourceGroupName": "hsm-group", + "name": "hsm1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview", + "parameters": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": false + }, + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood" + } + } + }, + "responses": { + "202": { + "headers": { + "Location": "https://some.endpoint.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/managedHsmOperationResults/00000000-0000-0000-0000-000000000000" + }, + "body": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": false, + "hsmUri": null, + "provisioningState": "Provisioning", + "statusMessage": "Allocating hardware" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "name": "hsm1", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood" + } + } + }, + "200": { + "body": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": false, + "hsmUri": "https://westus.hsm1.managedhsm.azure.net", + "provisioningState": "Succeeded", + "statusMessage": "ManagedHsm is functional." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "name": "hsm1", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_Delete.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_Delete.json new file mode 100644 index 000000000000..ef27f0178be2 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "resourceGroupName": "hsm-group", + "name": "hsm1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://some.endpoint.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/managedHsmOperationResults/00000000-0000-0000-0000-000000000000" + } + }, + "204": {} + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_Get.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_Get.json new file mode 100644 index 000000000000..bd8e2f06c3be --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "resourceGroupName": "hsm-group", + "name": "hsm1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": false, + "hsmUri": "https://westus.hsm1.managedhsm.azure.net", + "provisioningState": "Succeeded", + "statusMessage": "ManagedHsm is functional." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "name": "hsm1", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood" + } + } + }, + "204": {} + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_ListByResourceGroup.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_ListByResourceGroup.json new file mode 100644 index 000000000000..b61a32175e5e --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_ListByResourceGroup.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "resourceGroupName": "hsm-group", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": false, + "hsmUri": "https://westus.hsm1.managedhsm.azure.net", + "provisioningState": "Succeeded", + "statusMessage": "ManagedHsm is functional." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "name": "hsm1", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood" + } + }, + { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": false, + "hsmUri": "https://westus.hsm2.managedhsm.azure.net", + "provisioningState": "Succeeded", + "statusMessage": "ManagedHsm is functional." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm2", + "name": "hsm2", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "production" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs?api-version=2024-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng==" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_ListBySubscription.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_ListBySubscription.json new file mode 100644 index 000000000000..ad076d16e946 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_ListBySubscription.json @@ -0,0 +1,67 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": false, + "hsmUri": "https://westus.hsm1.managedhsm.azure.net", + "provisioningState": "Succeeded", + "statusMessage": "ManagedHsm is functional." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "name": "hsm1", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood" + } + }, + { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": false, + "hsmUri": "https://westus.hsm2.managedhsm.azure.net", + "provisioningState": "Succeeded", + "statusMessage": "ManagedHsm is functional." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm2", + "name": "hsm2", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "production" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/managedHSMs?api-version=2024-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng==" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_ListPrivateEndpointConnectionsByResource.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_ListPrivateEndpointConnectionsByResource.json new file mode 100644 index 000000000000..7799fb533953 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_ListPrivateEndpointConnectionsByResource.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "name": "sample-mhsm", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedhsms/sample-mhsm/privateEndpointConnections/sample-pec1", + "name": "sample-pec1", + "type": "Microsoft.KeyVault/managedhsms/privateEndpointConnections", + "etag": "", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "This was automatically approved by user1234@contoso.com", + "actionsRequired": "None" + } + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedhsms/sample-mhsm/privateEndpointConnections/sample-pec2", + "name": "sample-pec2", + "type": "Microsoft.KeyVault/managedhsms/privateEndpointConnections", + "etag": "", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe2" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "This was automatically approved by user1234@contoso.com", + "actionsRequired": "None" + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_ListRegionsByResource.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_ListRegionsByResource.json new file mode 100644 index 000000000000..fe1234ddb630 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_ListRegionsByResource.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "name": "sample-mhsm", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "sample-region1", + "provisioningState": "Succeeded", + "isPrimary": true + }, + { + "name": "sample-region2", + "provisioningState": "Succeeded", + "isPrimary": false + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_Update.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_Update.json new file mode 100644 index 000000000000..40b86d961149 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_Update.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "resourceGroupName": "hsm-group", + "name": "hsm1", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview", + "parameters": { + "tags": { + "Dept": "hsm", + "Environment": "dogfood", + "Slice": "A" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": false, + "hsmUri": "https://westus.hsm1.managedhsm.azure.net", + "provisioningState": "Succeeded", + "statusMessage": "ManagedHsm is functional." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "name": "hsm1", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood", + "Slice": "A" + } + } + }, + "202": { + "headers": { + "Location": "https://some.endpoint.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/managedHsmOperationResults/00000000-0000-0000-0000-000000000000" + }, + "body": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "initialAdminObjectIds": [ + "00000000-0000-0000-0000-000000000000" + ], + "enableSoftDelete": true, + "softDeleteRetentionInDays": 90, + "enablePurgeProtection": false, + "hsmUri": "https://westus.hsm1.managedhsm.azure.net", + "provisioningState": "Updating", + "statusMessage": "ManagedHsm is updating." + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/hsm-group/providers/Microsoft.KeyVault/managedHSMs/hsm1", + "name": "hsm1", + "type": "Microsoft.KeyVault/managedHSMs", + "location": "westus", + "sku": { + "family": "B", + "name": "Standard_B1" + }, + "tags": { + "Dept": "hsm", + "Environment": "dogfood", + "Slice": "A" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_checkMhsmNameAvailability.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_checkMhsmNameAvailability.json new file mode 100644 index 000000000000..2f2b8f6c65c4 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_checkMhsmNameAvailability.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview", + "mhsmName": { + "name": "sample-mhsm" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_deletePrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_deletePrivateEndpointConnection.json new file mode 100644 index 000000000000..63a70c661626 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_deletePrivateEndpointConnection.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "name": "sample-mhsm", + "privateEndpointConnectionName": "sample-pec", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedhsms/sample-vault/privateEndpointConnections/sample-pec", + "name": "sample-pec", + "type": "Microsoft.KeyVault/managedhsms/privateEndpointConnections", + "properties": { + "provisioningState": "Disconnected" + } + } + }, + "202": { + "headers": { + "Location": "https://some.endpoint.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedhsms/sample-mhsm/privateEndpointConnections/sample-pec?operationid=25334578" + } + }, + "204": {} + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_getPrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_getPrivateEndpointConnection.json new file mode 100644 index 000000000000..f32bc7d43a83 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_getPrivateEndpointConnection.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "name": "sample-mhsm", + "privateEndpointConnectionName": "sample-pec", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedhsms/sample-mhsm/privateEndpointConnections/sample-pec", + "name": "sample-pec", + "type": "Microsoft.KeyVault/managedhsms/privateEndpointConnections", + "etag": "", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "This was automatically approved by user1234@contoso.com", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_listPrivateLinkResources.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_listPrivateLinkResources.json new file mode 100644 index 000000000000..46d062cffec9 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_listPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "name": "sample-mhsm", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/managedhsms/sample-mhsm/privateLinkResources/managedhsm", + "name": "managedhsm", + "type": "Microsoft.KeyVault/managedhsms/privateLinkResources", + "properties": { + "groupId": "managedhsms", + "requiredMembers": [ + "default" + ], + "requiredZoneNames": [ + "privatelink.managedhsm.azure.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_putPrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_putPrivateEndpointConnection.json new file mode 100644 index 000000000000..e2d595fd1ff0 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/ManagedHsm_putPrivateEndpointConnection.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "name": "sample-mhsm", + "privateEndpointConnectionName": "sample-pec", + "api-version": "2024-04-01-preview", + "properties": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "My name is Joe and I'm approving this." + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedhsms/sample-mhsm/privateEndpointConnections/sample-pec", + "name": "sample-pec", + "type": "Microsoft.KeyVault/managedhsms/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "My name is Joe and I'm approving this.", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/checkVaultNameAvailability.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/checkVaultNameAvailability.json new file mode 100644 index 000000000000..44535217abf3 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/checkVaultNameAvailability.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview", + "vaultName": { + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/createKey.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/createKey.json new file mode 100644 index 000000000000..6ce30954456c --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/createKey.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault-name", + "keyName": "sample-key-name", + "api-version": "2024-04-01-preview", + "parameters": { + "properties": { + "kty": "RSA" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault-name/keys/sample-key-name", + "name": "sample-key-name", + "type": "Microsoft.KeyVault/vaults/keys", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1598533051, + "updated": 1598533051, + "recoveryLevel": "Purgeable" + }, + "kty": "RSA", + "keyOps": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "keySize": 2048, + "keyUri": "https://sample-vault-name.vault.azure.net:443/keys/sample-key-name", + "keyUriWithVersion": "https://sample-vault-name.vault.azure.net:443/keys/sample-key-name/fd618d9519b74f9aae94ade66b876acc" + } + } + }, + "default": { + "headers": {}, + "body": { + "error": { + "code": "", + "message": "" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/createSecret.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/createSecret.json new file mode 100644 index 000000000000..436d19dc8fdc --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/createSecret.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "secretName": "secret-name", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview", + "parameters": { + "properties": { + "value": "secret-value" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name", + "name": "secret-name", + "type": "Microsoft.KeyVault/vaults/secrets", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1514938738, + "updated": 1514938738 + }, + "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name", + "secretUriWithVersion": "https:/sample-vault.vault.azure.net/secrets/secret-name/baf6de32c4774c7c81345f6476cf90a4" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name", + "name": "secret-name", + "type": "Microsoft.KeyVault/vaults/secrets", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1514938738, + "updated": 1514938738 + }, + "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name", + "secretUriWithVersion": "https:/sample-vault.vault.azure.net/secrets/secret-name/baf6de32c4774c7c81345f6476cf90a4" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/createVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/createVault.json new file mode 100644 index 000000000000..902c5e23008e --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/createVault.json @@ -0,0 +1,273 @@ +{ + "parameters": { + "resourceGroupName": "sample-resource-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview", + "parameters": { + "location": "westus", + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "sku": { + "family": "A", + "name": "standard" + }, + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "publicNetworkAccess": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "systemData": { + "createdBy": "keyVaultUser1", + "createdByType": "User", + "createdAt": "2020-01-01T12:00:00.0000000Z", + "lastModifiedBy": "keyVaultUser2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-01T12:00:00.0000000Z" + }, + "properties": { + "sku": { + "family": "A", + "name": "standard" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Deny", + "ipRules": [ + { + "value": "" + } + ], + "virtualNetworkRules": [ + { + "id": "", + "ignoreMissingVnetServiceEndpoint": false + } + ] + }, + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "privateEndpointConnections": [ + { + "id": "", + "etag": "", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "hsmPoolResourceId": "00000000-0000-0000-0000-000000000000", + "vaultUri": "https://sample-vault.vault.azure.net", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "systemData": { + "createdBy": "keyVaultUser1", + "createdByType": "User", + "createdAt": "2020-01-01T12:00:00.0000000Z", + "lastModifiedBy": "keyVaultUser2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-01T12:00:00.0000000Z" + }, + "properties": { + "sku": { + "family": "A", + "name": "standard" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "hsmPoolResourceId": "00000000-0000-0000-0000-000000000000", + "vaultUri": "https://sample-vault.vault.azure.net", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/createVaultWithNetworkAcls.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/createVaultWithNetworkAcls.json new file mode 100644 index 000000000000..e6a1664b52eb --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/createVaultWithNetworkAcls.json @@ -0,0 +1,132 @@ +{ + "parameters": { + "resourceGroupName": "sample-resource-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview", + "parameters": { + "location": "westus", + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "sku": { + "family": "A", + "name": "standard" + }, + "networkAcls": { + "defaultAction": "Deny", + "bypass": "AzureServices", + "ipRules": [ + { + "value": "124.56.78.91" + }, + { + "value": "'10.91.4.0/24'" + } + ], + "virtualNetworkRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1" + } + ] + }, + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "systemData": { + "createdBy": "keyVaultUser1", + "createdByType": "User", + "createdAt": "2020-01-01T12:00:00.0000000Z", + "lastModifiedBy": "keyVaultUser2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-01T12:00:00.0000000Z" + }, + "properties": { + "sku": { + "family": "A", + "name": "standard" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "networkAcls": { + "defaultAction": "Deny", + "bypass": "AzureServices", + "ipRules": [ + { + "value": "124.56.78.91/32" + }, + { + "value": "'10.91.4.0/24'" + } + ], + "virtualNetworkRules": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.network/virtualnetworks/test-vnet/subnets/subnet1" + } + ] + }, + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "hsmPoolResourceId": "00000000-0000-0000-0000-000000000000", + "vaultUri": "https://sample-vault.vault.azure.net" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "systemData": { + "createdBy": "keyVaultUser1", + "createdByType": "User", + "createdAt": "2020-01-01T12:00:00.0000000Z", + "lastModifiedBy": "keyVaultUser2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-01T12:00:00.0000000Z" + }, + "properties": { + "sku": { + "family": "A", + "name": "standard" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "networkAcls": { + "defaultAction": "Deny", + "bypass": "AzureServices", + "ipRules": [ + { + "value": "124.56.78.91/32" + }, + { + "value": "'10.91.4.0/24'" + } + ], + "virtualNetworkRules": [ + { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.network/virtualnetworks/test-vnet/subnets/subnet1" + } + ] + }, + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "hsmPoolResourceId": "00000000-0000-0000-0000-000000000000", + "vaultUri": "https://sample-vault.vault.azure.net" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/deletePrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/deletePrivateEndpointConnection.json new file mode 100644 index 000000000000..9e099a0a6cbc --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/deletePrivateEndpointConnection.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "privateEndpointConnectionName": "sample-pec", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec", + "name": "sample-pec", + "type": "Microsoft.KeyVault/vaults/privateEndpointConnections", + "properties": { + "provisioningState": "Disconnected" + } + } + }, + "202": { + "headers": { + "Retry-After": "60", + "Location": "https://some.endpoint.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec?operationid=25334578" + } + }, + "204": {} + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/deleteVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/deleteVault.json new file mode 100644 index 000000000000..a4b7861657f4 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/deleteVault.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "resourceGroupName": "sample-resource-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": {} + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getDeletedVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getDeletedVault.json new file mode 100644 index 000000000000..55ecc73f6d5f --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getDeletedVault.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "vaultName": "sample-vault", + "location": "westus", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": {}, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/deletedVaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/deletedVaults", + "properties": { + "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "location": "westus", + "tags": {}, + "deletionDate": "2017-01-01T00:00:59Z", + "scheduledPurgeDate": "2017-04-01T00:00:59Z", + "purgeProtectionEnabled": true + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getKey.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getKey.json new file mode 100644 index 000000000000..f1b28061fbb2 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getKey.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault-name", + "keyName": "sample-key-name", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault-name/keys/sample-key-name", + "name": "sample-key-name", + "type": "Microsoft.KeyVault/vaults/keys", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1598533051, + "updated": 1598533051, + "recoveryLevel": "Purgeable" + }, + "kty": "RSA", + "keyOps": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "keySize": 2048, + "keyUri": "https://sample-vault-name.vault.azure.net:443/keys/sample-key-name", + "keyUriWithVersion": "https://sample-vault-name.vault.azure.net:443/keys/sample-key-name/fd618d9519b74f9aae94ade66b876acc" + } + } + }, + "default": { + "headers": {}, + "body": { + "error": { + "code": "", + "message": "" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getKeyVersion.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getKeyVersion.json new file mode 100644 index 000000000000..c7b7edebbc17 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getKeyVersion.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault-name", + "keyName": "sample-key-name", + "keyVersion": "fd618d9519b74f9aae94ade66b876acc", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault-name/keys/sample-key-name/versions/fd618d9519b74f9aae94ade66b876acc", + "name": "fd618d9519b74f9aae94ade66b876acc", + "type": "Microsoft.KeyVault/vaults/keys/versions", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1598533051, + "updated": 1598533051, + "recoveryLevel": "Purgeable" + }, + "kty": "RSA", + "keyOps": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "keySize": 2048, + "keyUri": "https://sample-vault-name.vault.azure.net:443/keys/sample-key-name", + "keyUriWithVersion": "https://sample-vault-name.vault.azure.net:443/keys/sample-key-name/fd618d9519b74f9aae94ade66b876acc" + } + } + }, + "default": { + "headers": {}, + "body": { + "error": { + "code": "", + "message": "" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getNetworkSecurityPerimeterAssociationConfiguration.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getNetworkSecurityPerimeterAssociationConfiguration.json new file mode 100644 index 000000000000..1c6b7e989863 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getNetworkSecurityPerimeterAssociationConfiguration.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault-name", + "keyName": "sample-key-name", + "api-version": "2022-02-01-preview", + "associationProxy": "sample-association-name" + }, + "responses": { + "200": { + "body": { + "name": "0838c45c-28cb-4328-b120-8feb4a7e8699.sample-vault-eaa00d67-42fa-449a-a43f-0635227f6940", + "id": "/subscriptions/7331e83f-5157-4da5-bc69-75eac9c13958/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault-name/networkSecurityPerimeterConfigurations/0838c45c-28cb-4328-b120-8feb4a7e8699.sample-vault-name-eaa00d67-42fa-449a-a43f-0635227f6940", + "type": "Microsoft.KeyVault/vaults/networkSecurityPerimeterConfigurations", + "properties": { + "provisioningState": "Succeeded", + "networkSecurityPerimeter": { + "id": "/subscriptions/7331e83f-5157-4da5-bc69-75eac9c13958/resourcegroups/sample-group/providers/microsoft.network/networksecurityperimeters/sample-perimeter", + "perimeterGuid": "0838c45c-28cb-4328-b120-8feb4a7e8699", + "location": "centraluseuap" + }, + "resourceAssociation": { + "name": "sample-vault-name-eaa00d67-42fa-449a-a43f-0635227f6940", + "accessMode": "Learning" + }, + "profile": { + "name": "sample-profile", + "accessRulesVersion": 1, + "accessRules": [ + { + "name": "ipRules", + "properties": { + "direction": "Inbound", + "addressPrefixes": [ + "148.1.0.0/16" + ], + "fullyQualifiedDomainNames": [], + "subscriptions": [], + "networkSecurityPerimeters": [] + } + }, + { + "name": "subscriptionId", + "properties": { + "direction": "Inbound", + "addressPrefixes": [], + "fullyQualifiedDomainNames": [], + "subscriptions": [ + { + "id": "/subscriptions/7331e83f-5157-4da5-bc69-75eac9c13958" + } + ], + "networkSecurityPerimeters": [] + } + }, + { + "name": "fqdn", + "properties": { + "direction": "Outbound", + "addressPrefixes": [], + "fullyQualifiedDomainNames": [ + "www.contoso.com" + ], + "subscriptions": [], + "networkSecurityPerimeters": [] + } + } + ], + "diagnosticSettingsVersion": 0, + "enabledLogCategories": [ + "category1", + "category2" + ] + } + } + } + }, + "default": { + "headers": {}, + "body": { + "error": { + "code": "", + "message": "" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getPrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getPrivateEndpointConnection.json new file mode 100644 index 000000000000..0b4d79da325d --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getPrivateEndpointConnection.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "privateEndpointConnectionName": "sample-pec", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec", + "name": "sample-pec", + "type": "Microsoft.KeyVault/vaults/privateEndpointConnections", + "etag": "", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "This was automatically approved by user1234@contoso.com", + "actionsRequired": "None" + } + } + } + }, + "204": { + "headers": {} + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getSecret.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getSecret.json new file mode 100644 index 000000000000..68cab7e952e8 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getSecret.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "secretName": "secret-name", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name", + "name": "secret-name", + "type": "Microsoft.KeyVault/vaults/secrets", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1514940950, + "updated": 1514940950 + }, + "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name", + "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/77445834f7de41bab81d0723bf996860" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getVault.json new file mode 100644 index 000000000000..9173a26dabcb --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/getVault.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "resourceGroupName": "sample-resource-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "systemData": { + "createdBy": "keyVaultUser1", + "createdByType": "User", + "createdAt": "2020-01-01T12:00:00.0000000Z", + "lastModifiedBy": "keyVaultUser2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-01T12:00:00.0000000Z" + }, + "properties": { + "sku": { + "family": "A", + "name": "standard" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "hsmPoolResourceId": "00000000-0000-0000-0000-000000000000", + "vaultUri": "https://sample-vault.vault.azure.net", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listDeletedVaults.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listDeletedVaults.json new file mode 100644 index 000000000000..ccbff3be8aeb --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listDeletedVaults.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "$top": 1, + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/locations/westus/deletedVaults/sample-vault", + "name": "vault-agile-drawer-6404", + "type": "Microsoft.KeyVault/deletedVaults", + "properties": { + "vaultId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "location": "westus", + "tags": {}, + "deletionDate": "2017-01-01T00:00:59Z", + "scheduledPurgeDate": "2017-04-01T00:00:59Z", + "purgeProtectionEnabled": true + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.KeyVault/deletedVaults?api-version=2024-04-01-preview&%24skiptoken=HY3RaoMwAEX%2fRcbeYhJrnRXKYNWOuqpME0sfNcYui0Yxade19N8ne7hcDlzOvVuKX81eKKmt4G4dooLQwgqsL2NGHUDYV6o68Z4rY1e388RtNvRQn2vNJjEaMSgNvcbneMUcsKg8BFwft8DndQ0w9hu2QOiFLRs4TsNFNHzSMBFsGvTQGvuD%2f5bVuTOw4R03vPkH%2fVqNAlzm5SxfOwh7ACOA8POTlvPjILlaU1ke8jImOc23JCppQVfZnna0DXc4ISc3vSVuRo5zJE6%2bj25C3vwk2v2kEV2mMn7PyOc1DbtNGkonnzuLym1G400uI5QRZj0efw%3d%3d" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listKeyVersions.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listKeyVersions.json new file mode 100644 index 000000000000..b52a4e8e730b --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listKeyVersions.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault-name", + "keyName": "sample-key-name", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault-name/keys/sample-key-name/versions/c2296aa24acf4daf86942bff5aca73dd", + "name": "c2296aa24acf4daf86942bff5aca73dd", + "type": "Microsoft.KeyVault/vaults/keys/versions", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1598641074, + "updated": 1598641074, + "recoveryLevel": "Purgeable" + }, + "keyUri": "https://sample-vault-name.vault.azure.net:443/keys/sample-key-name", + "keyUriWithVersion": "https://sample-vault-name.vault.azure.net:443/keys/sample-key-name/c2296aa24acf4daf86942bff5aca73dd" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault-name/keys/sample-key-name/versions/d5a04667b6f44b0ca62825f5eae93da6", + "name": "d5a04667b6f44b0ca62825f5eae93da6", + "type": "Microsoft.KeyVault/vaults/keys/versions", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1598641295, + "updated": 1598641295, + "recoveryLevel": "Purgeable" + }, + "keyUri": "https://sample-vault-name.vault.azure.net:443/keys/sample-key-name", + "keyUriWithVersion": "https://sample-vault-name.vault.azure.net:443/keys/sample-key-name/d5a04667b6f44b0ca62825f5eae93da6" + } + } + ] + } + }, + "default": { + "headers": {}, + "body": { + "error": { + "code": "", + "message": "" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listKeys.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listKeys.json new file mode 100644 index 000000000000..47e8fe9c98b1 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listKeys.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault-name", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault-name/keys/sample-key-name-1", + "name": "sample-key-name-1", + "type": "Microsoft.KeyVault/vaults/keys", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1596493796, + "updated": 1596493796, + "recoveryLevel": "Purgeable" + }, + "keyUri": "https://sample-vault-name.vault.azure.net:443/keys/sample-key-name-1" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault-name/keys/sample-key-name-2", + "name": "sample-key-name-2", + "type": "Microsoft.KeyVault/vaults/keys", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1596493797, + "updated": 1596493797, + "recoveryLevel": "Purgeable" + }, + "keyUri": "https://sample-vault-name.vault.azure.net:443/keys/sample-key-name-2" + } + } + ] + } + }, + "default": { + "headers": {}, + "body": { + "error": { + "code": "", + "message": "" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listNetworkSecurityPerimeterAssociationConfiguration.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listNetworkSecurityPerimeterAssociationConfiguration.json new file mode 100644 index 000000000000..4805c1c90a90 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listNetworkSecurityPerimeterAssociationConfiguration.json @@ -0,0 +1,92 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault-name", + "keyName": "sample-key-name", + "api-version": "2022-02-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "0838c45c-28cb-4328-b120-8feb4a7e8699.sample-vault-eaa00d67-42fa-449a-a43f-0635227f6940", + "id": "/subscriptions/7331e83f-5157-4da5-bc69-75eac9c13958/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault-name/networkSecurityPerimeterConfigurations/0838c45c-28cb-4328-b120-8feb4a7e8699.sample-vault-name-eaa00d67-42fa-449a-a43f-0635227f6940", + "type": "Microsoft.KeyVault/vaults/networkSecurityPerimeterConfigurations", + "properties": { + "provisioningState": "Succeeded", + "networkSecurityPerimeter": { + "id": "/subscriptions/7331e83f-5157-4da5-bc69-75eac9c13958/resourcegroups/sample-group/providers/microsoft.network/networksecurityperimeters/sample-perimeter", + "perimeterGuid": "0838c45c-28cb-4328-b120-8feb4a7e8699", + "location": "centraluseuap" + }, + "resourceAssociation": { + "name": "sample-vault-name-eaa00d67-42fa-449a-a43f-0635227f6940", + "accessMode": "Learning" + }, + "profile": { + "name": "sample-profile", + "accessRulesVersion": 1, + "accessRules": [ + { + "name": "ipRules", + "properties": { + "direction": "Inbound", + "addressPrefixes": [ + "148.1.0.0/16" + ], + "fullyQualifiedDomainNames": [], + "subscriptions": [], + "networkSecurityPerimeters": [] + } + }, + { + "name": "subscriptionId", + "properties": { + "direction": "Inbound", + "addressPrefixes": [], + "fullyQualifiedDomainNames": [], + "subscriptions": [ + { + "id": "/subscriptions/7331e83f-5157-4da5-bc69-75eac9c13958" + } + ], + "networkSecurityPerimeters": [] + } + }, + { + "name": "fqdn", + "properties": { + "direction": "Outbound", + "addressPrefixes": [], + "fullyQualifiedDomainNames": [ + "www.contoso.com" + ], + "subscriptions": [], + "networkSecurityPerimeters": [] + } + } + ], + "diagnosticSettingsVersion": 0, + "enabledLogCategories": [ + "category1", + "category2" + ] + } + } + } + ] + } + }, + "default": { + "headers": {}, + "body": { + "error": { + "code": "", + "message": "" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listOperations.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listOperations.json new file mode 100644 index 000000000000..542b6fb31b1c --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listOperations.json @@ -0,0 +1,332 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.KeyVault/vaults/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault", + "operation": "View Key Vault", + "description": "View the properties of a key vault" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/vaults/write", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault", + "operation": "Update Key Vault", + "description": "Create a new key vault or update the properties of an existing key vault" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/vaults/delete", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault", + "operation": "Delete Key Vault", + "description": "Delete a key vault" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/vaults/deploy/action", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault", + "operation": "Use Vault for Azure Deployments", + "description": "Enables access to secrets in a key vault when deploying Azure resources" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/vaults/secrets/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Secret", + "operation": "View Secret Properties", + "description": "View the properties of a secret, but not its value" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/vaults/secrets/write", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Secret", + "operation": "Update Secret", + "description": "Create a new secret or update the value of an existing secret" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/vaults/accessPolicies/write", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Access Policy", + "operation": "Update Access Policy", + "description": "Update an existing access policy by merging or replacing, or add a new access policy to a vault." + }, + "isDataAction": false + }, + { + "origin": "system", + "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/logDefinitions/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault Log Definition", + "operation": "Read log definition", + "description": "Gets the available logs for a key vault" + }, + "isDataAction": false, + "properties": { + "serviceSpecification": { + "logSpecifications": [ + { + "name": "AuditEvent", + "displayName": "Audit Logs", + "blobDuration": "PT1H" + } + ], + "metricSpecifications": [ + { + "name": "ServiceApiHit", + "displayName": "", + "displayDescription": "", + "unit": "", + "aggregationType": "", + "supportedAggregationTypes": [ + "" + ], + "supportedTimeGrainTypes": [ + "" + ], + "lockAggregationType": "", + "dimensions": [ + { + "name": "ActivityType", + "displayName": "", + "toBeExportedForShoebox": true + }, + { + "name": "ActivityName", + "displayName": "", + "toBeExportedForShoebox": true + } + ], + "fillGapWithZero": false, + "internalMetricName": "AuditEvent" + } + ] + } + } + }, + { + "origin": "system", + "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/diagnosticSettings/Read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault Diagnostic Settings", + "operation": "Read diagnostic setting", + "description": "Gets the diagnostic setting for the resource" + }, + "isDataAction": false + }, + { + "origin": "system", + "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/diagnosticSettings/Write", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault Diagnostic Settings", + "operation": "Write diagnostic setting", + "description": "Creates or updates the diagnostic setting for the resource" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/register/action", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Subscription", + "operation": "Register Subscription", + "description": "Registers a subscription" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/unregister/action", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Subscription", + "operation": "Unregister Subscription", + "description": "Unregisters a subscription" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/operations/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Operations", + "operation": "Available Key Vault Operations", + "description": "Lists operations available on Microsoft.KeyVault resource provider" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/checkNameAvailability/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Name Availability", + "operation": "Check Name Availability", + "description": "Checks that a key vault name is valid and is not in use" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/deletedVaults/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Soft Deleted Key Vault", + "operation": "View Soft Deleted Vaults", + "description": "View the properties of soft deleted key vaults" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/locations/deletedVaults/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Soft Deleted Key Vault", + "operation": "View Soft Deleted Key Vault", + "description": "View the properties of a soft deleted key vault" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/locations/deletedVaults/purge/action", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Soft Deleted Key Vault", + "operation": "Purge Soft Deleted Key Vault", + "description": "Purge a soft deleted key vault" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/locations/operationResults/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Long Run Operation Result", + "operation": "Check Operation Result", + "description": "Check the result of a long run operation" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/hsmPools/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "HSM pool", + "operation": "View HSM pool", + "description": "View the properties of an HSM pool" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/hsmPools/write", + "display": { + "provider": "Microsoft Key Vault", + "resource": "HSM pool", + "operation": "Create or Update HSM pool", + "description": "Create a new HSM pool of update the properties of an existing HSM pool" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/hsmPools/delete", + "display": { + "provider": "Microsoft Key Vault", + "resource": "HSM pool", + "operation": "Delete HSM pool", + "description": "Delete an HSM pool" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/hsmPools/joinVault/action", + "display": { + "provider": "Microsoft Key Vault", + "resource": "HSM pool", + "operation": "Join KeyVault to HSM pool", + "description": "Join a key vault to an HSM pool" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/managedHSMs/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Managed HSM", + "operation": "View Managed HSM", + "description": "View the properties of a Managed HSM" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/managedHSMs/write", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Managed HSM", + "operation": "Create or Update Managed HSM", + "description": "Create a new Managed HSM of update the properties of an existing Managed HSM" + }, + "isDataAction": false + }, + { + "name": "Microsoft.KeyVault/managedHSMs/delete", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Managed HSM", + "operation": "Delete Managed HSM", + "description": "Delete a Managed HSM" + }, + "isDataAction": false + }, + { + "origin": "system", + "name": "Microsoft.KeyVault/vaults/providers/Microsoft.Insights/metricDefinitions/read", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Key Vault Metric Definition", + "operation": "Read metric definition", + "description": "Gets the available metrics for a key vault" + }, + "isDataAction": false, + "properties": { + "serviceSpecification": {} + } + }, + { + "origin": "system", + "name": "Microsoft.KeyVault/locations/deleteVirtualNetworkOrSubnets/action", + "display": { + "provider": "Microsoft Key Vault", + "resource": "Location", + "operation": "Modify Network ACLs containing the deleted Vitual Network or Subnet ", + "description": "Notifies Microsoft.KeyVault that a virtual network or subnet is being deleted" + }, + "isDataAction": false + } + ] + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listPrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listPrivateEndpointConnection.json new file mode 100644 index 000000000000..a7bc52c79160 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listPrivateEndpointConnection.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec", + "name": "sample-pec", + "type": "Microsoft.KeyVault/vaults/privateEndpointConnections", + "etag": "", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "This was automatically approved by user1234@contoso.com", + "actionsRequired": "None" + } + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec", + "name": "sample-pec", + "type": "Microsoft.KeyVault/vaults/privateEndpointConnections", + "etag": "", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "This was automatically approved by user1234@contoso.com", + "actionsRequired": "None" + } + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listPrivateLinkResources.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listPrivateLinkResources.json new file mode 100644 index 000000000000..80c6c76f1c32 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listPrivateLinkResources.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateLinkResources/vault", + "name": "vault", + "type": "Microsoft.KeyVault/vaults/privateLinkResources", + "properties": { + "groupId": "vault", + "requiredMembers": [ + "default" + ], + "requiredZoneNames": [ + "privatelink.vaultcore.azure.net" + ] + } + } + ] + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listSecrets.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listSecrets.json new file mode 100644 index 000000000000..6d224835bdee --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listSecrets.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name", + "name": "secret-name", + "type": "Microsoft.KeyVault/vaults/secrets", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1514941476, + "updated": 1514941476 + }, + "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name", + "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/40af42fbc10047f8a756a73211492f56" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name2", + "name": "secret-name2", + "type": "Microsoft.KeyVault/vaults/secrets", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1514941476, + "updated": 1514941476 + }, + "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name2", + "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name2/cd7264a6f56c44d1b594423c80609aae" + } + } + ] + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listVault.json new file mode 100644 index 000000000000..3397baaa9f83 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listVault.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "$filter": "resourceType eq 'Microsoft.KeyVault/vaults'", + "$top": 1, + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2015-11-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {} + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?%24filter=resourceType+eq+%27Microsoft.KeyVault%2fvaults%27&%24top=4&api-version=2015-11-01&%24skiptoken=eyJuZXh0UGFydGl0aW9uS2V5IjoiMSE4IVEwTTJNVGMtIiwibmV4dFJvd0tleSI6IjEhMTMyIU5rUTRSVEU1UXpJelFUWXdORGd4UmpoRlFrSXhNVGhFUXpNd01EZEROVVJmVkVkT1RDMU5TVU5TVDFOUFJsUTZNa1ZMUlZsV1FWVk1WRG95UmxaQlZVeFVVeTFUVTFKSExVcEpUVG95UkZSRlUxUTZNa1JXUVZWTVZDMVhSVk5VVlZNLSJ9" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listVaultByResourceGroup.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listVaultByResourceGroup.json new file mode 100644 index 000000000000..79e2a53ee3f6 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listVaultByResourceGroup.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "$top": 1, + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "systemData": { + "createdBy": "keyVaultUser1", + "createdByType": "User", + "createdAt": "2020-01-01T12:00:00.0000000Z", + "lastModifiedBy": "keyVaultUser2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-01T12:00:00.0000000Z" + }, + "properties": { + "sku": { + "family": "A", + "name": "premium" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "enableSoftDelete": true, + "hsmPoolResourceId": "00000000-0000-0000-0000-000000000000", + "vaultUri": "https://sample-vault.vault.azure.net/", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults?api-version=2024-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng==" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listVaultBySubscription.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listVaultBySubscription.json new file mode 100644 index 000000000000..b8ad4da188ca --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/listVaultBySubscription.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "$top": 1, + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "systemData": { + "createdBy": "keyVaultUser1", + "createdByType": "User", + "createdAt": "2020-01-01T12:00:00.0000000Z", + "lastModifiedBy": "keyVaultUser2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-01T12:00:00.0000000Z" + }, + "properties": { + "sku": { + "family": "A", + "name": "premium" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "enableSoftDelete": true, + "hsmPoolResourceId": "00000000-0000-0000-0000-000000000000", + "vaultUri": "https://sample-vault.vault.azure.net/", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resources?api-version=22024-04-01-preview&$skiptoken=dmF1bHQtcGVza3ktanVyeS03MzA3Ng==" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/managedHsmCreateKey.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/managedHsmCreateKey.json new file mode 100644 index 000000000000..0c8ab7fe2c39 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/managedHsmCreateKey.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "name": "sample-managedhsm-name", + "keyName": "sample-key-name", + "api-version": "2024-04-01-preview", + "parameters": { + "properties": { + "kty": "RSA" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedHSMs/sample-managedhsm-name/keys/sample-key-name", + "name": "sample-key-name", + "type": "Microsoft.KeyVault/managedHSMs/keys", + "properties": { + "attributes": { + "enabled": true, + "created": 1598533051, + "updated": 1598533051, + "recoveryLevel": "Purgeable" + }, + "kty": "RSA", + "keyOps": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "keySize": 2048, + "keyUri": "https://sample-managedhsm-name.managedhsm.azure.net:443/keys/sample-key-name", + "keyUriWithVersion": "https://sample-managedhsm-name.managedhsm.azure.net:443/keys/sample-key-name/fd618d9519b74f9aae94ade66b876acc" + } + } + }, + "default": { + "headers": {}, + "body": { + "error": { + "code": "", + "message": "" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/managedHsmGetKey.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/managedHsmGetKey.json new file mode 100644 index 000000000000..364aef747644 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/managedHsmGetKey.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "name": "sample-managedhsm-name", + "keyName": "sample-key-name", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedHSMs/sample-managedhsm-name/keys/sample-key-name", + "name": "sample-key-name", + "type": "Microsoft.KeyVault/managedHSMs/keys", + "properties": { + "attributes": { + "enabled": true, + "created": 1598533051, + "updated": 1598533051, + "recoveryLevel": "Purgeable" + }, + "kty": "RSA", + "keyOps": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "keySize": 2048, + "keyUri": "https://sample-managedhsm-name.managedhsm.azure.net:443/keys/sample-key-name", + "keyUriWithVersion": "https://sample-managedhsm-name.managedhsm.azure.net:443/keys/sample-key-name/fd618d9519b74f9aae94ade66b876acc" + } + } + }, + "default": { + "headers": {}, + "body": { + "error": { + "code": "", + "message": "" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/managedHsmGetKeyVersion.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/managedHsmGetKeyVersion.json new file mode 100644 index 000000000000..8f713a0d9830 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/managedHsmGetKeyVersion.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "name": "sample-managedhsm-name", + "keyName": "sample-key-name", + "keyVersion": "fd618d9519b74f9aae94ade66b876acc", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedHSMs/sample-managedhsm-name/keys/sample-key-name/versions/fd618d9519b74f9aae94ade66b876acc", + "name": "fd618d9519b74f9aae94ade66b876acc", + "type": "Microsoft.KeyVault/managedHSMs/keys/versions", + "properties": { + "attributes": { + "enabled": true, + "created": 1598533051, + "updated": 1598533051, + "recoveryLevel": "Purgeable" + }, + "kty": "RSA", + "keyOps": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey" + ], + "keySize": 2048, + "keyUri": "https://sample-managedhsm-name.managedhsm.azure.net:443/keys/sample-key-name", + "keyUriWithVersion": "https://sample-managedhsm-name.managedhsm.azure.net:443/keys/sample-key-name/fd618d9519b74f9aae94ade66b876acc" + } + } + }, + "default": { + "headers": {}, + "body": { + "error": { + "code": "", + "message": "" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/managedHsmListKeyVersions.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/managedHsmListKeyVersions.json new file mode 100644 index 000000000000..e0d953c1fee6 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/managedHsmListKeyVersions.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "name": "sample-managedhsm-name", + "keyName": "sample-key-name", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedHSMs/sample-managedhsm-name/keys/sample-key-name/versions/c2296aa24acf4daf86942bff5aca73dd", + "name": "c2296aa24acf4daf86942bff5aca73dd", + "type": "Microsoft.KeyVault/managedHSMs/keys/versions", + "properties": { + "attributes": { + "enabled": true, + "created": 1598641074, + "updated": 1598641074, + "recoveryLevel": "Purgeable" + }, + "keyUri": "https://sample-managedhsm-name.managedhsm.azure.net:443/keys/sample-key-name", + "keyUriWithVersion": "https://sample-managedhsm-name.managedhsm.azure.net:443/keys/sample-key-name/c2296aa24acf4daf86942bff5aca73dd" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedHSMs/sample-managedhsm-name/keys/sample-key-name/versions/d5a04667b6f44b0ca62825f5eae93da6", + "name": "d5a04667b6f44b0ca62825f5eae93da6", + "type": "Microsoft.KeyVault/managedHSMs/keys/versions", + "properties": { + "attributes": { + "enabled": true, + "created": 1598641295, + "updated": 1598641295, + "recoveryLevel": "Purgeable" + }, + "keyUri": "https://sample-managedhsm-name.managedhsm.azure.net:443/keys/sample-key-name", + "keyUriWithVersion": "https://sample-managedhsm-name.managedhsm.azure.net:443/keys/sample-key-name/d5a04667b6f44b0ca62825f5eae93da6" + } + } + ] + } + }, + "default": { + "headers": {}, + "body": { + "error": { + "code": "", + "message": "" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/managedHsmListKeys.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/managedHsmListKeys.json new file mode 100644 index 000000000000..04ff6206b8de --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/managedHsmListKeys.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "name": "sample-managedhsm-name", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedHSMs/sample-managedhsm-name/keys/sample-key-name-1", + "name": "sample-key-name-1", + "type": "Microsoft.KeyVault/managedHSMs/keys", + "properties": { + "attributes": { + "enabled": true, + "created": 1596493796, + "updated": 1596493796, + "recoveryLevel": "Purgeable" + }, + "keyUri": "https://sample-managedhsm-name.managedhsm.azure.net:443/keys/sample-key-name-1" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/managedHSMs/sample-managedhsm-name/keys/sample-key-name-2", + "name": "sample-key-name-2", + "type": "Microsoft.KeyVault/managedHSMs/keys", + "properties": { + "attributes": { + "enabled": true, + "created": 1596493797, + "updated": 1596493797, + "recoveryLevel": "Purgeable" + }, + "keyUri": "https://sample-managedhsm-name.managedhsm.azure.net:443/keys/sample-key-name-2" + } + } + ] + } + }, + "default": { + "headers": {}, + "body": { + "error": { + "code": "", + "message": "" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/purgeDeletedVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/purgeDeletedVault.json new file mode 100644 index 000000000000..2b0cd6269481 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/purgeDeletedVault.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "vaultName": "sample-vault", + "location": "westus", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": {} + }, + "202": { + "headers": { + "Location": "https://some.endpoint.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/kv-group/providers/Microsoft.KeyVault/vaults/vault1?api-version=2024-04-01-preview" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/putPrivateEndpointConnection.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/putPrivateEndpointConnection.json new file mode 100644 index 000000000000..52a2cda55e14 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/putPrivateEndpointConnection.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "privateEndpointConnectionName": "sample-pec", + "api-version": "2024-04-01-preview", + "properties": { + "etag": "", + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "My name is Joe and I'm approving this." + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/privateEndpointConnections/sample-pec", + "name": "sample-pec", + "type": "Microsoft.KeyVault/vaults/privateEndpointConnections", + "etag": "", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-1234-000000000000/resourceGroups/sample-group/providers/Microsoft.Network/privateEndpoints/sample-pe" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "My name is Joe and I'm approving this.", + "actionsRequired": "None" + } + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/updateAccessPoliciesAdd.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/updateAccessPoliciesAdd.json new file mode 100644 index 000000000000..1ee1acd2f1ba --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/updateAccessPoliciesAdd.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "operationKind": "add", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview", + "parameters": { + "properties": { + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt" + ], + "secrets": [ + "get" + ], + "certificates": [ + "get" + ] + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/accessPolicies/", + "type": "Microsoft.KeyVault/vaults/accessPolicies", + "properties": { + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt" + ], + "secrets": [ + "get" + ], + "certificates": [ + "get" + ] + } + } + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/accessPolicies/", + "type": "Microsoft.KeyVault/vaults/accessPolicies", + "properties": { + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt" + ], + "secrets": [ + "get" + ], + "certificates": [ + "get" + ] + } + } + ] + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/updateSecret.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/updateSecret.json new file mode 100644 index 000000000000..c577dfb4e9e4 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/updateSecret.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "resourceGroupName": "sample-group", + "vaultName": "sample-vault", + "secretName": "secret-name", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview", + "parameters": { + "properties": { + "value": "secret-value2" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name", + "name": "secret-name", + "type": "Microsoft.KeyVault/vaults/secrets", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1514940684, + "updated": 1514940698 + }, + "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name", + "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/b8c802f549764f2d97885d152f92ee9d" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-group/providers/Microsoft.KeyVault/vaults/sample-vault/secrets/secret-name", + "name": "secret-name", + "type": "Microsoft.KeyVault/vaults/secrets", + "location": "westus", + "properties": { + "attributes": { + "enabled": true, + "created": 1514940684, + "updated": 1514940698 + }, + "secretUri": "https://sample-vault.vault.azure.net/secrets/secret-name", + "secretUriWithVersion": "https://sample-vault.vault.azure.net/secrets/secret-name/b8c802f549764f2d97885d152f92ee9d" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/updateVault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/updateVault.json new file mode 100644 index 000000000000..6a1372a2f951 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/examples/updateVault.json @@ -0,0 +1,271 @@ +{ + "parameters": { + "resourceGroupName": "sample-resource-group", + "vaultName": "sample-vault", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "api-version": "2024-04-01-preview", + "parameters": { + "properties": { + "tenantId": "00000000-0000-0000-0000-000000000000", + "sku": { + "family": "A", + "name": "standard" + }, + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "publicNetworkAccess": "Enabled" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "systemData": { + "createdBy": "keyVaultUser1", + "createdByType": "User", + "createdAt": "2020-01-01T12:00:00.0000000Z", + "lastModifiedBy": "keyVaultUser2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-01T12:00:00.0000000Z" + }, + "properties": { + "sku": { + "family": "A", + "name": "standard" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "networkAcls": { + "bypass": "AzureServices", + "defaultAction": "Deny", + "ipRules": [ + { + "value": "" + } + ], + "virtualNetworkRules": [ + { + "id": "", + "ignoreMissingVnetServiceEndpoint": false + } + ] + }, + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "privateEndpointConnections": [ + { + "id": "", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "hsmPoolResourceId": "00000000-0000-0000-0000-000000000000", + "vaultUri": "https://sample-vault.vault.azure.net", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-resource-group/providers/Microsoft.KeyVault/vaults/sample-vault", + "name": "sample-vault", + "type": "Microsoft.KeyVault/vaults", + "location": "westus", + "tags": {}, + "systemData": { + "createdBy": "keyVaultUser1", + "createdByType": "User", + "createdAt": "2020-01-01T12:00:00.0000000Z", + "lastModifiedBy": "keyVaultUser2", + "lastModifiedByType": "User", + "lastModifiedAt": "2020-01-01T12:00:00.0000000Z" + }, + "properties": { + "sku": { + "family": "A", + "name": "standard" + }, + "tenantId": "00000000-0000-0000-0000-000000000000", + "accessPolicies": [ + { + "tenantId": "00000000-0000-0000-0000-000000000000", + "objectId": "00000000-0000-0000-0000-000000000000", + "permissions": { + "keys": [ + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "secrets": [ + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "certificates": [ + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge" + ] + } + } + ], + "enabledForDeployment": true, + "enabledForDiskEncryption": true, + "enabledForTemplateDeployment": true, + "hsmPoolResourceId": "00000000-0000-0000-0000-000000000000", + "vaultUri": "https://sample-vault.vault.azure.net", + "provisioningState": "Succeeded", + "publicNetworkAccess": "Enabled" + } + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/keys.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/keys.json new file mode 100644 index 000000000000..7d3040e33574 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/keys.json @@ -0,0 +1,672 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-04-01-preview", + "title": "KeyVaultManagementClient", + "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys/{keyName}": { + "put": { + "tags": [ + "Keys" + ], + "operationId": "Keys_CreateIfNotExist", + "description": "Creates the first version of a new key if it does not exist. If it already exists, then the existing key is returned without any write operations being performed. This API does not create subsequent versions, and does not update existing keys.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group which contains the specified key vault." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "The name of the key vault which contains the key to be created." + }, + { + "name": "keyName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$", + "description": "The name of the key to be created. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/KeyCreateParameters" + }, + "description": "The parameters used to create the specified key." + } + ], + "responses": { + "200": { + "description": "The created key.", + "schema": { + "$ref": "#/definitions/Key" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a key": { + "$ref": "./examples/createKey.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "Keys" + ], + "operationId": "Keys_Get", + "description": "Gets the current version of the specified key from the specified key vault.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group which contains the specified key vault." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "The name of the vault which contains the key to be retrieved." + }, + { + "name": "keyName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$", + "description": "The name of the key to be retrieved." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved key.", + "schema": { + "$ref": "#/definitions/Key" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a key": { + "$ref": "./examples/getKey.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys": { + "get": { + "tags": [ + "Keys" + ], + "operationId": "Keys_List", + "description": "Lists the keys in the specified key vault.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group which contains the specified key vault." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "The name of the vault which contains the keys to be retrieved." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved page of keys.", + "schema": { + "$ref": "#/definitions/KeyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List keys in the vault": { + "$ref": "./examples/listKeys.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys/{keyName}/versions/{keyVersion}": { + "get": { + "tags": [ + "Keys" + ], + "operationId": "Keys_GetVersion", + "description": "Gets the specified version of the specified key in the specified key vault.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group which contains the specified key vault." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "The name of the vault which contains the key version to be retrieved." + }, + { + "name": "keyName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$", + "description": "The name of the key version to be retrieved." + }, + { + "name": "keyVersion", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-fA-F0-9]{32}$", + "description": "The version of the key to be retrieved." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved key version.", + "schema": { + "$ref": "#/definitions/Key" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a key version": { + "$ref": "./examples/getKeyVersion.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/keys/{keyName}/versions": { + "get": { + "tags": [ + "Keys" + ], + "operationId": "Keys_ListVersions", + "description": "Lists the versions of the specified key in the specified key vault.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group which contains the specified key vault." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "The name of the vault which contains the key versions to be retrieved." + }, + { + "name": "keyName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$", + "description": "The name of the key versions to be retrieved." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved page of key versions.", + "schema": { + "$ref": "#/definitions/KeyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List key versions in the vault": { + "$ref": "./examples/listKeyVersions.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "definitions": { + "KeyProperties": { + "properties": { + "attributes": { + "$ref": "#/definitions/KeyAttributes", + "description": "The attributes of the key." + }, + "kty": { + "type": "string", + "minLength": 1, + "description": "The type of the key. For valid values, see JsonWebKeyType.", + "enum": [ + "EC", + "EC-HSM", + "RSA", + "RSA-HSM" + ], + "x-ms-enum": { + "name": "JsonWebKeyType", + "modelAsString": true + } + }, + "keyOps": { + "type": "array", + "items": { + "type": "string", + "description": "The permitted JSON web key operations of the key. For more information, see JsonWebKeyOperation.", + "enum": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey", + "import", + "release" + ], + "x-ms-enum": { + "name": "JsonWebKeyOperation", + "modelAsString": true + } + } + }, + "keySize": { + "type": "integer", + "format": "int32", + "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA." + }, + "curveName": { + "type": "string", + "description": "The elliptic curve name. For valid values, see JsonWebKeyCurveName.", + "enum": [ + "P-256", + "P-384", + "P-521", + "P-256K" + ], + "x-ms-enum": { + "name": "JsonWebKeyCurveName", + "modelAsString": true + } + }, + "keyUri": { + "type": "string", + "description": "The URI to retrieve the current version of the key.", + "readOnly": true + }, + "keyUriWithVersion": { + "type": "string", + "description": "The URI to retrieve the specific version of the key.", + "readOnly": true + }, + "rotationPolicy": { + "$ref": "#/definitions/RotationPolicy", + "description": "Key rotation policy in response. It will be used for both output and input. Omitted if empty" + }, + "release_policy": { + "$ref": "#/definitions/KeyReleasePolicy", + "description": "Key release policy in response. It will be used for both output and input. Omitted if empty" + } + }, + "description": "The properties of the key.", + "type": "object" + }, + "KeyAttributes": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Determines whether or not the object is enabled." + }, + "nbf": { + "x-ms-client-name": "NotBefore", + "type": "integer", + "format": "int64", + "description": "Not before date in seconds since 1970-01-01T00:00:00Z." + }, + "exp": { + "x-ms-client-name": "Expires", + "type": "integer", + "format": "int64", + "description": "Expiry date in seconds since 1970-01-01T00:00:00Z." + }, + "created": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Creation time in seconds since 1970-01-01T00:00:00Z." + }, + "updated": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Last updated time in seconds since 1970-01-01T00:00:00Z." + }, + "recoveryLevel": { + "type": "string", + "description": "The deletion recovery level currently in effect for the object. If it contains 'Purgeable', then the object can be permanently deleted by a privileged user; otherwise, only the system can purge the object at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true + }, + "readOnly": true, + "x-nullable": false + }, + "exportable": { + "type": "boolean", + "description": "Indicates if the private key can be exported.", + "default": false + } + }, + "description": "The object attributes managed by the Azure Key Vault service.", + "type": "object" + }, + "KeyCreateParameters": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags that will be assigned to the key." + }, + "properties": { + "$ref": "#/definitions/KeyProperties", + "description": "The properties of the key to be created." + } + }, + "description": "The parameters used to create a key.", + "required": [ + "properties" + ], + "x-ms-azure-resource": true, + "type": "object" + }, + "Key": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/KeyProperties", + "description": "The properties of the key." + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "./keyvault.json#/definitions/Resource" + } + ], + "description": "The key resource.", + "type": "object" + }, + "KeyListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Key" + }, + "description": "The key resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next page of keys." + } + }, + "description": "The page of keys.", + "type": "object" + }, + "RotationPolicy": { + "properties": { + "attributes": { + "$ref": "#/definitions/KeyRotationPolicyAttributes", + "description": "The attributes of key rotation policy." + }, + "lifetimeActions": { + "type": "array", + "items": { + "$ref": "#/definitions/LifetimeAction" + }, + "x-ms-identifiers": [], + "description": "The lifetimeActions for key rotation action." + } + }, + "type": "object" + }, + "KeyRotationPolicyAttributes": { + "properties": { + "created": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Creation time in seconds since 1970-01-01T00:00:00Z." + }, + "updated": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Last updated time in seconds since 1970-01-01T00:00:00Z." + }, + "expiryTime": { + "type": "string", + "description": "The expiration time for the new key version. It should be in ISO8601 format. Eg: 'P90D', 'P1Y'." + } + }, + "type": "object" + }, + "LifetimeAction": { + "properties": { + "trigger": { + "$ref": "#/definitions/Trigger", + "description": "The trigger of key rotation policy lifetimeAction." + }, + "action": { + "$ref": "#/definitions/Action", + "description": "The action of key rotation policy lifetimeAction." + } + }, + "type": "object" + }, + "Trigger": { + "properties": { + "timeAfterCreate": { + "type": "string", + "description": "The time duration after key creation to rotate the key. It only applies to rotate. It will be in ISO 8601 duration format. Eg: 'P90D', 'P1Y'." + }, + "timeBeforeExpiry": { + "type": "string", + "description": "The time duration before key expiring to rotate or notify. It will be in ISO 8601 duration format. Eg: 'P90D', 'P1Y'." + } + }, + "type": "object" + }, + "Action": { + "properties": { + "type": { + "type": "string", + "description": "The type of action.", + "enum": [ + "rotate", + "notify" + ], + "x-ms-enum": { + "name": "KeyRotationPolicyActionType", + "modelAsString": false + } + } + }, + "type": "object" + }, + "KeyReleasePolicy": { + "properties": { + "contentType": { + "description": "Content type and version of key release policy", + "type": "string", + "default": "application/json; charset=utf-8" + }, + "data": { + "description": "Blob encoding the policy rules under which the key can be released.", + "type": "string", + "format": "base64url" + } + }, + "type": "object" + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials which uniquely identify 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." + } + }, + "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/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/keysManagedHsm.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/keysManagedHsm.json new file mode 100644 index 000000000000..1c1030efc672 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/keysManagedHsm.json @@ -0,0 +1,651 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-04-01-preview", + "title": "KeyVaultManagementClient", + "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/keys/{keyName}": { + "put": { + "tags": [ + "ManagedHsmKeys" + ], + "operationId": "ManagedHsmKeys_CreateIfNotExist", + "description": "Creates the first version of a new key if it does not exist. If it already exists, then the existing key is returned without any write operations being performed. This API does not create subsequent versions, and does not update existing keys.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ManagedHSMName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/ManagedHSMKeyName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedHsmKeyCreateParameters" + }, + "description": "The parameters used to create the specified key." + } + ], + "responses": { + "200": { + "description": "The created key.", + "schema": { + "$ref": "#/definitions/ManagedHsmKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a key": { + "$ref": "./examples/managedHsmCreateKey.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "ManagedHsmKeys" + ], + "operationId": "ManagedHsmKeys_Get", + "description": "Gets the current version of the specified key from the specified managed HSM.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ManagedHSMName" + }, + { + "$ref": "#/parameters/ManagedHSMKeyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved key.", + "schema": { + "$ref": "#/definitions/ManagedHsmKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a key": { + "$ref": "./examples/managedHsmGetKey.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/keys": { + "get": { + "tags": [ + "ManagedHsmKeys" + ], + "operationId": "ManagedHsmKeys_List", + "description": "Lists the keys in the specified managed HSM.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ManagedHSMName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved page of keys.", + "schema": { + "$ref": "#/definitions/ManagedHsmKeyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List keys in the managed HSM": { + "$ref": "./examples/managedHsmListKeys.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/keys/{keyName}/versions/{keyVersion}": { + "get": { + "tags": [ + "ManagedHsmKeys" + ], + "operationId": "ManagedHsmKeys_GetVersion", + "description": "Gets the specified version of the specified key in the specified managed HSM.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ManagedHSMName" + }, + { + "$ref": "#/parameters/ManagedHSMKeyName" + }, + { + "$ref": "#/parameters/ManagedHSMKeyVersion" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved key version.", + "schema": { + "$ref": "#/definitions/ManagedHsmKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a key version": { + "$ref": "./examples/managedHsmGetKeyVersion.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/keys/{keyName}/versions": { + "get": { + "tags": [ + "ManagedHsmKeys" + ], + "operationId": "ManagedHsmKeys_ListVersions", + "description": "Lists the versions of the specified key in the specified managed HSM.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ManagedHSMName" + }, + { + "$ref": "#/parameters/ManagedHSMKeyName" + }, + { + "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The retrieved page of key versions.", + "schema": { + "$ref": "#/definitions/ManagedHsmKeyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List key versions in the managed HSM": { + "$ref": "./examples/managedHsmListKeyVersions.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "definitions": { + "ManagedHsmKeyProperties": { + "properties": { + "attributes": { + "$ref": "#/definitions/ManagedHsmKeyAttributes", + "description": "The attributes of the key." + }, + "kty": { + "type": "string", + "minLength": 1, + "description": "The type of the key. For valid values, see JsonWebKeyType.", + "enum": [ + "EC", + "EC-HSM", + "RSA", + "RSA-HSM" + ], + "x-ms-enum": { + "name": "JsonWebKeyType", + "modelAsString": true + } + }, + "keyOps": { + "type": "array", + "items": { + "type": "string", + "description": "The permitted JSON web key operations of the key. For more information, see JsonWebKeyOperation.", + "enum": [ + "encrypt", + "decrypt", + "sign", + "verify", + "wrapKey", + "unwrapKey", + "import", + "release" + ], + "x-ms-enum": { + "name": "JsonWebKeyOperation", + "modelAsString": true + } + } + }, + "keySize": { + "type": "integer", + "format": "int32", + "description": "The key size in bits. For example: 2048, 3072, or 4096 for RSA." + }, + "curveName": { + "type": "string", + "description": "The elliptic curve name. For valid values, see JsonWebKeyCurveName.", + "enum": [ + "P-256", + "P-384", + "P-521", + "P-256K" + ], + "x-ms-enum": { + "name": "JsonWebKeyCurveName", + "modelAsString": true + } + }, + "keyUri": { + "type": "string", + "description": "The URI to retrieve the current version of the key.", + "readOnly": true + }, + "keyUriWithVersion": { + "type": "string", + "description": "The URI to retrieve the specific version of the key.", + "readOnly": true + }, + "rotationPolicy": { + "$ref": "#/definitions/ManagedHsmRotationPolicy", + "description": "Key rotation policy in response. It will be used for both output and input. Omitted if empty" + }, + "release_policy": { + "$ref": "#/definitions/ManagedHsmKeyReleasePolicy", + "description": "Key release policy in response. It will be used for both output and input. Omitted if empty" + } + }, + "description": "The properties of the key.", + "type": "object" + }, + "ManagedHsmKeyAttributes": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Determines whether or not the object is enabled." + }, + "nbf": { + "x-ms-client-name": "NotBefore", + "type": "integer", + "format": "int64", + "description": "Not before date in seconds since 1970-01-01T00:00:00Z." + }, + "exp": { + "x-ms-client-name": "Expires", + "type": "integer", + "format": "int64", + "description": "Expiry date in seconds since 1970-01-01T00:00:00Z." + }, + "created": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Creation time in seconds since 1970-01-01T00:00:00Z." + }, + "updated": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Last updated time in seconds since 1970-01-01T00:00:00Z." + }, + "recoveryLevel": { + "type": "string", + "description": "The deletion recovery level currently in effect for the object. If it contains 'Purgeable', then the object can be permanently deleted by a privileged user; otherwise, only the system can purge the object at the end of the retention interval.", + "enum": [ + "Purgeable", + "Recoverable+Purgeable", + "Recoverable", + "Recoverable+ProtectedSubscription" + ], + "x-ms-enum": { + "name": "DeletionRecoveryLevel", + "modelAsString": true + }, + "readOnly": true, + "x-nullable": false + }, + "exportable": { + "type": "boolean", + "description": "Indicates if the private key can be exported." + } + }, + "description": "The object attributes managed by the Azure Key Vault service.", + "type": "object" + }, + "ManagedHsmKeyCreateParameters": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags that will be assigned to the key." + }, + "properties": { + "$ref": "#/definitions/ManagedHsmKeyProperties", + "description": "The properties of the key to be created." + } + }, + "description": "The parameters used to create a key.", + "required": [ + "properties" + ], + "x-ms-azure-resource": true, + "type": "object" + }, + "ManagedHsmKey": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ManagedHsmKeyProperties", + "description": "The properties of the key." + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "#/definitions/ProxyResourceWithoutSystemData" + } + ], + "description": "The key resource.", + "type": "object" + }, + "ManagedHsmKeyListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedHsmKey" + }, + "description": "The key resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next page of keys." + } + }, + "description": "The page of keys.", + "type": "object" + }, + "ManagedHsmRotationPolicy": { + "properties": { + "attributes": { + "$ref": "#/definitions/ManagedHsmKeyRotationPolicyAttributes", + "description": "The attributes of key rotation policy." + }, + "lifetimeActions": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedHsmLifetimeAction" + }, + "x-ms-identifiers": [], + "description": "The lifetimeActions for key rotation action." + } + }, + "type": "object" + }, + "ManagedHsmKeyRotationPolicyAttributes": { + "properties": { + "created": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Creation time in seconds since 1970-01-01T00:00:00Z." + }, + "updated": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "Last updated time in seconds since 1970-01-01T00:00:00Z." + }, + "expiryTime": { + "type": "string", + "description": "The expiration time for the new key version. It should be in ISO8601 format. Eg: 'P90D', 'P1Y'." + } + }, + "type": "object" + }, + "ManagedHsmLifetimeAction": { + "properties": { + "trigger": { + "$ref": "#/definitions/ManagedHsmTrigger", + "description": "The trigger of key rotation policy lifetimeAction." + }, + "action": { + "$ref": "#/definitions/ManagedHsmAction", + "description": "The action of key rotation policy lifetimeAction." + } + }, + "type": "object" + }, + "ManagedHsmTrigger": { + "properties": { + "timeAfterCreate": { + "type": "string", + "description": "The time duration after key creation to rotate the key. It only applies to rotate. It will be in ISO 8601 duration format. Eg: 'P90D', 'P1Y'." + }, + "timeBeforeExpiry": { + "type": "string", + "description": "The time duration before key expiring to rotate or notify. It will be in ISO 8601 duration format. Eg: 'P90D', 'P1Y'." + } + }, + "type": "object" + }, + "ManagedHsmAction": { + "properties": { + "type": { + "type": "string", + "description": "The type of action.", + "enum": [ + "rotate", + "notify" + ], + "x-ms-enum": { + "name": "KeyRotationPolicyActionType", + "modelAsString": false + } + } + }, + "type": "object" + }, + "ManagedHsmKeyReleasePolicy": { + "properties": { + "contentType": { + "description": "Content type and version of key release policy", + "type": "string", + "default": "application/json; charset=utf-8" + }, + "data": { + "description": "Blob encoding the policy rules under which the key can be released.", + "type": "string", + "format": "base64url" + } + }, + "type": "object" + }, + "ProxyResourceWithoutSystemData": { + "title": "Resource", + "description": "Common fields that are returned in the response for all Azure Resource Manager resources", + "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" + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags." + } + }, + "x-ms-azure-resource": true + } + }, + "parameters": { + "ManagedHSMName": { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Managed HSM Pool within the specified resource group.", + "pattern": "^[A-Za-z]([A-Za-z0-9]|\\-[A-Za-z0-9])+$", + "maxLength": 24, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "ManagedHSMKeyName": { + "name": "keyName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$", + "description": "The name of the key to be created. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information.", + "x-ms-parameter-location": "method" + }, + "ManagedHSMKeyVersion": { + "name": "keyVersion", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-fA-F0-9]{32}$", + "description": "The version of the key to be retrieved.", + "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" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/keyvault.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/keyvault.json new file mode 100644 index 000000000000..e29b9e4757b8 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/keyvault.json @@ -0,0 +1,2186 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-04-01-preview", + "title": "KeyVaultManagementClient", + "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}": { + "put": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_CreateOrUpdate", + "x-ms-long-running-operation": true, + "description": "Create or update a key vault in the specified subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the server belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "Name of the vault" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VaultCreateOrUpdateParameters" + }, + "description": "Parameters to create or update the vault" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created or updated vault", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "200": { + "description": "Created or updated vault", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a new vault or update an existing vault": { + "$ref": "./examples/createVault.json" + }, + "Create or update a vault with network acls": { + "$ref": "./examples/createVaultWithNetworkAcls.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "patch": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_Update", + "description": "Update a key vault in the specified subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the server belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "Name of the vault" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VaultPatchParameters" + }, + "description": "Parameters to patch the vault" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Patched vault", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "200": { + "description": "Patched vault", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update an existing vault": { + "$ref": "./examples/updateVault.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "delete": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_Delete", + "description": "Deletes the specified Azure key vault.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vault to delete" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK Response." + }, + "204": { + "description": "No Content." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete a vault": { + "$ref": "./examples/deleteVault.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_Get", + "description": "Gets the specified Azure key vault.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vault." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved vault", + "schema": { + "$ref": "#/definitions/Vault" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Retrieve a vault": { + "$ref": "./examples/getVault.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/accessPolicies/{operationKind}": { + "put": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_UpdateAccessPolicy", + "description": "Update access policies in a key vault in the specified subscription.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "Name of the vault" + }, + { + "name": "operationKind", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "add", + "replace", + "remove" + ], + "x-ms-enum": { + "name": "AccessPolicyUpdateKind", + "modelAsString": false + }, + "description": "Name of the operation" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VaultAccessPolicyParameters" + }, + "description": "Access policy to merge into the vault" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "The updated access policies", + "schema": { + "$ref": "#/definitions/VaultAccessPolicyParameters" + } + }, + "200": { + "description": "The updated access policies", + "schema": { + "$ref": "#/definitions/VaultAccessPolicyParameters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Add an access policy, or update an access policy with new permissions": { + "$ref": "./examples/updateAccessPoliciesAdd.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_ListByResourceGroup", + "description": "The List operation gets information about the vaults associated with the subscription and within the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "Maximum number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get information about all key vaults in the specified resource group.", + "schema": { + "$ref": "#/definitions/VaultListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List vaults in the specified resource group": { + "$ref": "./examples/listVaultByResourceGroup.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/vaults": { + "get": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_ListBySubscription", + "description": "The List operation gets information about the vaults associated with the subscription.", + "parameters": [ + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "Maximum number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get information about all key vaults in the specified subscription.", + "schema": { + "$ref": "#/definitions/VaultListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List vaults in the specified subscription": { + "$ref": "./examples/listVaultBySubscription.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedVaults": { + "get": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_ListDeleted", + "description": "Gets information about the deleted vaults in a subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved information about all deleted key vaults in a subscription.", + "schema": { + "$ref": "#/definitions/DeletedVaultListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List deleted vaults in the specified subscription": { + "$ref": "./examples/listDeletedVaults.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}": { + "get": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_GetDeleted", + "description": "Gets the deleted Azure key vault.", + "parameters": [ + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vault." + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the deleted vault." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved information about the deleted vault.", + "schema": { + "$ref": "#/definitions/DeletedVault" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Retrieve a deleted vault": { + "$ref": "./examples/getDeletedVault.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedVaults/{vaultName}/purge": { + "post": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_PurgeDeleted", + "x-ms-long-running-operation": true, + "description": "Permanently deletes the specified vault. aka Purges the deleted Azure key vault.", + "parameters": [ + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the soft-deleted vault." + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the soft-deleted vault." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "The vault is purged." + }, + "202": { + "description": "Vault is being purged." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Purge a deleted vault": { + "$ref": "./examples/purgeDeletedVault.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resources": { + "get": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_List", + "description": "The List operation gets information about the vaults associated with the subscription.", + "parameters": [ + { + "name": "$filter", + "in": "query", + "required": true, + "type": "string", + "enum": [ + "resourceType eq 'Microsoft.KeyVault/vaults'" + ], + "x-ms-enum": { + "name": "VaultListFilterTypes", + "modelAsString": false + }, + "description": "The filter to apply on the operation." + }, + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "Maximum number of results to return." + }, + { + "name": "api-version", + "in": "query", + "required": true, + "x-ms-api-version": false, + "type": "string", + "enum": [ + "2015-11-01" + ], + "x-ms-enum": { + "name": "ResourceManagerApiVersions", + "modelAsString": false + }, + "description": "Azure Resource Manager Api Version." + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get information about all key vaults in the subscription.", + "schema": { + "$ref": "#/definitions/ResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List vaults in the specified subscription": { + "$ref": "./examples/listVault.json" + } + }, + "produces": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkNameAvailability": { + "post": { + "tags": [ + "Vaults" + ], + "operationId": "Vaults_CheckNameAvailability", + "description": "Checks that the vault name is valid and is not already in use.", + "parameters": [ + { + "name": "vaultName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VaultCheckNameAvailabilityParameters" + }, + "description": "The name of the vault." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the vault name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Validate a vault name": { + "$ref": "./examples/checkVaultNameAvailability.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the key vault.", + "x-ms-examples": { + "KeyVaultGetPrivateEndpointConnection": { + "$ref": "./examples/getPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Private endpoint connection successfully returned.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "204": { + "description": "The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Put", + "description": "Updates the specified private endpoint connection associated with the key vault.", + "x-ms-examples": { + "KeyVaultPutPrivateEndpointConnection": { + "$ref": "./examples/putPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The intended state of private endpoint connection." + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "The state of private endpoint connection was updated successfully.", + "headers": { + "Retry-After": { + "description": "(specified only if operation does not finish synchronously) The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Azure-AsyncOperation": { + "description": "(specified only if operation does not finish synchronously) The URI to poll for completion status. The response of this URI may be synchronous or asynchronous.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_Delete", + "description": "Deletes the specified private endpoint connection associated with the key vault.", + "x-ms-examples": { + "KeyVaultDeletePrivateEndpointConnection": { + "$ref": "./examples/deletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/PrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "The private endpoint connection was successfully deleted.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "202": { + "description": "The private endpoint connection is being deleted.", + "headers": { + "Retry-After": { + "description": "The recommended number of seconds to wait before calling the URI specified in the location header.", + "type": "integer", + "format": "int32" + }, + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "204": { + "description": "The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "operationId": "PrivateEndpointConnections_ListByResource", + "description": "The List operation gets information about the private endpoint connections associated with the vault.", + "x-ms-examples": { + "KeyVaultListPrivateEndpointConnection": { + "$ref": "./examples/listPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Get information about all private endpoint connections in the specified resource group.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionListResult" + } + }, + "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.KeyVault/vaults/{vaultName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "operationId": "PrivateLinkResources_ListByVault", + "description": "Gets the private link resources supported for the key vault.", + "x-ms-examples": { + "KeyVaultListPrivateLinkResources": { + "$ref": "./examples/listPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/networkSecurityPerimeterConfigurations": { + "get": { + "tags": [ + "NetworkSecurityPerimeterConfiguration" + ], + "operationId": "NetworkSecurityPerimeter_ListConfiguration", + "description": "The List operation gets information about the network security perimeter associations for the key vault.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Get information about the network security perimeter associations of the key vault.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": null + }, + "x-ms-examples": { + "KeyVaultListNetworkSecurityPerimeterAssociationConfigurations": { + "$ref": "./examples/listNetworkSecurityPerimeterAssociationConfiguration.json" + } + }, + "produces": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/networkSecurityPerimeterConfigurations/{associationProxyName}": { + "get": { + "tags": [ + "NetworkSecurityPerimeterConfiguration" + ], + "operationId": "NetworkSecurityPerimeter_GetConfiguration", + "description": "The Get operation gets information about the network security perimeter associations for the key vault.", + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/VaultName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/AssociationProxyNameParameter" + } + ], + "responses": { + "200": { + "description": "Get information about the network security perimeter associations of the key vault.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/networksecurityperimeter.json#/definitions/NetworkSecurityPerimeterConfiguration" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "KeyVaultGetNetworkSecurityPerimeterAssociationConfiguration": { + "$ref": "./examples/getNetworkSecurityPerimeterAssociationConfiguration.json" + } + }, + "produces": [ + "application/json" + ] + } + } + }, + "definitions": { + "Sku": { + "properties": { + "family": { + "type": "string", + "description": "SKU family name", + "enum": [ + "A" + ], + "x-ms-client-default": "A", + "x-ms-enum": { + "name": "SkuFamily", + "modelAsString": true + } + }, + "name": { + "type": "string", + "description": "SKU name to specify whether the key vault is a standard vault or a premium vault.", + "enum": [ + "standard", + "premium" + ], + "x-ms-enum": { + "name": "SkuName", + "modelAsString": false + } + } + }, + "description": "SKU details", + "required": [ + "name", + "family" + ], + "type": "object" + }, + "AccessPolicyEntry": { + "properties": { + "tenantId": { + "type": "string", + "format": "uuid", + "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault." + }, + "objectId": { + "type": "string", + "description": "The object ID of a user, service principal or security group in the Azure Active Directory tenant for the vault. The object ID must be unique for the list of access policies." + }, + "applicationId": { + "type": "string", + "format": "uuid", + "description": " Application ID of the client making request on behalf of a principal" + }, + "permissions": { + "$ref": "#/definitions/Permissions", + "description": "Permissions the identity has for keys, secrets and certificates." + } + }, + "description": "An identity that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID.", + "required": [ + "tenantId", + "objectId", + "permissions" + ], + "type": "object" + }, + "Permissions": { + "properties": { + "keys": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "all", + "encrypt", + "decrypt", + "wrapKey", + "unwrapKey", + "sign", + "verify", + "get", + "list", + "create", + "update", + "import", + "delete", + "backup", + "restore", + "recover", + "purge", + "release", + "rotate", + "getrotationpolicy", + "setrotationpolicy" + ], + "x-ms-enum": { + "name": "KeyPermissions", + "modelAsString": true + } + }, + "description": "Permissions to keys" + }, + "secrets": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "all", + "get", + "list", + "set", + "delete", + "backup", + "restore", + "recover", + "purge" + ], + "x-ms-enum": { + "name": "SecretPermissions", + "modelAsString": true + } + }, + "description": "Permissions to secrets" + }, + "certificates": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "all", + "get", + "list", + "delete", + "create", + "import", + "update", + "managecontacts", + "getissuers", + "listissuers", + "setissuers", + "deleteissuers", + "manageissuers", + "recover", + "purge", + "backup", + "restore" + ], + "x-ms-enum": { + "name": "CertificatePermissions", + "modelAsString": true + } + }, + "description": "Permissions to certificates" + }, + "storage": { + "type": "array", + "items": { + "type": "string", + "enum": [ + "all", + "get", + "list", + "delete", + "set", + "update", + "regeneratekey", + "recover", + "purge", + "backup", + "restore", + "setsas", + "listsas", + "getsas", + "deletesas" + ], + "x-ms-enum": { + "name": "StoragePermissions", + "modelAsString": true + } + }, + "description": "Permissions to storage accounts" + } + }, + "description": "Permissions the identity has for keys, secrets, certificates and storage.", + "type": "object" + }, + "VaultProperties": { + "properties": { + "tenantId": { + "type": "string", + "format": "uuid", + "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU details" + }, + "accessPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessPolicyEntry" + }, + "x-ms-identifiers": [ + "tenantId", + "objectId", + "permissions" + ], + "description": "An array of 0 to 1024 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID. When `createMode` is set to `recover`, access policies are not required. Otherwise, access policies are required." + }, + "vaultUri": { + "type": "string", + "description": "The URI of the vault for performing operations on keys and secrets." + }, + "hsmPoolResourceId": { + "type": "string", + "description": "The resource id of HSM Pool.", + "readOnly": true + }, + "enabledForDeployment": { + "type": "boolean", + "description": "Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault." + }, + "enabledForDiskEncryption": { + "type": "boolean", + "description": "Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys." + }, + "enabledForTemplateDeployment": { + "type": "boolean", + "description": "Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault." + }, + "enableSoftDelete": { + "type": "boolean", + "default": true, + "description": "Property to specify whether the 'soft delete' functionality is enabled for this key vault. If it's not set to any value(true or false) when creating new key vault, it will be set to true by default. Once set to true, it cannot be reverted to false." + }, + "softDeleteRetentionInDays": { + "type": "integer", + "format": "int32", + "default": 90, + "description": "softDelete data retention days. It accepts >=7 and <=90." + }, + "enableRbacAuthorization": { + "type": "boolean", + "default": false, + "description": "Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the vault is created with the default value of false. Note that management actions are always authorized with RBAC." + }, + "createMode": { + "type": "string", + "description": "The vault's create mode to indicate whether the vault need to be recovered or not.", + "enum": [ + "recover", + "default" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": false + }, + "x-ms-mutability": [ + "create", + "update" + ] + }, + "enablePurgeProtection": { + "type": "boolean", + "description": "Property specifying whether protection against purge is enabled for this vault. Setting this property to true activates protection against purge for this vault and its content - only the Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible - that is, the property does not accept false as its value." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "Rules governing the accessibility of the key vault from specific network locations." + }, + "provisioningState": { + "type": "string", + "description": "Provisioning state of the vault.", + "enum": [ + "Succeeded", + "RegisteringDns" + ], + "x-ms-enum": { + "name": "VaultProvisioningState", + "modelAsString": true + } + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnectionItem" + }, + "description": "List of private endpoint connections associated with the key vault." + }, + "publicNetworkAccess": { + "type": "string", + "default": "enabled", + "description": "Property to specify whether the vault will accept traffic from public internet. If set to 'disabled' all traffic except private endpoint traffic and that that originates from trusted services will be blocked. This will override the set firewall rules, meaning that even if the firewall rules are present we will not honor the rules." + } + }, + "required": [ + "tenantId", + "sku" + ], + "description": "Properties of the vault", + "type": "object" + }, + "VaultPatchProperties": { + "properties": { + "tenantId": { + "type": "string", + "format": "uuid", + "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the key vault." + }, + "sku": { + "$ref": "#/definitions/Sku", + "description": "SKU details" + }, + "accessPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessPolicyEntry" + }, + "x-ms-identifiers": [ + "tenantId", + "objectId", + "permissions" + ], + "description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID." + }, + "enabledForDeployment": { + "type": "boolean", + "description": "Property to specify whether Azure Virtual Machines are permitted to retrieve certificates stored as secrets from the key vault." + }, + "enabledForDiskEncryption": { + "type": "boolean", + "description": "Property to specify whether Azure Disk Encryption is permitted to retrieve secrets from the vault and unwrap keys." + }, + "enabledForTemplateDeployment": { + "type": "boolean", + "description": "Property to specify whether Azure Resource Manager is permitted to retrieve secrets from the key vault." + }, + "enableSoftDelete": { + "type": "boolean", + "description": "Property to specify whether the 'soft delete' functionality is enabled for this key vault. Once set to true, it cannot be reverted to false." + }, + "enableRbacAuthorization": { + "type": "boolean", + "description": "Property that controls how data actions are authorized. When true, the key vault will use Role Based Access Control (RBAC) for authorization of data actions, and the access policies specified in vault properties will be ignored. When false, the key vault will use the access policies specified in vault properties, and any policy stored on Azure Resource Manager will be ignored. If null or not specified, the value of this property will not change." + }, + "softDeleteRetentionInDays": { + "type": "integer", + "format": "int32", + "description": "softDelete data retention days. It accepts >=7 and <=90." + }, + "createMode": { + "type": "string", + "description": "The vault's create mode to indicate whether the vault need to be recovered or not.", + "enum": [ + "recover", + "default" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": false + } + }, + "enablePurgeProtection": { + "type": "boolean", + "description": "Property specifying whether protection against purge is enabled for this vault. Setting this property to true activates protection against purge for this vault and its content - only the Key Vault service may initiate a hard, irrecoverable deletion. The setting is effective only if soft delete is also enabled. Enabling this functionality is irreversible - that is, the property does not accept false as its value." + }, + "networkAcls": { + "$ref": "#/definitions/NetworkRuleSet", + "description": "A collection of rules governing the accessibility of the vault from specific network locations." + }, + "publicNetworkAccess": { + "type": "string", + "description": "Property to specify whether the vault will accept traffic from public internet. If set to 'disabled' all traffic except private endpoint traffic and that that originates from trusted services will be blocked. This will override the set firewall rules, meaning that even if the firewall rules are present we will not honor the rules. If set to 'SecuredByPerimeter' then only network security perimeter rules will apply; trusted services will not be allowed through." + } + }, + "description": "Properties of the vault", + "type": "object" + }, + "VaultAccessPolicyProperties": { + "properties": { + "accessPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/AccessPolicyEntry" + }, + "x-ms-identifiers": [ + "tenantId", + "objectId", + "permissions" + ], + "description": "An array of 0 to 16 identities that have access to the key vault. All identities in the array must use the same tenant ID as the key vault's tenant ID." + } + }, + "required": [ + "accessPolicies" + ], + "description": "Properties of the vault access policy", + "type": "object" + }, + "DeletedVaultProperties": { + "properties": { + "vaultId": { + "readOnly": true, + "type": "string", + "description": "The resource id of the original vault." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "The location of the original vault." + }, + "deletionDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The deleted date." + }, + "scheduledPurgeDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The scheduled purged date." + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags of the original vault." + }, + "purgeProtectionEnabled": { + "readOnly": true, + "type": "boolean", + "description": "Purge protection status of the original vault." + } + }, + "description": "Properties of the deleted vault.", + "type": "object" + }, + "VaultCreateOrUpdateParameters": { + "properties": { + "location": { + "type": "string", + "description": "The supported Azure location where the key vault should be created." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags that will be assigned to the key vault." + }, + "properties": { + "$ref": "#/definitions/VaultProperties", + "description": "Properties of the vault" + } + }, + "description": "Parameters for creating or updating a vault", + "required": [ + "location", + "properties" + ], + "x-ms-azure-resource": true, + "type": "object" + }, + "VaultPatchParameters": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags that will be assigned to the key vault. " + }, + "properties": { + "$ref": "#/definitions/VaultPatchProperties", + "description": "Properties of the vault" + } + }, + "description": "Parameters for creating or updating a vault", + "x-ms-azure-resource": true, + "type": "object" + }, + "VaultAccessPolicyParameters": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource id of the access policy." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The resource name of the access policy." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource name of the access policy." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "The resource type of the access policy." + }, + "properties": { + "$ref": "#/definitions/VaultAccessPolicyProperties", + "description": "Properties of the access policy" + } + }, + "description": "Parameters for updating the access policy in a vault", + "required": [ + "properties" + ], + "x-ms-azure-resource": true, + "type": "object" + }, + "Vault": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified identifier of the key vault resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the key vault resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type of the key vault resource." + }, + "location": { + "type": "string", + "description": "Azure location of the key vault resource." + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags assigned to the key vault resource." + }, + "systemData": { + "description": "System metadata for the key vault.", + "$ref": "common.json#/definitions/SystemData" + }, + "properties": { + "$ref": "#/definitions/VaultProperties", + "description": "Properties of the vault" + } + }, + "required": [ + "properties" + ], + "description": "Resource information with extended details.", + "x-ms-azure-resource": true, + "type": "object" + }, + "DeletedVault": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The resource ID for the deleted key vault." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the key vault." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type of the key vault." + }, + "properties": { + "$ref": "#/definitions/DeletedVaultProperties", + "description": "Properties of the vault" + } + }, + "description": "Deleted vault information with extended details.", + "type": "object" + }, + "VaultListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Vault" + }, + "description": "The list of vaults." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of vaults." + } + }, + "description": "List of vaults", + "type": "object" + }, + "DeletedVaultListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedVault" + }, + "description": "The list of deleted vaults." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of deleted vaults." + } + }, + "description": "List of vaults", + "type": "object" + }, + "ResourceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Resource" + }, + "description": "The list of vault resources." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of vault resources." + } + }, + "description": "List of vault resources.", + "type": "object" + }, + "Resource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Fully qualified identifier of the key vault resource." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "Name of the key vault resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type of the key vault resource." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "Azure location of the key vault resource." + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags assigned to the key vault resource." + } + }, + "description": "Key Vault resource", + "x-ms-azure-resource": true, + "type": "object" + }, + "VaultCheckNameAvailabilityParameters": { + "properties": { + "name": { + "type": "string", + "description": "The vault name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.KeyVault/vaults" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": false + }, + "description": "The type of resource, Microsoft.KeyVault/vaults" + } + }, + "required": [ + "name", + "type" + ], + "description": "The parameters used to check the availability of the vault name.", + "type": "object" + }, + "CheckNameAvailabilityResult": { + "properties": { + "nameAvailable": { + "readOnly": true, + "type": "boolean", + "description": "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": "The reason that a vault 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": "An error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response.", + "type": "object" + }, + "NetworkRuleSet": { + "properties": { + "bypass": { + "type": "string", + "description": "Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the default is 'AzureServices'.", + "enum": [ + "AzureServices", + "None" + ], + "x-ms-enum": { + "name": "NetworkRuleBypassOptions", + "modelAsString": true + } + }, + "defaultAction": { + "type": "string", + "description": "The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "NetworkRuleAction", + "modelAsString": true + } + }, + "ipRules": { + "type": "array", + "items": { + "$ref": "#/definitions/IPRule" + }, + "description": "The list of IP address rules." + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkRule" + }, + "x-ms-identifiers": [ + "id" + ], + "description": "The list of virtual network rules." + } + }, + "description": "A set of rules governing the network accessibility of a vault.", + "type": "object" + }, + "IPRule": { + "properties": { + "value": { + "type": "string", + "description": "An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78)." + } + }, + "required": [ + "value" + ], + "description": "A rule governing the accessibility of a vault from a specific ip address or ip range.", + "type": "object" + }, + "VirtualNetworkRule": { + "properties": { + "id": { + "type": "string", + "description": "Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'." + }, + "ignoreMissingVnetServiceEndpoint": { + "type": "boolean", + "description": "Property to specify whether NRP will ignore the check if parent subnet has serviceEndpoints configured." + } + }, + "required": [ + "id" + ], + "description": "A rule governing the accessibility of a vault from a specific virtual network.", + "type": "object" + }, + "PrivateEndpointConnectionItem": { + "properties": { + "id": { + "type": "string", + "description": "Id of private endpoint connection." + }, + "etag": { + "type": "string", + "description": "Modified whenever there is a change in the state of private endpoint connection." + }, + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Private endpoint connection properties." + } + }, + "description": "Private endpoint connection item.", + "type": "object" + }, + "PrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + }, + "etag": { + "type": "string", + "description": "Modified whenever there is a change in the state of private endpoint connection." + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "Private endpoint connection resource.", + "x-ms-azure-resource": true, + "type": "object" + }, + "PrivateEndpointConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "description": "The list of private endpoint connections." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of private endpoint connections." + } + }, + "description": "List of private endpoint connections.", + "type": "object" + }, + "PrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "Properties of the private endpoint object." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "Approval state of the private link connection." + }, + "provisioningState": { + "$ref": "#/definitions/PrivateEndpointConnectionProvisioningState", + "description": "Provisioning state of the private endpoint connection." + } + }, + "description": "Properties of the private endpoint connection resource.", + "type": "object" + }, + "PrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Full identifier of the private endpoint resource." + } + }, + "description": "Private endpoint object properties.", + "type": "object" + }, + "PrivateLinkServiceConnectionState": { + "properties": { + "status": { + "$ref": "#/definitions/PrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been approved, rejected or removed by the key vault owner." + }, + "description": { + "type": "string", + "description": "The reason for approval or rejection." + }, + "actionsRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer.", + "enum": [ + "None" + ], + "x-ms-enum": { + "name": "ActionsRequired", + "modelAsString": true + } + } + }, + "description": "An object that represents the approval state of the private link connection.", + "type": "object" + }, + "PrivateEndpointServiceConnectionStatus": { + "type": "string", + "description": "The private endpoint connection status.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "PrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Updating", + "Deleting", + "Failed", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "PrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + } + } + }, + "description": "A list of private link resources", + "type": "object" + }, + "PrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/Resource" + } + ], + "description": "A private link resource", + "type": "object" + }, + "PrivateLinkResourceProperties": { + "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.", + "type": "object" + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call." + }, + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the resource group that contains the key vault.", + "x-ms-parameter-location": "method" + }, + "VaultName": { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "The name of the key vault.", + "x-ms-parameter-location": "method" + }, + "PrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the private endpoint connection associated with the key vault.", + "x-ms-parameter-location": "method" + }, + "ApiVersionParameter": { + "name": "api-version", + "in": "query", + "required": true, + "type": "string", + "description": "Client Api Version." + }, + "AssociationProxyNameParameter": { + "name": "associationProxyName", + "in": "path", + "required": true, + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\\.[a-z][a-z0-9]*$", + "type": "string", + "description": "Association proxy name associated with the key vault.", + "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" + } + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/managedHsm.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/managedHsm.json new file mode 100644 index 000000000000..e32ce5345c26 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/managedHsm.json @@ -0,0 +1,1737 @@ +{ + "swagger": "2.0", + "info": { + "title": "KeyVaultManagementClient", + "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault.", + "version": "2024-04-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.KeyVault/managedHSMs/{name}": { + "put": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_CreateOrUpdate", + "x-ms-long-running-operation": true, + "description": "Create or update a managed HSM Pool in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the managed HSM Pool" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedHsm" + }, + "description": "Parameters to create or update the managed HSM Pool" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ManagedHsm" + } + }, + "200": { + "description": "Created or updated managed HSM Pool", + "schema": { + "$ref": "#/definitions/ManagedHsm" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-examples": { + "Create a new managed HSM Pool or update an existing managed HSM Pool": { + "$ref": "./examples/ManagedHsm_CreateOrUpdate.json" + } + } + }, + "patch": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_Update", + "x-ms-long-running-operation": true, + "description": "Update a managed HSM Pool in the specified subscription.", + "parameters": [ + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the managed HSM Pool" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ManagedHsm" + }, + "description": "Parameters to patch the managed HSM Pool" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/ManagedHsm" + } + }, + "200": { + "description": "Patched managed HSM Pool", + "schema": { + "$ref": "#/definitions/ManagedHsm" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-examples": { + "Update an existing managed HSM Pool": { + "$ref": "./examples/ManagedHsm_Update.json" + } + } + }, + "delete": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_Delete", + "x-ms-long-running-operation": true, + "description": "Deletes the specified managed HSM Pool.", + "parameters": [ + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed HSM Pool to delete" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-examples": { + "Delete a managed HSM Pool": { + "$ref": "./examples/ManagedHsm_Delete.json" + } + } + }, + "get": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_Get", + "description": "Gets the specified managed HSM Pool.", + "parameters": [ + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the managed HSM Pool." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved managed HSM Pool", + "schema": { + "$ref": "#/definitions/ManagedHsm" + } + }, + "204": { + "description": "Request successful. Resource does not exist." + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-examples": { + "Retrieve a managed HSM Pool": { + "$ref": "./examples/ManagedHsm_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs": { + "get": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_ListByResourceGroup", + "description": "The List operation gets information about the managed HSM Pools associated with the subscription and within the specified resource group.", + "parameters": [ + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "Maximum number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get information about all managed HSM Pools in the specified resource group.", + "schema": { + "$ref": "#/definitions/ManagedHsmListResult" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List managed HSM Pools in a resource group": { + "$ref": "./examples/ManagedHsm_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/managedHSMs": { + "get": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_ListBySubscription", + "description": "The List operation gets information about the managed HSM Pools associated with the subscription.", + "parameters": [ + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "Maximum number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get information about all managed HSM Pools in the specified subscription.", + "schema": { + "$ref": "#/definitions/ManagedHsmListResult" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-examples": { + "List managed HSM Pools in a subscription": { + "$ref": "./examples/ManagedHsm_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/privateEndpointConnections": { + "get": { + "tags": [ + "MHSMListPrivateEndpointConnections" + ], + "operationId": "MHSMPrivateEndpointConnections_ListByResource", + "description": "The List operation gets information about the private endpoint connections associated with the managed HSM Pool.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the managed HSM Pool" + } + ], + "responses": { + "200": { + "description": "Get information about all managed HSM Pools in the specified subscription.", + "schema": { + "$ref": "#/definitions/MHSMPrivateEndpointConnectionsListResult" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-examples": { + "List managed HSM Pools in a subscription": { + "$ref": "./examples/ManagedHsm_ListPrivateEndpointConnectionsByResource.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/deletedManagedHSMs": { + "get": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_ListDeleted", + "description": "The List operation gets information about the deleted managed HSMs associated with the subscription.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved information about all managed HSMs in the specified subscription.", + "schema": { + "$ref": "#/definitions/DeletedManagedHsmListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List deleted managed HSMs in the specified subscription": { + "$ref": "./examples/DeletedManagedHsm_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedManagedHSMs/{name}": { + "get": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_GetDeleted", + "description": "Gets the specified deleted managed HSM.", + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the deleted managed HSM." + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the deleted managed HSM." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved information about the specified deleted managed HSM.", + "schema": { + "$ref": "#/definitions/DeletedManagedHsm" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-examples": { + "Retrieve a deleted managed HSM": { + "$ref": "./examples/DeletedManagedHsm_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/locations/{location}/deletedManagedHSMs/{name}/purge": { + "post": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_PurgeDeleted", + "x-ms-long-running-operation": true, + "description": "Permanently deletes the specified managed HSM.", + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the soft-deleted managed HSM." + }, + { + "name": "location", + "in": "path", + "required": true, + "type": "string", + "description": "The location of the soft-deleted managed HSM." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-examples": { + "Purge a managed HSM Pool": { + "$ref": "./examples/DeletedManagedHsm_Purge.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "MHSMPrivateEndpointConnections" + ], + "operationId": "MHSMPrivateEndpointConnections_Get", + "description": "Gets the specified private endpoint connection associated with the managed HSM Pool.", + "x-ms-examples": { + "ManagedHsmGetPrivateEndpointConnection": { + "$ref": "./examples/ManagedHsm_getPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the managed HSM Pool" + }, + { + "$ref": "#/parameters/MHSMPrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Private endpoint connection successfully returned.", + "schema": { + "$ref": "#/definitions/MHSMPrivateEndpointConnection" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + } + }, + "put": { + "tags": [ + "MHSMPrivateEndpointConnections" + ], + "operationId": "MHSMPrivateEndpointConnections_Put", + "description": "Updates the specified private endpoint connection associated with the managed hsm pool.", + "x-ms-examples": { + "ManagedHsmPutPrivateEndpointConnection": { + "$ref": "./examples/ManagedHsm_putPrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the managed HSM Pool" + }, + { + "$ref": "#/parameters/MHSMPrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "properties", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/MHSMPrivateEndpointConnection" + }, + "description": "The intended state of private endpoint connection." + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "The state of private endpoint connection was updated successfully.", + "headers": { + "Retry-After": { + "description": "(specified only if operation does not finish synchronously) The recommended number of seconds to wait before calling the URI specified in Azure-AsyncOperation.", + "type": "integer", + "format": "int32" + }, + "Azure-AsyncOperation": { + "description": "(specified only if operation does not finish synchronously) The URI to poll for completion status. The response of this URI may be synchronous or asynchronous.", + "type": "string" + } + }, + "schema": { + "$ref": "#/definitions/MHSMPrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + } + }, + "delete": { + "tags": [ + "MHSMPrivateEndpointConnections" + ], + "operationId": "MHSMPrivateEndpointConnections_Delete", + "x-ms-long-running-operation": true, + "description": "Deletes the specified private endpoint connection associated with the managed hsm pool.", + "x-ms-examples": { + "ManagedHsmDeletePrivateEndpointConnection": { + "$ref": "./examples/ManagedHsm_deletePrivateEndpointConnection.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the managed HSM Pool" + }, + { + "$ref": "#/parameters/MHSMPrivateEndpointConnectionName" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "The private endpoint connection was successfully deleted.", + "schema": { + "$ref": "#/definitions/MHSMPrivateEndpointConnection" + } + }, + "202": { + "description": "The private endpoint connection is being deleted.", + "headers": { + "Location": { + "description": "The URI to poll for completion status.", + "type": "string" + } + } + }, + "204": { + "description": "The private endpoint connection does not exist." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/privateLinkResources": { + "get": { + "tags": [ + "MHSMPrivateLinkResources" + ], + "operationId": "MHSMPrivateLinkResources_ListByMHSMResource", + "description": "Gets the private link resources supported for the managed hsm pool.", + "x-ms-examples": { + "KeyVaultListPrivateLinkResources": { + "$ref": "./examples/ManagedHsm_listPrivateLinkResources.json" + } + }, + "parameters": [ + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the managed HSM Pool" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + } + ], + "produces": [ + "application/json" + ], + "responses": { + "200": { + "description": "Successfully retrieved private link resources.", + "schema": { + "$ref": "#/definitions/MHSMPrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/managedHSMs/{name}/regions": { + "get": { + "tags": [ + "MHSMListRegions" + ], + "operationId": "MHSMRegions_ListByResource", + "description": "The List operation gets information about the regions associated with the managed HSM Pool.", + "parameters": [ + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ManagedHsmResourceGroupName" + }, + { + "name": "name", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the managed HSM Pool" + } + ], + "responses": { + "200": { + "description": "Get information about all managed HSM Pools in the specified subscription.", + "schema": { + "$ref": "#/definitions/MHSMRegionsListResult" + } + }, + "default": { + "description": "The error response describing why the operation failed.", + "schema": { + "$ref": "#/definitions/ManagedHsmError" + } + } + }, + "x-ms-examples": { + "List managed HSM Pools in a subscription": { + "$ref": "./examples/ManagedHsm_ListRegionsByResource.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.KeyVault/checkMhsmNameAvailability": { + "post": { + "tags": [ + "ManagedHsms" + ], + "operationId": "ManagedHsms_CheckMhsmNameAvailability", + "description": "Checks that the managed hsm name is valid and is not already in use.", + "parameters": [ + { + "name": "mhsmName", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/CheckMhsmNameAvailabilityParameters" + }, + "description": "The name of the managed hsm." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "OK -- Operation to check the mhsm name availability was successful.", + "schema": { + "$ref": "#/definitions/CheckMhsmNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Validate a managed hsm name": { + "$ref": "./examples/ManagedHsm_checkMhsmNameAvailability.json" + } + }, + "produces": [ + "application/json" + ] + } + } + }, + "definitions": { + "ManagedHsmSku": { + "properties": { + "family": { + "type": "string", + "description": "SKU Family of the managed HSM Pool", + "enum": [ + "B" + ], + "x-ms-client-default": "B", + "x-ms-enum": { + "name": "ManagedHsmSkuFamily", + "modelAsString": true + } + }, + "name": { + "type": "string", + "description": "SKU of the managed HSM Pool", + "enum": [ + "Standard_B1", + "Custom_B32", + "Custom_B6" + ], + "x-ms-enum": { + "name": "ManagedHsmSkuName", + "modelAsString": false + } + } + }, + "description": "SKU details", + "required": [ + "name", + "family" + ], + "type": "object" + }, + "ManagedHsmProperties": { + "properties": { + "tenantId": { + "type": "string", + "format": "uuid", + "description": "The Azure Active Directory tenant ID that should be used for authenticating requests to the managed HSM pool." + }, + "initialAdminObjectIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Array of initial administrators object ids for this managed hsm pool." + }, + "hsmUri": { + "type": "string", + "readOnly": true, + "description": "The URI of the managed hsm pool for performing operations on keys." + }, + "enableSoftDelete": { + "type": "boolean", + "default": true, + "description": "Property to specify whether the 'soft delete' functionality is enabled for this managed HSM pool. Soft delete is enabled by default for all managed HSMs and is immutable." + }, + "softDeleteRetentionInDays": { + "type": "integer", + "format": "int32", + "default": 90, + "description": "Soft deleted data retention days. When you delete an HSM or a key, it will remain recoverable for the configured retention period or for a default period of 90 days. It accepts values between 7 and 90." + }, + "enablePurgeProtection": { + "type": "boolean", + "default": true, + "description": "Property specifying whether protection against purge is enabled for this managed HSM pool. Setting this property to true activates protection against purge for this managed HSM pool and its content - only the Managed HSM service may initiate a hard, irrecoverable deletion. Enabling this functionality is irreversible." + }, + "createMode": { + "type": "string", + "description": "The create mode to indicate whether the resource is being created or is being recovered from a deleted resource.", + "enum": [ + "recover", + "default" + ], + "x-ms-enum": { + "name": "CreateMode", + "modelAsString": false, + "values": [ + { + "value": "recover", + "description": "Recover the managed HSM pool from a soft-deleted resource." + }, + { + "value": "default", + "description": "Create a new managed HSM pool. This is the default option." + } + ] + }, + "x-ms-mutability": [ + "create", + "update" + ] + }, + "statusMessage": { + "readOnly": true, + "type": "string", + "description": "Resource Status Message." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Provisioning state.", + "enum": [ + "Succeeded", + "Provisioning", + "Failed", + "Updating", + "Deleting", + "Activated", + "SecurityDomainRestore", + "Restoring" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true, + "values": [ + { + "value": "Succeeded", + "description": "The managed HSM Pool has been full provisioned." + }, + { + "value": "Provisioning", + "description": "The managed HSM Pool is currently being provisioned." + }, + { + "value": "Failed", + "description": "Provisioning of the managed HSM Pool has failed." + }, + { + "value": "Updating", + "description": "The managed HSM Pool is currently being updated." + }, + { + "value": "Deleting", + "description": "The managed HSM Pool is currently being deleted." + }, + { + "value": "Activated", + "description": "The managed HSM pool is ready for normal use." + }, + { + "value": "SecurityDomainRestore", + "description": "The managed HSM pool is waiting for a security domain restore action." + }, + { + "value": "Restoring", + "description": "The managed HSM pool is being restored from full HSM backup." + } + ] + } + }, + "networkAcls": { + "$ref": "#/definitions/MHSMNetworkRuleSet", + "description": "Rules governing the accessibility of the key vault from specific network locations." + }, + "regions": { + "type": "array", + "items": { + "$ref": "#/definitions/MHSMGeoReplicatedRegion" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "List of all regions associated with the managed hsm pool." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/MHSMPrivateEndpointConnectionItem" + }, + "description": "List of private endpoint connections associated with the managed hsm pool." + }, + "publicNetworkAccess": { + "description": "Control permission to the managed HSM from public networks.", + "enum": [ + "Enabled", + "Disabled" + ], + "default": "Enabled", + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "scheduledPurgeDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The scheduled purge date in UTC." + }, + "securityDomainProperties": { + "readOnly": true, + "$ref": "#/definitions/ManagedHSMSecurityDomainProperties", + "description": "Managed HSM security domain properties." + } + }, + "description": "Properties of the managed HSM Pool", + "type": "object" + }, + "ManagedHsm": { + "properties": { + "properties": { + "$ref": "#/definitions/ManagedHsmProperties", + "description": "Properties of the managed HSM" + } + }, + "allOf": [ + { + "$ref": "#/definitions/ManagedHsmResource" + } + ], + "description": "Resource information with extended details.", + "type": "object" + }, + "ManagedHsmResource": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The Azure Resource Manager resource ID for the managed HSM Pool." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the managed HSM Pool." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type of the managed HSM Pool." + }, + "location": { + "type": "string", + "description": "The supported Azure location where the managed HSM Pool should be created.", + "x-ms-mutability": [ + "create", + "read" + ] + }, + "sku": { + "$ref": "#/definitions/ManagedHsmSku", + "description": "SKU details" + }, + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Resource tags" + }, + "systemData": { + "$ref": "common.json#/definitions/SystemData" + }, + "identity": { + "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity" + } + }, + "description": "Managed HSM resource", + "x-ms-azure-resource": true, + "type": "object" + }, + "ManagedHsmListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ManagedHsm" + }, + "description": "The list of managed HSM Pools." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of managed HSM Pools." + } + }, + "description": "List of managed HSM Pools", + "type": "object" + }, + "MHSMPrivateEndpointConnectionsListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MHSMPrivateEndpointConnection" + }, + "description": "The private endpoint connection associated with a managed HSM Pools." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of managed HSM Pools." + } + }, + "description": "List of private endpoint connections associated with a managed HSM Pools", + "type": "object" + }, + "MHSMRegionsListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/MHSMGeoReplicatedRegion" + }, + "x-ms-identifiers": [ + "name" + ], + "description": "The region associated with a managed HSM Pools." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of managed HSM Pools." + } + }, + "description": "List of regions associated with a managed HSM Pools" + }, + "ManagedHsmError": { + "properties": { + "error": { + "readOnly": true, + "description": "The server error.", + "$ref": "#/definitions/Error" + } + }, + "description": "The error exception.", + "type": "object" + }, + "Error": { + "properties": { + "code": { + "type": "string", + "readOnly": true, + "description": "The error code." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "The error message." + }, + "innererror": { + "x-ms-client-name": "innerError", + "readOnly": true, + "description": "The inner error, contains a more specific error code.", + "$ref": "#/definitions/Error" + } + }, + "description": "The server error.", + "type": "object" + }, + "DeletedManagedHsm": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "The Azure Resource Manager resource ID for the deleted managed HSM Pool." + }, + "name": { + "readOnly": true, + "type": "string", + "description": "The name of the managed HSM Pool." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type of the managed HSM Pool." + }, + "properties": { + "$ref": "#/definitions/DeletedManagedHsmProperties", + "description": "Properties of the deleted managed HSM" + } + }, + "type": "object" + }, + "DeletedManagedHsmProperties": { + "properties": { + "mhsmId": { + "readOnly": true, + "type": "string", + "description": "The resource id of the original managed HSM." + }, + "location": { + "readOnly": true, + "type": "string", + "description": "The location of the original managed HSM." + }, + "deletionDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The deleted date." + }, + "scheduledPurgeDate": { + "readOnly": true, + "type": "string", + "format": "date-time", + "description": "The scheduled purged date." + }, + "purgeProtectionEnabled": { + "readOnly": true, + "type": "boolean", + "description": "Purge protection status of the original managed HSM." + }, + "tags": { + "readOnly": true, + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "Tags of the original managed HSM." + } + }, + "description": "Properties of the deleted managed HSM.", + "type": "object" + }, + "DeletedManagedHsmListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/DeletedManagedHsm" + }, + "description": "The list of deleted managed HSM Pools." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of deleted managed HSM Pools." + } + }, + "description": "List of deleted managed HSM Pools", + "type": "object" + }, + "MHSMGeoReplicatedRegion": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the geo replicated region." + }, + "provisioningState": { + "$ref": "#/definitions/MHSMGeoReplicationRegionProvisioningState", + "description": "Provisioning state of the geo replicated region." + }, + "isPrimary": { + "type": "boolean", + "description": "A boolean value that indicates whether the region is the primary region or a secondary region." + } + }, + "description": "A region that this managed HSM Pool has been extended to." + }, + "MHSMNetworkRuleSet": { + "properties": { + "bypass": { + "type": "string", + "description": "Tells what traffic can bypass network rules. This can be 'AzureServices' or 'None'. If not specified the default is 'AzureServices'.", + "enum": [ + "AzureServices", + "None" + ], + "x-ms-enum": { + "name": "NetworkRuleBypassOptions", + "modelAsString": true + } + }, + "defaultAction": { + "type": "string", + "description": "The default action when no rule from ipRules and from virtualNetworkRules match. This is only used after the bypass property has been evaluated.", + "enum": [ + "Allow", + "Deny" + ], + "x-ms-enum": { + "name": "NetworkRuleAction", + "modelAsString": true + } + }, + "ipRules": { + "type": "array", + "items": { + "$ref": "#/definitions/MHSMIPRule" + }, + "x-ms-identifiers": [ + "value" + ], + "description": "The list of IP address rules." + }, + "virtualNetworkRules": { + "type": "array", + "items": { + "$ref": "#/definitions/MHSMVirtualNetworkRule" + }, + "description": "The list of virtual network rules." + } + }, + "description": "A set of rules governing the network accessibility of a managed hsm pool.", + "type": "object" + }, + "MHSMIPRule": { + "properties": { + "value": { + "type": "string", + "description": "An IPv4 address range in CIDR notation, such as '124.56.78.91' (simple IP address) or '124.56.78.0/24' (all addresses that start with 124.56.78)." + } + }, + "required": [ + "value" + ], + "description": "A rule governing the accessibility of a managed HSM pool from a specific IP address or IP range.", + "type": "object" + }, + "MHSMVirtualNetworkRule": { + "properties": { + "id": { + "type": "string", + "description": "Full resource id of a vnet subnet, such as '/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/test-vnet/subnets/subnet1'." + } + }, + "required": [ + "id" + ], + "description": "A rule governing the accessibility of a managed hsm pool from a specific virtual network.", + "type": "object" + }, + "MHSMPrivateEndpointConnectionItem": { + "properties": { + "id": { + "type": "string", + "description": "Id of private endpoint connection." + }, + "etag": { + "type": "string", + "description": "Modified whenever there is a change in the state of private endpoint connection." + }, + "properties": { + "$ref": "#/definitions/MHSMPrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Private endpoint connection properties." + } + }, + "description": "Private endpoint connection item.", + "type": "object" + }, + "MHSMPrivateEndpointConnection": { + "properties": { + "properties": { + "$ref": "#/definitions/MHSMPrivateEndpointConnectionProperties", + "x-ms-client-flatten": true, + "description": "Resource properties." + }, + "etag": { + "type": "string", + "description": "Modified whenever there is a change in the state of private endpoint connection." + } + }, + "allOf": [ + { + "$ref": "#/definitions/ManagedHsmResource" + } + ], + "description": "Private endpoint connection resource.", + "x-ms-azure-resource": true, + "type": "object" + }, + "MHSMPrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/MHSMPrivateEndpoint", + "description": "Properties of the private endpoint object." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/MHSMPrivateLinkServiceConnectionState", + "description": "Approval state of the private link connection." + }, + "provisioningState": { + "$ref": "#/definitions/MHSMPrivateEndpointConnectionProvisioningState", + "description": "Provisioning state of the private endpoint connection." + } + }, + "description": "Properties of the private endpoint connection resource.", + "type": "object" + }, + "MHSMPrivateEndpoint": { + "properties": { + "id": { + "readOnly": true, + "type": "string", + "description": "Full identifier of the private endpoint resource." + } + }, + "description": "Private endpoint object properties.", + "type": "object" + }, + "MHSMPrivateLinkServiceConnectionState": { + "properties": { + "status": { + "$ref": "#/definitions/MHSMPrivateEndpointServiceConnectionStatus", + "description": "Indicates whether the connection has been approved, rejected or removed by the key vault owner." + }, + "description": { + "type": "string", + "description": "The reason for approval or rejection." + }, + "actionsRequired": { + "type": "string", + "description": "A message indicating if changes on the service provider require any updates on the consumer.", + "enum": [ + "None" + ], + "x-ms-enum": { + "name": "ActionsRequired", + "modelAsString": true + } + } + }, + "description": "An object that represents the approval state of the private link connection.", + "type": "object" + }, + "MHSMPrivateEndpointServiceConnectionStatus": { + "type": "string", + "description": "The private endpoint connection status.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateEndpointServiceConnectionStatus", + "modelAsString": true + } + }, + "MHSMPrivateEndpointConnectionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Updating", + "Deleting", + "Failed", + "Disconnected" + ], + "x-ms-enum": { + "name": "PrivateEndpointConnectionProvisioningState", + "modelAsString": true + } + }, + "MHSMPrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "description": "Array of private link resources", + "items": { + "$ref": "#/definitions/MHSMPrivateLinkResource" + } + } + }, + "description": "A list of private link resources", + "type": "object" + }, + "MHSMPrivateLinkResource": { + "properties": { + "properties": { + "$ref": "#/definitions/MHSMPrivateLinkResourceProperties", + "description": "Resource properties.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "#/definitions/ManagedHsmResource" + } + ], + "description": "A private link resource", + "type": "object" + }, + "MHSMPrivateLinkResourceProperties": { + "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.", + "type": "object" + }, + "MHSMGeoReplicationRegionProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Preprovisioning", + "Provisioning", + "Succeeded", + "Failed", + "Deleting", + "Cleanup" + ], + "x-ms-enum": { + "name": "GeoReplicationRegionProvisioningState", + "modelAsString": true + } + }, + "CheckMhsmNameAvailabilityParameters": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The managed hsm name." + } + }, + "required": [ + "name" + ], + "description": "The parameters used to check the availability of the managed hsm name." + }, + "CheckMhsmNameAvailabilityResult": { + "type": "object", + "properties": { + "nameAvailable": { + "readOnly": true, + "type": "boolean", + "description": "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": "The reason that a managed hsm name could not be used. The reason element is only returned if NameAvailable is false.", + "enum": [ + "AccountNameInvalid", + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": true + } + }, + "message": { + "readOnly": true, + "type": "string", + "description": "An error message explaining the Reason value in more detail." + } + }, + "description": "The CheckMhsmNameAvailability operation response." + }, + "ManagedHSMSecurityDomainProperties": { + "type": "object", + "properties": { + "activationStatus": { + "readOnly": true, + "type": "string", + "description": "Activation Status", + "enum": [ + "Active", + "NotActivated", + "Unknown", + "Failed" + ], + "x-ms-enum": { + "name": "ActivationStatus", + "modelAsString": true, + "values": [ + { + "value": "Active", + "description": "The managed HSM Pool is active." + }, + { + "value": "NotActivated", + "description": "The managed HSM Pool is not yet activated." + }, + { + "value": "Unknown", + "description": "An unknown error occurred while activating managed hsm." + }, + { + "value": "Failed", + "description": "Failed to activate managed hsm." + } + ] + } + }, + "activationStatusMessage": { + "readOnly": true, + "type": "string", + "description": "Activation Status Message." + } + }, + "description": "The security domain properties of the managed hsm." + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials which uniquely identify 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." + }, + "ManagedHsmResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the resource group that contains the managed HSM pool.", + "x-ms-parameter-location": "method" + }, + "MHSMPrivateEndpointConnectionName": { + "name": "privateEndpointConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "Name of the private endpoint connection associated with the managed hsm pool.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/providers.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/providers.json new file mode 100644 index 000000000000..8d32ed544bf6 --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/providers.json @@ -0,0 +1,288 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-04-01-preview", + "title": "KeyVaultManagementClient", + "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "paths": { + "/providers/Microsoft.KeyVault/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Key Vault Rest API operations.", + "operationId": "Operations_List", + "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": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Lists available Rest API operations.": { + "$ref": "./examples/listOperations.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "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" + }, + "x-ms-identifiers": [], + "description": "List of Storage operations supported by the Storage resource provider." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of operations." + } + }, + "type": "object" + }, + "Operation": { + "description": "Key Vault 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 Key Vault.", + "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 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" + }, + "isDataAction": { + "type": "boolean", + "description": "Property to specify whether the action is a data action." + } + } + }, + "OperationProperties": { + "description": "Properties of operation, include metric specifications.", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification", + "description": "One property of operation, include metric specifications." + } + }, + "type": "object" + }, + "ServiceSpecification": { + "description": "One property of operation, include log specifications.", + "properties": { + "logSpecifications": { + "description": "Log specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "metricSpecifications": { + "description": "Metric specifications of operation.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + }, + "x-ms-identifiers": [ + "name" + ] + } + }, + "type": "object" + }, + "LogSpecification": { + "description": "Log specification of operation.", + "properties": { + "name": { + "type": "string", + "description": "Name of log specification." + }, + "displayName": { + "type": "string", + "description": "Display name of log specification." + }, + "blobDuration": { + "type": "string", + "description": "Blob duration of specification." + } + }, + "type": "object" + }, + "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": "The metric unit. Possible values include: 'Bytes', 'Count', 'Milliseconds'." + }, + "aggregationType": { + "type": "string", + "description": "The metric aggregation type. Possible values include: 'Average', 'Count', 'Total'." + }, + "supportedAggregationTypes": { + "type": "array", + "description": "The supported aggregation types for the metrics.", + "items": { + "type": "string" + } + }, + "supportedTimeGrainTypes": { + "type": "array", + "description": "The supported time grain types for the metrics.", + "items": { + "type": "string" + } + }, + "lockAggregationType": { + "type": "string", + "description": "The metric lock aggregation type." + }, + "dimensions": { + "type": "array", + "description": "The dimensions of metric", + "items": { + "$ref": "#/definitions/DimensionProperties" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "fillGapWithZero": { + "type": "boolean", + "description": "Property to specify whether to fill gap with zero." + }, + "internalMetricName": { + "type": "string", + "description": "The internal metric name." + } + }, + "type": "object" + }, + "DimensionProperties": { + "description": "Type of operation: get, read, delete, etc.", + "properties": { + "name": { + "type": "string", + "description": "Name of dimension." + }, + "displayName": { + "type": "string", + "description": "Display name of dimension." + }, + "toBeExportedForShoebox": { + "type": "boolean", + "description": "Property to specify whether the dimension should be exported for Shoebox." + } + }, + "type": "object" + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials which uniquely identify 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." + } + }, + "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/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/secrets.json b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/secrets.json new file mode 100644 index 000000000000..f3b6395af2ba --- /dev/null +++ b/specification/keyvault/resource-manager/Microsoft.KeyVault/preview/2024-04-01-preview/secrets.json @@ -0,0 +1,491 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-04-01-preview", + "title": "KeyVaultManagementClient", + "description": "The Azure management API provides a RESTful set of web services that interact with Azure Key Vault." + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets/{secretName}": { + "put": { + "tags": [ + "Secrets" + ], + "operationId": "Secrets_CreateOrUpdate", + "description": "Create or update a secret in a key vault in the specified subscription. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "Name of the vault" + }, + { + "name": "secretName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$", + "description": "Name of the secret. The value you provide may be copied globally for the purpose of running the service. The value provided should not include personally identifiable or sensitive information." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SecretCreateOrUpdateParameters" + }, + "description": "Parameters to create or update the secret" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Created or updated vault", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "200": { + "description": "Created or updated secret", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create a secret": { + "$ref": "./examples/createSecret.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "patch": { + "tags": [ + "Secrets" + ], + "operationId": "Secrets_Update", + "description": "Update a secret in the specified subscription. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{3,24}$", + "description": "Name of the vault" + }, + { + "name": "secretName", + "in": "path", + "required": true, + "type": "string", + "pattern": "^[a-zA-Z0-9-]{1,127}$", + "description": "Name of the secret" + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SecretPatchParameters" + }, + "description": "Parameters to patch the secret" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Patched secret", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "200": { + "description": "Patched secret", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update a secret": { + "$ref": "./examples/updateSecret.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + }, + "get": { + "tags": [ + "Secrets" + ], + "operationId": "Secrets_Get", + "description": "Gets the specified secret. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vault." + }, + { + "name": "secretName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the secret." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Retrieved secret", + "schema": { + "$ref": "#/definitions/Secret" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get a secret": { + "$ref": "./examples/getSecret.json" + } + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}/secrets": { + "get": { + "tags": [ + "Secrets" + ], + "operationId": "Secrets_List", + "description": "The List operation gets information about the secrets in a vault. NOTE: This API is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Resource Group to which the vault belongs." + }, + { + "name": "vaultName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the vault." + }, + { + "name": "$top", + "in": "query", + "type": "integer", + "format": "int32", + "description": "Maximum number of results to return." + }, + { + "$ref": "#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Get information about secrets in the specified vault.", + "schema": { + "$ref": "#/definitions/SecretListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "common.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List secrets in the vault": { + "$ref": "./examples/listSecrets.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] + } + } + }, + "definitions": { + "Attributes": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Determines whether the object is enabled." + }, + "nbf": { + "x-ms-client-name": "NotBefore", + "type": "integer", + "format": "unixtime", + "description": "Not before date in seconds since 1970-01-01T00:00:00Z." + }, + "exp": { + "x-ms-client-name": "Expires", + "type": "integer", + "format": "unixtime", + "description": "Expiry date in seconds since 1970-01-01T00:00:00Z." + }, + "created": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Creation time in seconds since 1970-01-01T00:00:00Z." + }, + "updated": { + "type": "integer", + "format": "unixtime", + "readOnly": true, + "description": "Last updated time in seconds since 1970-01-01T00:00:00Z." + } + }, + "description": "The object attributes managed by the KeyVault service.", + "type": "object" + }, + "SecretProperties": { + "properties": { + "value": { + "type": "string", + "description": "The value of the secret. NOTE: 'value' will never be returned from the service, as APIs using this model are is intended for internal use in ARM deployments. Users should use the data-plane REST service for interaction with vault secrets." + }, + "contentType": { + "type": "string", + "description": "The content type of the secret." + }, + "attributes": { + "$ref": "#/definitions/SecretAttributes", + "description": "The attributes of the secret." + }, + "secretUri": { + "type": "string", + "description": "The URI to retrieve the current version of the secret.", + "readOnly": true + }, + "secretUriWithVersion": { + "type": "string", + "description": "The URI to retrieve the specific version of the secret.", + "readOnly": true + } + }, + "description": "Properties of the secret", + "type": "object" + }, + "SecretPatchProperties": { + "properties": { + "value": { + "type": "string", + "description": "The value of the secret." + }, + "contentType": { + "type": "string", + "description": "The content type of the secret." + }, + "attributes": { + "$ref": "#/definitions/SecretAttributes", + "description": "The attributes of the secret." + } + }, + "description": "Properties of the secret", + "type": "object" + }, + "SecretAttributes": { + "allOf": [ + { + "$ref": "#/definitions/Attributes" + } + ], + "description": "The secret management attributes.", + "type": "object" + }, + "SecretCreateOrUpdateParameters": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags that will be assigned to the secret. " + }, + "properties": { + "$ref": "#/definitions/SecretProperties", + "description": "Properties of the secret" + } + }, + "description": "Parameters for creating or updating a secret", + "required": [ + "properties" + ], + "x-ms-azure-resource": true, + "type": "object" + }, + "SecretPatchParameters": { + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "description": "The tags that will be assigned to the secret. " + }, + "properties": { + "$ref": "#/definitions/SecretPatchProperties", + "description": "Properties of the secret" + } + }, + "description": "Parameters for patching a secret", + "x-ms-azure-resource": true, + "type": "object" + }, + "Secret": { + "properties": { + "properties": { + "$ref": "#/definitions/SecretProperties", + "description": "Properties of the secret" + } + }, + "required": [ + "properties" + ], + "allOf": [ + { + "$ref": "./keyvault.json#/definitions/Resource" + } + ], + "description": "Resource information with extended details.", + "type": "object" + }, + "SecretListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Secret" + }, + "description": "The list of secrets." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of secrets." + } + }, + "description": "List of secrets", + "type": "object" + } + }, + "parameters": { + "SubscriptionIdParameter": { + "name": "subscriptionId", + "in": "path", + "required": true, + "type": "string", + "description": "Subscription credentials which uniquely identify 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." + } + }, + "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/keyvault/resource-manager/readme.md b/specification/keyvault/resource-manager/readme.md index c901a9f52028..fae54df7a2ee 100644 --- a/specification/keyvault/resource-manager/readme.md +++ b/specification/keyvault/resource-manager/readme.md @@ -29,6 +29,20 @@ openapi-type: arm tag: package-2023-07 ``` +### Tag: package-preview-2024-04 + +These settings apply only when `--tag=package-preview-2024-04` is specified on the command line. + +```yaml $(tag) == 'package-preview-2024-04' +input-file: + - Microsoft.KeyVault/preview/2024-04-01-preview/common.json + - Microsoft.KeyVault/preview/2024-04-01-preview/keys.json + - Microsoft.KeyVault/preview/2024-04-01-preview/keysManagedHsm.json + - Microsoft.KeyVault/preview/2024-04-01-preview/keyvault.json + - Microsoft.KeyVault/preview/2024-04-01-preview/managedHsm.json + - Microsoft.KeyVault/preview/2024-04-01-preview/providers.json + - Microsoft.KeyVault/preview/2024-04-01-preview/secrets.json +``` ### Tag: package-2023-07 diff --git a/specification/kubernetesruntime/KubernetesRuntime.Management/bgppeer.tsp b/specification/kubernetesruntime/KubernetesRuntime.Management/bgppeer.tsp index aff77c287bb5..8fbdcec221ff 100644 --- a/specification/kubernetesruntime/KubernetesRuntime.Management/bgppeer.tsp +++ b/specification/kubernetesruntime/KubernetesRuntime.Management/bgppeer.tsp @@ -36,7 +36,12 @@ model BgpPeerProperties { @armResourceOperations(BgpPeer) interface BgpPeers { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + BgpPeer, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @sharedRoute @added(Versions.v2024_03_01) delete is ArmResourceDeleteSync; diff --git a/specification/kubernetesruntime/KubernetesRuntime.Management/loadbalancer.tsp b/specification/kubernetesruntime/KubernetesRuntime.Management/loadbalancer.tsp index e3dcd5ac2d5f..2e13742d83cc 100644 --- a/specification/kubernetesruntime/KubernetesRuntime.Management/loadbalancer.tsp +++ b/specification/kubernetesruntime/KubernetesRuntime.Management/loadbalancer.tsp @@ -55,7 +55,12 @@ model LoadBalancerProperties { @armResourceOperations(LoadBalancer) interface LoadBalancers { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + LoadBalancer, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @sharedRoute @added(Versions.v2024_03_01) delete is ArmResourceDeleteSync; diff --git a/specification/kubernetesruntime/KubernetesRuntime.Management/storageclass.tsp b/specification/kubernetesruntime/KubernetesRuntime.Management/storageclass.tsp index e3842cf67377..c5569c2a21ba 100644 --- a/specification/kubernetesruntime/KubernetesRuntime.Management/storageclass.tsp +++ b/specification/kubernetesruntime/KubernetesRuntime.Management/storageclass.tsp @@ -282,7 +282,12 @@ model StorageClassResource is ExtensionResource { @armResourceOperations(StorageClassResource) interface StorageClass { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + StorageClassResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmCustomPatchAsync< StorageClassResource, StorageClassResourceUpdate diff --git a/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/preview/2023-10-01-preview/kubernetesruntime.json b/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/preview/2023-10-01-preview/kubernetesruntime.json index 9c3b696670c1..49d50221a434 100644 --- a/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/preview/2023-10-01-preview/kubernetesruntime.json +++ b/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/preview/2023-10-01-preview/kubernetesruntime.json @@ -1029,11 +1029,7 @@ "properties": { "$ref": "#/definitions/BgpPeerProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1186,11 +1182,7 @@ "properties": { "$ref": "#/definitions/LoadBalancerProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1504,11 +1496,7 @@ "properties": { "$ref": "#/definitions/ServiceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1714,11 +1702,7 @@ "properties": { "$ref": "#/definitions/StorageClassProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/stable/2024-03-01/kubernetesruntime.json b/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/stable/2024-03-01/kubernetesruntime.json index 65aa9e986ce0..a890d90a7748 100644 --- a/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/stable/2024-03-01/kubernetesruntime.json +++ b/specification/kubernetesruntime/resource-manager/Microsoft.KubernetesRuntime/stable/2024-03-01/kubernetesruntime.json @@ -999,11 +999,7 @@ "properties": { "$ref": "#/definitions/BgpPeerProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1156,11 +1152,7 @@ "properties": { "$ref": "#/definitions/LoadBalancerProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1481,11 +1473,7 @@ "properties": { "$ref": "#/definitions/ServiceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1691,11 +1679,7 @@ "properties": { "$ref": "#/definitions/StorageClassProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/LiftrBase/main.tsp b/specification/liftrastronomer/Astronomer.Astro.Management/LiftrBase/main.tsp index 7ce7ff252b5b..fe620391ece8 100644 --- a/specification/liftrastronomer/Astronomer.Astro.Management/LiftrBase/main.tsp +++ b/specification/liftrastronomer/Astronomer.Astro.Management/LiftrBase/main.tsp @@ -37,7 +37,7 @@ scalar Uri extends string; @doc("Marketplace details for an organization") model MarketplaceDetails { @doc("Azure subscription id for the the marketplace offer is purchased from") - subscriptionId: string; + subscriptionId?: string; @doc("Marketplace subscription status") subscriptionStatus?: MarketplaceSubscriptionStatus; diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_CreateOrUpdate_MaximumSet_Gen.json b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_CreateOrUpdate_MaximumSet_Gen.json index 44601e85204c..9746d08fba78 100644 --- a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_CreateOrUpdate_MaximumSet_Gen.json +++ b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_CreateOrUpdate_MaximumSet_Gen.json @@ -9,7 +9,7 @@ "resource": { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", @@ -57,7 +57,7 @@ "body": { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", @@ -120,7 +120,7 @@ "body": { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_Get_MaximumSet_Gen.json b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_Get_MaximumSet_Gen.json index 8e1da8995b2c..4cc58a87b3c5 100644 --- a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_Get_MaximumSet_Gen.json +++ b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_Get_MaximumSet_Gen.json @@ -12,7 +12,7 @@ "body": { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_ListByResourceGroup_MaximumSet_Gen.json b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_ListByResourceGroup_MaximumSet_Gen.json index 38106c6829ae..25dd69bacd87 100644 --- a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_ListByResourceGroup_MaximumSet_Gen.json +++ b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_ListByResourceGroup_MaximumSet_Gen.json @@ -13,7 +13,7 @@ { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_ListBySubscription_MaximumSet_Gen.json b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_ListBySubscription_MaximumSet_Gen.json index 825a5ec960aa..017e0ea4bd51 100644 --- a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_ListBySubscription_MaximumSet_Gen.json +++ b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_ListBySubscription_MaximumSet_Gen.json @@ -12,7 +12,7 @@ { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_Update_MaximumSet_Gen.json b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_Update_MaximumSet_Gen.json index 24ed2b970a05..c8ccca13a19c 100644 --- a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_Update_MaximumSet_Gen.json +++ b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01-preview/Organizations_Update_MaximumSet_Gen.json @@ -45,7 +45,7 @@ "body": { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Operations_List_MaximumSet_Gen.json b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Operations_List_MaximumSet_Gen.json new file mode 100644 index 000000000000..ed6f62bf99ea --- /dev/null +++ b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Operations_List_MaximumSet_Gen.json @@ -0,0 +1,28 @@ +{ + "title": "Operations_List - generated by [MaximumSet] rule", + "operationId": "Operations_List", + "parameters": { + "api-version": "2023-08-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "zabhglnki", + "isDataAction": true, + "display": { + "provider": "hgepwsvbptqbigephgxoxyll", + "resource": "thhzqbtxxi", + "operation": "teozafbxkiagahfypii", + "description": "nkucjlsbtriwdgedbxlknbwfz" + }, + "origin": "user", + "actionType": "Internal" + } + ], + "nextLink": "resl" + } + } + } +} diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_CreateOrUpdate_MaximumSet_Gen.json b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_CreateOrUpdate_MaximumSet_Gen.json new file mode 100644 index 000000000000..1fe89dc80cb7 --- /dev/null +++ b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_CreateOrUpdate_MaximumSet_Gen.json @@ -0,0 +1,180 @@ +{ + "title": "Organizations_CreateOrUpdate - generated by [MaximumSet] rule", + "operationId": "Organizations_CreateOrUpdate", + "parameters": { + "api-version": "2023-08-01", + "subscriptionId": "43454B17-172A-40FE-80FA-549EA23D12B3", + "resourceGroupName": "rgastronomer", + "organizationName": "U.1-:7", + "resource": { + "properties": { + "marketplace": { + "subscriptionId": null, + "subscriptionStatus": "PendingFulfillmentStart", + "offerDetails": { + "publisherId": "astronomer1591719760654", + "offerId": "astro", + "planId": "astro-paygo", + "planName": "Monthly Pay-As-You-Go", + "termUnit": "Monthly", + "termId": "gmz7xq9ge3py" + } + }, + "user": { + "firstName": "nfh", + "lastName": "lazfbstcccykibvcrxpmglqam", + "emailAddress": ".K_@e7N-g1.xjqnbPs", + "upn": "xtutvycpxjrtoftx", + "phoneNumber": "inxkscllh" + }, + "provisioningState": "Succeeded", + "partnerOrganizationProperties": { + "organizationId": "lskgzdmziusgrsucv", + "workspaceId": "vcrupxwpaba", + "organizationName": "3-", + "workspaceName": "9.:06", + "singleSignOnProperties": { + "singleSignOnState": "Initial", + "enterpriseAppId": "mklfypyujwumgwdzae", + "singleSignOnUrl": "ymmtzkyghvinvhgnqlzwrr", + "aadDomains": [ + "kfbleh" + ], + "provisioningState": "Succeeded" + } + } + }, + "identity": { + "type": "None", + "userAssignedIdentities": {} + }, + "tags": {}, + "location": "mhqthlsatwvqkl" + } + }, + "responses": { + "200": { + "body": { + "properties": { + "marketplace": { + "subscriptionId": null, + "subscriptionStatus": "PendingFulfillmentStart", + "offerDetails": { + "publisherId": "gfsqxygpnerxmvols", + "offerId": "krzkefmpxztqyusidzgpchfaswuyce", + "planId": "kndxzygsanuiqzwbfbbvoipv", + "planName": "pwqjwlq", + "termUnit": "xyygyzcazkuelz", + "termId": "pwds" + } + }, + "user": { + "firstName": "nfh", + "lastName": "lazfbstcccykibvcrxpmglqam", + "emailAddress": ".K_@e7N-g1.xjqnbPs", + "upn": "xtutvycpxjrtoftx", + "phoneNumber": "inxkscllh" + }, + "provisioningState": "Succeeded", + "partnerOrganizationProperties": { + "organizationId": "lskgzdmziusgrsucv", + "workspaceId": "vcrupxwpaba", + "organizationName": "3-", + "workspaceName": "9.:06", + "singleSignOnProperties": { + "singleSignOnState": "Initial", + "enterpriseAppId": "mklfypyujwumgwdzae", + "singleSignOnUrl": "ymmtzkyghvinvhgnqlzwrr", + "aadDomains": [ + "kfbleh" + ], + "provisioningState": "Succeeded" + } + } + }, + "identity": { + "type": "None", + "userAssignedIdentities": {}, + "principalId": "b5684bd7-7958-4c0e-9795-d686c31746d2", + "tenantId": "b5684bd7-7958-4c0e-9795-d686c31746d2" + }, + "tags": {}, + "location": "mhqthlsatwvqkl", + "id": "/subscriptions/6f490d74-8eb4-4e7d-ae07-c75776710bfa/resourceGroups/resourcegroup/providers/Astronomer.Astro/organizations/astro1234", + "name": "ycyrfvupthkudm", + "type": "ldwwclcpqssjomo", + "systemData": { + "createdBy": "zw", + "createdByType": "User", + "createdAt": "2023-07-25T11:16:12.868Z", + "lastModifiedBy": "isirkhwcppaqoqzoebybzikzbzkjzf", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-25T11:16:12.868Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://contoso.com/operationstatus" + }, + "body": { + "properties": { + "marketplace": { + "subscriptionId": null, + "subscriptionStatus": "PendingFulfillmentStart", + "offerDetails": { + "publisherId": "gfsqxygpnerxmvols", + "offerId": "krzkefmpxztqyusidzgpchfaswuyce", + "planId": "kndxzygsanuiqzwbfbbvoipv", + "planName": "pwqjwlq", + "termUnit": "xyygyzcazkuelz", + "termId": "pwds" + } + }, + "user": { + "firstName": "nfh", + "lastName": "lazfbstcccykibvcrxpmglqam", + "emailAddress": ".K_@e7N-g1.xjqnbPs", + "upn": "xtutvycpxjrtoftx", + "phoneNumber": "inxkscllh" + }, + "provisioningState": "Succeeded", + "partnerOrganizationProperties": { + "organizationId": "lskgzdmziusgrsucv", + "workspaceId": "vcrupxwpaba", + "organizationName": "3-", + "workspaceName": "9.:06", + "singleSignOnProperties": { + "singleSignOnState": "Initial", + "enterpriseAppId": "mklfypyujwumgwdzae", + "singleSignOnUrl": "ymmtzkyghvinvhgnqlzwrr", + "aadDomains": [ + "kfbleh" + ], + "provisioningState": "Succeeded" + } + } + }, + "identity": { + "type": "None", + "userAssignedIdentities": {}, + "principalId": "b5684bd7-7958-4c0e-9795-d686c31746d2", + "tenantId": "b5684bd7-7958-4c0e-9795-d686c31746d2" + }, + "tags": {}, + "location": "mhqthlsatwvqkl", + "id": "bhslekyvgkfomahtvjiin", + "name": "ycyrfvupthkudm", + "type": "ldwwclcpqssjomo", + "systemData": { + "createdBy": "zw", + "createdByType": "User", + "createdAt": "2023-07-25T11:16:12.868Z", + "lastModifiedBy": "isirkhwcppaqoqzoebybzikzbzkjzf", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-25T11:16:12.868Z" + } + } + } + } +} diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_Delete_MaximumSet_Gen.json b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_Delete_MaximumSet_Gen.json new file mode 100644 index 000000000000..a8c32f205090 --- /dev/null +++ b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_Delete_MaximumSet_Gen.json @@ -0,0 +1,18 @@ +{ + "title": "Organizations_Delete - generated by [MaximumSet] rule", + "operationId": "Organizations_Delete", + "parameters": { + "api-version": "2023-08-01", + "subscriptionId": "43454B17-172A-40FE-80FA-549EA23D12B3", + "resourceGroupName": "rgastronomer", + "organizationName": "q:" + }, + "responses": { + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + }, + "204": {} + } +} diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_Get_MaximumSet_Gen.json b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_Get_MaximumSet_Gen.json new file mode 100644 index 000000000000..27db2f217a47 --- /dev/null +++ b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_Get_MaximumSet_Gen.json @@ -0,0 +1,72 @@ +{ + "title": "Organizations_Get - generated by [MaximumSet] rule", + "operationId": "Organizations_Get", + "parameters": { + "api-version": "2023-08-01", + "subscriptionId": "43454B17-172A-40FE-80FA-549EA23D12B3", + "resourceGroupName": "rgastronomer", + "organizationName": "S PS" + }, + "responses": { + "200": { + "body": { + "properties": { + "marketplace": { + "subscriptionId": null, + "subscriptionStatus": "PendingFulfillmentStart", + "offerDetails": { + "publisherId": "gfsqxygpnerxmvols", + "offerId": "krzkefmpxztqyusidzgpchfaswuyce", + "planId": "kndxzygsanuiqzwbfbbvoipv", + "planName": "pwqjwlq", + "termUnit": "xyygyzcazkuelz", + "termId": "pwds" + } + }, + "user": { + "firstName": "nfh", + "lastName": "lazfbstcccykibvcrxpmglqam", + "emailAddress": ".K_@e7N-g1.xjqnbPs", + "upn": "xtutvycpxjrtoftx", + "phoneNumber": "inxkscllh" + }, + "provisioningState": "Succeeded", + "partnerOrganizationProperties": { + "organizationId": "lskgzdmziusgrsucv", + "workspaceId": "vcrupxwpaba", + "organizationName": "3-", + "workspaceName": "9.:06", + "singleSignOnProperties": { + "singleSignOnState": "Initial", + "enterpriseAppId": "mklfypyujwumgwdzae", + "singleSignOnUrl": "ymmtzkyghvinvhgnqlzwrr", + "aadDomains": [ + "kfbleh" + ], + "provisioningState": "Succeeded" + } + } + }, + "identity": { + "type": "None", + "userAssignedIdentities": {}, + "principalId": "b5684bd7-7958-4c0e-9795-d686c31746d2", + "tenantId": "b5684bd7-7958-4c0e-9795-d686c31746d2" + }, + "tags": {}, + "location": "mhqthlsatwvqkl", + "id": "bhslekyvgkfomahtvjiin", + "name": "ycyrfvupthkudm", + "type": "ldwwclcpqssjomo", + "systemData": { + "createdBy": "zw", + "createdByType": "User", + "createdAt": "2023-07-25T11:16:12.868Z", + "lastModifiedBy": "isirkhwcppaqoqzoebybzikzbzkjzf", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-25T11:16:12.868Z" + } + } + } + } +} diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_ListByResourceGroup_MaximumSet_Gen.json b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_ListByResourceGroup_MaximumSet_Gen.json new file mode 100644 index 000000000000..6c7829796d4b --- /dev/null +++ b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_ListByResourceGroup_MaximumSet_Gen.json @@ -0,0 +1,76 @@ +{ + "title": "Organizations_ListByResourceGroup - generated by [MaximumSet] rule", + "operationId": "Organizations_ListByResourceGroup", + "parameters": { + "api-version": "2023-08-01", + "subscriptionId": "43454B17-172A-40FE-80FA-549EA23D12B3", + "resourceGroupName": "rgastronomer" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "marketplace": { + "subscriptionId": null, + "subscriptionStatus": "PendingFulfillmentStart", + "offerDetails": { + "publisherId": "gfsqxygpnerxmvols", + "offerId": "krzkefmpxztqyusidzgpchfaswuyce", + "planId": "kndxzygsanuiqzwbfbbvoipv", + "planName": "pwqjwlq", + "termUnit": "xyygyzcazkuelz", + "termId": "pwds" + } + }, + "user": { + "firstName": "nfh", + "lastName": "lazfbstcccykibvcrxpmglqam", + "emailAddress": ".K_@e7N-g1.xjqnbPs", + "upn": "xtutvycpxjrtoftx", + "phoneNumber": "inxkscllh" + }, + "provisioningState": "Succeeded", + "partnerOrganizationProperties": { + "organizationId": "lskgzdmziusgrsucv", + "workspaceId": "vcrupxwpaba", + "organizationName": "3-", + "workspaceName": "9.:06", + "singleSignOnProperties": { + "singleSignOnState": "Initial", + "enterpriseAppId": "mklfypyujwumgwdzae", + "singleSignOnUrl": "ymmtzkyghvinvhgnqlzwrr", + "aadDomains": [ + "kfbleh" + ], + "provisioningState": "Succeeded" + } + } + }, + "identity": { + "principalId": "b5684bd7-7958-4c0e-9795-d686c31746d2", + "tenantId": "b5684bd7-7958-4c0e-9795-d686c31746d2", + "type": "None", + "userAssignedIdentities": {} + }, + "tags": {}, + "location": "mhqthlsatwvqkl", + "id": "bhslekyvgkfomahtvjiin", + "name": "ycyrfvupthkudm", + "type": "ldwwclcpqssjomo", + "systemData": { + "createdBy": "zw", + "createdByType": "User", + "createdAt": "2023-07-25T11:16:12.868Z", + "lastModifiedBy": "isirkhwcppaqoqzoebybzikzbzkjzf", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-25T11:16:12.868Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_ListBySubscription_MaximumSet_Gen.json b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_ListBySubscription_MaximumSet_Gen.json new file mode 100644 index 000000000000..abc4954a7a5a --- /dev/null +++ b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_ListBySubscription_MaximumSet_Gen.json @@ -0,0 +1,75 @@ +{ + "title": "Organizations_ListBySubscription - generated by [MaximumSet] rule", + "operationId": "Organizations_ListBySubscription", + "parameters": { + "api-version": "2023-08-01", + "subscriptionId": "43454B17-172A-40FE-80FA-549EA23D12B3" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "marketplace": { + "subscriptionId": null, + "subscriptionStatus": "PendingFulfillmentStart", + "offerDetails": { + "publisherId": "gfsqxygpnerxmvols", + "offerId": "krzkefmpxztqyusidzgpchfaswuyce", + "planId": "kndxzygsanuiqzwbfbbvoipv", + "planName": "pwqjwlq", + "termUnit": "xyygyzcazkuelz", + "termId": "pwds" + } + }, + "user": { + "firstName": "nfh", + "lastName": "lazfbstcccykibvcrxpmglqam", + "emailAddress": ".K_@e7N-g1.xjqnbPs", + "upn": "xtutvycpxjrtoftx", + "phoneNumber": "inxkscllh" + }, + "provisioningState": "Succeeded", + "partnerOrganizationProperties": { + "organizationId": "lskgzdmziusgrsucv", + "workspaceId": "vcrupxwpaba", + "organizationName": "3-", + "workspaceName": "9.:06", + "singleSignOnProperties": { + "singleSignOnState": "Initial", + "enterpriseAppId": "mklfypyujwumgwdzae", + "singleSignOnUrl": "ymmtzkyghvinvhgnqlzwrr", + "aadDomains": [ + "kfbleh" + ], + "provisioningState": "Succeeded" + } + } + }, + "identity": { + "principalId": "b5684bd7-7958-4c0e-9795-d686c31746d2", + "tenantId": "b5684bd7-7958-4c0e-9795-d686c31746d2", + "type": "None", + "userAssignedIdentities": {} + }, + "tags": {}, + "location": "mhqthlsatwvqkl", + "id": "bhslekyvgkfomahtvjiin", + "name": "ycyrfvupthkudm", + "type": "ldwwclcpqssjomo", + "systemData": { + "createdBy": "zw", + "createdByType": "User", + "createdAt": "2023-07-25T11:16:12.868Z", + "lastModifiedBy": "isirkhwcppaqoqzoebybzikzbzkjzf", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-25T11:16:12.868Z" + } + } + ], + "nextLink": "https://microsoft.com/a" + } + } + } +} diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_Update_MaximumSet_Gen.json b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_Update_MaximumSet_Gen.json new file mode 100644 index 000000000000..3e35f8e7a994 --- /dev/null +++ b/specification/liftrastronomer/Astronomer.Astro.Management/examples/2023-08-01/Organizations_Update_MaximumSet_Gen.json @@ -0,0 +1,110 @@ +{ + "title": "Organizations_Update", + "operationId": "Organizations_Update", + "parameters": { + "api-version": "2023-08-01", + "subscriptionId": "43454B17-172A-40FE-80FA-549EA23D12B3", + "resourceGroupName": "rgastronomer", + "organizationName": "6.", + "properties": { + "identity": { + "type": "None", + "userAssignedIdentities": {} + }, + "tags": { + "key1474": "bqqyipxnbbxryhznyaosmtpo" + }, + "properties": { + "user": { + "firstName": "qeuofehzypzljgcuysugefbgxde", + "lastName": "g", + "emailAddress": ".K_@e7N-g1.xjqnbPs", + "upn": "uwtprzdfpsqmktx", + "phoneNumber": "aqpyxznvqpgkzohevynofrjdfgoo" + }, + "partnerOrganizationProperties": { + "organizationId": "lrtmbkvyvvoszhjevohkmyjhfyty", + "workspaceId": "xsepuskdhejaadusyxq", + "organizationName": "U2P_", + "workspaceName": "L.-y_--:", + "singleSignOnProperties": { + "singleSignOnState": "Initial", + "enterpriseAppId": "mklfypyujwumgwdzae", + "singleSignOnUrl": "ymmtzkyghvinvhgnqlzwrr", + "aadDomains": [ + "kfbleh" + ], + "provisioningState": "Succeeded" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "marketplace": { + "subscriptionId": null, + "subscriptionStatus": "PendingFulfillmentStart", + "offerDetails": { + "publisherId": "gfsqxygpnerxmvols", + "offerId": "krzkefmpxztqyusidzgpchfaswuyce", + "planId": "kndxzygsanuiqzwbfbbvoipv", + "planName": "pwqjwlq", + "termUnit": "xyygyzcazkuelz", + "termId": "pwds" + } + }, + "user": { + "firstName": "qeuofehzypzljgcuysugefbgxde", + "lastName": "g", + "emailAddress": ".K_@e7N-g1.xjqnbPs", + "upn": "uwtprzdfpsqmktx", + "phoneNumber": "aqpyxznvqpgkzohevynofrjdfgoo" + }, + "provisioningState": "Succeeded", + "partnerOrganizationProperties": { + "organizationId": "lrtmbkvyvvoszhjevohkmyjhfyty", + "workspaceId": "xsepuskdhejaadusyxq", + "organizationName": "U2P_", + "workspaceName": "L.-y_--:", + "singleSignOnProperties": { + "singleSignOnState": "Initial", + "enterpriseAppId": "mklfypyujwumgwdzae", + "singleSignOnUrl": "ymmtzkyghvinvhgnqlzwrr", + "aadDomains": [ + "kfbleh" + ], + "provisioningState": "Succeeded" + } + } + }, + "identity": { + "type": "None", + "userAssignedIdentities": {}, + "principalId": "b5684bd7-7958-4c0e-9795-d686c31746d2", + "tenantId": "b5684bd7-7958-4c0e-9795-d686c31746d2" + }, + "tags": {}, + "location": "mhqthlsatwvqkl", + "id": "bhslekyvgkfomahtvjiin", + "name": "ycyrfvupthkudm", + "type": "ldwwclcpqssjomo", + "systemData": { + "createdBy": "zw", + "createdByType": "User", + "createdAt": "2023-07-25T11:16:12.868Z", + "lastModifiedBy": "isirkhwcppaqoqzoebybzikzbzkjzf", + "lastModifiedByType": "User", + "lastModifiedAt": "2023-07-25T11:16:12.868Z" + } + } + }, + "202": { + "headers": { + "location": "https://contoso.com/operationstatus" + } + } + } +} diff --git a/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp b/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp index d15a786a17fb..3c8e39dadbc4 100644 --- a/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp +++ b/specification/liftrastronomer/Astronomer.Astro.Management/main.tsp @@ -26,6 +26,12 @@ enum Versions { @useDependency(LiftrBase.Versions.v1_preview) @useDependency(LiftrBase.Data.Versions.v1_preview) v1_preview: "2023-08-01-preview", + + @doc("Dependent on Azure.ResourceManager.Versions.v1_0_Preview_1, LiftrBase.Versions.v1_preview, LiftrBase.Data.Versions.v1_preview") + @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @useDependency(LiftrBase.Versions.v1_preview) + @useDependency(LiftrBase.Data.Versions.v1_preview) + v1: "2023-08-01", } interface Operations extends Azure.ResourceManager.Operations {} @@ -41,13 +47,18 @@ model OrganizationResource is TrackedResource { @path name: string; - ...ManagedServiceIdentityProperty; + ...Legacy.ManagedServiceIdentityV4Property; } @armResourceOperations interface Organizations { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + OrganizationResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchAsync; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/astronomer.json b/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/astronomer.json index 53e3bf9d2552..544b4801dee7 100644 --- a/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/astronomer.json +++ b/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/astronomer.json @@ -569,7 +569,6 @@ } }, "required": [ - "subscriptionId", "offerDetails" ] }, @@ -777,11 +776,7 @@ "properties": { "$ref": "#/definitions/LiftrBase.Data.OrganizationProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "identity": { "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity", diff --git a/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_CreateOrUpdate_MaximumSet_Gen.json b/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_CreateOrUpdate_MaximumSet_Gen.json index 44601e85204c..9746d08fba78 100644 --- a/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_CreateOrUpdate_MaximumSet_Gen.json +++ b/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_CreateOrUpdate_MaximumSet_Gen.json @@ -9,7 +9,7 @@ "resource": { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", @@ -57,7 +57,7 @@ "body": { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", @@ -120,7 +120,7 @@ "body": { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", diff --git a/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_Get_MaximumSet_Gen.json b/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_Get_MaximumSet_Gen.json index 8e1da8995b2c..4cc58a87b3c5 100644 --- a/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_Get_MaximumSet_Gen.json +++ b/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_Get_MaximumSet_Gen.json @@ -12,7 +12,7 @@ "body": { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", diff --git a/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_ListByResourceGroup_MaximumSet_Gen.json b/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_ListByResourceGroup_MaximumSet_Gen.json index 38106c6829ae..25dd69bacd87 100644 --- a/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_ListByResourceGroup_MaximumSet_Gen.json +++ b/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_ListByResourceGroup_MaximumSet_Gen.json @@ -13,7 +13,7 @@ { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", diff --git a/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_ListBySubscription_MaximumSet_Gen.json b/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_ListBySubscription_MaximumSet_Gen.json index 825a5ec960aa..017e0ea4bd51 100644 --- a/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_ListBySubscription_MaximumSet_Gen.json +++ b/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_ListBySubscription_MaximumSet_Gen.json @@ -12,7 +12,7 @@ { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", diff --git a/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_Update_MaximumSet_Gen.json b/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_Update_MaximumSet_Gen.json index 24ed2b970a05..c8ccca13a19c 100644 --- a/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_Update_MaximumSet_Gen.json +++ b/specification/liftrastronomer/resource-manager/Astronomer.Astro/preview/2023-08-01-preview/examples/Organizations_Update_MaximumSet_Gen.json @@ -45,7 +45,7 @@ "body": { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", diff --git a/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/astronomer.json b/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/astronomer.json index e27681e04aab..6aa1f9e141de 100644 --- a/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/astronomer.json +++ b/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/astronomer.json @@ -60,7 +60,7 @@ ], "responses": { "200": { - "description": "ARM operation completed successfully.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" } @@ -99,7 +99,7 @@ ], "responses": { "200": { - "description": "ARM operation completed successfully.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OrganizationResourceListResult" } @@ -141,7 +141,7 @@ ], "responses": { "200": { - "description": "ARM operation completed successfully.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OrganizationResourceListResult" } @@ -193,7 +193,7 @@ ], "responses": { "200": { - "description": "ARM operation completed successfully.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OrganizationResource" } @@ -322,7 +322,7 @@ ], "responses": { "200": { - "description": "ARM operation completed successfully.", + "description": "Azure operation completed successfully.", "schema": { "$ref": "#/definitions/OrganizationResource" } @@ -330,14 +330,14 @@ "202": { "description": "Resource update request accepted.", "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." - }, - "Location": { - "type": "string", - "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, @@ -389,19 +389,19 @@ "202": { "description": "Resource deletion accepted.", "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, "Retry-After": { "type": "integer", "format": "int32", "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." - }, - "Location": { - "type": "string", - "description": "The Location header contains the URL where the status of the long running operation can be checked." } } }, "204": { - "description": "Resource deleted successfully." + "description": "Resource does not exist." }, "default": { "description": "An unexpected error response.", @@ -569,7 +569,6 @@ } }, "required": [ - "subscriptionId", "offerDetails" ] }, @@ -777,11 +776,7 @@ "properties": { "$ref": "#/definitions/LiftrBase.Data.OrganizationProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "identity": { "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity", @@ -849,24 +844,6 @@ "description": "Organization properties" } } - }, - "Versions": { - "type": "string", - "description": "Supported API versions for the Astronomer.Astro resource provider.", - "enum": [ - "2023-08-01" - ], - "x-ms-enum": { - "name": "Versions", - "modelAsString": true, - "values": [ - { - "name": "v1_preview", - "value": "2023-08-01", - "description": "Dependent on Azure.ResourceManager.Versions.v1_0_Preview_1, LiftrBase.Versions.v1_preview, LiftrBase.Data.Versions.v1_preview" - } - ] - } } }, "parameters": {} diff --git a/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_CreateOrUpdate_MaximumSet_Gen.json b/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_CreateOrUpdate_MaximumSet_Gen.json index f4705c201759..1fe89dc80cb7 100644 --- a/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_CreateOrUpdate_MaximumSet_Gen.json +++ b/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_CreateOrUpdate_MaximumSet_Gen.json @@ -9,15 +9,15 @@ "resource": { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { - "publisherId": "gfsqxygpnerxmvols", - "offerId": "krzkefmpxztqyusidzgpchfaswuyce", - "planId": "kndxzygsanuiqzwbfbbvoipv", - "planName": "pwqjwlq", - "termUnit": "xyygyzcazkuelz", - "termId": "pwds" + "publisherId": "astronomer1591719760654", + "offerId": "astro", + "planId": "astro-paygo", + "planName": "Monthly Pay-As-You-Go", + "termUnit": "Monthly", + "termId": "gmz7xq9ge3py" } }, "user": { @@ -57,7 +57,7 @@ "body": { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", @@ -100,7 +100,7 @@ }, "tags": {}, "location": "mhqthlsatwvqkl", - "id": "bhslekyvgkfomahtvjiin", + "id": "/subscriptions/6f490d74-8eb4-4e7d-ae07-c75776710bfa/resourceGroups/resourcegroup/providers/Astronomer.Astro/organizations/astro1234", "name": "ycyrfvupthkudm", "type": "ldwwclcpqssjomo", "systemData": { @@ -120,7 +120,7 @@ "body": { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", diff --git a/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_Get_MaximumSet_Gen.json b/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_Get_MaximumSet_Gen.json index 3948d6ee97d0..27db2f217a47 100644 --- a/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_Get_MaximumSet_Gen.json +++ b/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_Get_MaximumSet_Gen.json @@ -12,7 +12,7 @@ "body": { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", diff --git a/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_ListByResourceGroup_MaximumSet_Gen.json b/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_ListByResourceGroup_MaximumSet_Gen.json index a91cf744c759..6c7829796d4b 100644 --- a/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_ListByResourceGroup_MaximumSet_Gen.json +++ b/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_ListByResourceGroup_MaximumSet_Gen.json @@ -13,7 +13,7 @@ { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", diff --git a/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_ListBySubscription_MaximumSet_Gen.json b/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_ListBySubscription_MaximumSet_Gen.json index 32e0a22e9f44..abc4954a7a5a 100644 --- a/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_ListBySubscription_MaximumSet_Gen.json +++ b/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_ListBySubscription_MaximumSet_Gen.json @@ -12,7 +12,7 @@ { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", diff --git a/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_Update_MaximumSet_Gen.json b/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_Update_MaximumSet_Gen.json index bb2f5bb42d7d..3e35f8e7a994 100644 --- a/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_Update_MaximumSet_Gen.json +++ b/specification/liftrastronomer/resource-manager/Astronomer.Astro/stable/2023-08-01/examples/Organizations_Update_MaximumSet_Gen.json @@ -45,7 +45,7 @@ "body": { "properties": { "marketplace": { - "subscriptionId": "ntthclydlpqmasr", + "subscriptionId": null, "subscriptionStatus": "PendingFulfillmentStart", "offerDetails": { "publisherId": "gfsqxygpnerxmvols", diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestMappings_CreateOrUpdate.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestMappings_CreateOrUpdate.json new file mode 100644 index 000000000000..b6847087411c --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestMappings_CreateOrUpdate.json @@ -0,0 +1,58 @@ +{ + "title": "Create a Load Test Mapping Resource", + "operationId": "LoadTestMappings_CreateOrUpdate", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestMappingName": "myLoadTestMapping", + "resource": { + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testId": "123456" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestMappings/myLoadTestMapping", + "name": "myLoadTestMapping", + "type": "Microsoft.LoadTestService/loadTestMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1002", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:34:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testId": "123456" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestMappings/myLoadTestMapping", + "name": "myLoadTestMapping", + "type": "Microsoft.LoadTestService/loadTestMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testId": "123456" + } + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestMappings_Delete.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestMappings_Delete.json new file mode 100644 index 000000000000..688176e1f150 --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestMappings_Delete.json @@ -0,0 +1,13 @@ +{ + "title": "Delete a Load Test Mapping Resource", + "operationId": "LoadTestMappings_Delete", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestMappingName": "myLoadTestMapping" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestMappings_Get.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestMappings_Get.json new file mode 100644 index 000000000000..aa5753eb2617 --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestMappings_Get.json @@ -0,0 +1,31 @@ +{ + "title": "Get a Load Test Mapping Resource", + "operationId": "LoadTestMappings_Get", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestMappingName": "myLoadTestMapping" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestMappings/myLoadTestMapping", + "name": "myLoadTestMapping", + "type": "Microsoft.LoadTestService/loadTestMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testId": "123456" + } + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestMappings_List.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestMappings_List.json new file mode 100644 index 000000000000..18e0a5a192ba --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestMappings_List.json @@ -0,0 +1,34 @@ +{ + "title": "List all Load Test Mappings by Source Resource Id", + "operationId": "LoadTestMappings_List", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestMappings/myLoadTestMapping", + "name": "myLoadTestMapping", + "type": "Microsoft.LoadTestService/loadTestMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testId": "123456" + } + } + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestMappings_Update.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestMappings_Update.json new file mode 100644 index 000000000000..2b20b6300fb6 --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestMappings_Update.json @@ -0,0 +1,34 @@ +{ + "title": "Update a load test mapping", + "operationId": "LoadTestMappings_Update", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestMappingName": "myLoadTestMapping", + "properties": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestMappings/myLoadTestMapping", + "name": "myLoadTestMapping", + "type": "Microsoft.LoadTestService/loadTestMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testId": "123456" + } + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestProfileMappings_CreateOrUpdate.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestProfileMappings_CreateOrUpdate.json new file mode 100644 index 000000000000..b99bbc3a7a0d --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestProfileMappings_CreateOrUpdate.json @@ -0,0 +1,57 @@ +{ + "title": "Create a Load Test Profile Mappings resource", + "operationId": "LoadTestProfileMappings_CreateOrUpdate", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestProfileMappingName": "myLoadTestProfileMapping", + "resource": { + "properties": { + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testProfileId": "123456" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestProfileMappings/myLoadTestProfileMapping", + "name": "myLoadTestProfileMapping", + "type": "Microsoft.LoadTestService/loadTestProfileMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1002", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:34:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testProfileId": "123456" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestProfileMappings/myLoadTestProfileMapping", + "name": "myLoadTestProfileMapping", + "type": "Microsoft.LoadTestService/loadTestProfileMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testProfileId": "123456" + } + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestProfileMappings_Delete.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestProfileMappings_Delete.json new file mode 100644 index 000000000000..1c9ac22a0fc8 --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestProfileMappings_Delete.json @@ -0,0 +1,13 @@ +{ + "title": "Delete a Load Test Profile Mapping Resource", + "operationId": "LoadTestProfileMappings_Delete", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestProfileMappingName": "myLoadTestProfileMapping" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestProfileMappings_Get.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestProfileMappings_Get.json new file mode 100644 index 000000000000..6450e5fa2b39 --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestProfileMappings_Get.json @@ -0,0 +1,31 @@ +{ + "title": "Get a Load Test Profile Mapping Resource", + "operationId": "LoadTestProfileMappings_Get", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestProfileMappingName": "myLoadTestProfileMapping" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestProfileMappings/myLoadTestProfileMapping", + "name": "myLoadTestProfileMapping", + "type": "Microsoft.LoadTestService/loadTestProfileMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testProfileId": "123456" + } + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestProfileMappings_List.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestProfileMappings_List.json new file mode 100644 index 000000000000..f6b7653dadc5 --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestProfileMappings_List.json @@ -0,0 +1,34 @@ +{ + "title": "List Load Test Profile Mappings by Source Resource Id", + "operationId": "LoadTestProfileMappings_List", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestProfileMappings/myLoadTestProfileMapping", + "name": "myLoadTestProfileMapping", + "type": "Microsoft.LoadTestService/loadTestProfileMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testProfileId": "123456" + } + } + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestProfileMappings_Update.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestProfileMappings_Update.json new file mode 100644 index 000000000000..060d356dc29c --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTestProfileMappings_Update.json @@ -0,0 +1,34 @@ +{ + "title": "Update a Load Test Profile Mapping", + "operationId": "LoadTestProfileMappings_Update", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestProfileMappingName": "myLoadTestProfileMapping", + "properties": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestProfileMappings/myLoadTestProfileMapping", + "name": "myLoadTestProfileMapping", + "type": "Microsoft.LoadTestService/loadTestProfileMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testProfileId": "123456" + } + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_CreateOrUpdate.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_CreateOrUpdate.json new file mode 100644 index 000000000000..f84b7a9864a8 --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_CreateOrUpdate.json @@ -0,0 +1,121 @@ +{ + "operationId": "LoadTests_CreateOrUpdate", + "title": "Create a LoadTestResource", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "dummyrg", + "loadTestName": "myLoadTest", + "LoadTestResource": { + "location": "westus", + "tags": { + "Team": "Dev Exp" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "properties": { + "description": "This is new load test resource", + "encryption": { + "identity": { + "type": "UserAssigned", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1" + }, + "keyUrl": "https://dummy.vault.azure.net/keys/dummykey1" + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "12345678-1234-1234-1234-123456789012", + "tenantId": "12345678-1234-1234-4321-123456789012", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "principalId": "12345678-1234-4321-1234-123456789012", + "clientId": "12345678-4321-1234-1234-123456789012" + } + } + }, + "properties": { + "description": "This is new load test resource", + "dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com", + "provisioningState": "Succeeded", + "encryption": { + "identity": { + "type": "UserAssigned", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1" + }, + "keyUrl": "https://dummy.vault.azure.net/keys/dummykey1" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "name": "myLoadTest", + "type": "Microsoft.LoadTestService/loadTests", + "tags": { + "Team": "Dev Exp" + }, + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.loadtestservice/locations/WESTUS/operationStatuses/abc?api-version=2022-12-01" + }, + "body": { + "location": "westus", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "12345678-1234-1234-1234-123456789012", + "tenantId": "12345678-1234-1234-4321-123456789012", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "principalId": "12345678-1234-4321-1234-123456789012", + "clientId": "12345678-4321-1234-1234-123456789012" + } + } + }, + "properties": { + "description": "This is new load test resource", + "dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com", + "provisioningState": "Succeeded", + "encryption": { + "identity": { + "type": "UserAssigned", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1" + }, + "keyUrl": "https://dummy.vault.azure.net/keys/dummykey1" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "name": "myLoadTest", + "type": "Microsoft.LoadTestService/loadTests", + "tags": { + "Team": "Dev Exp" + }, + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + } + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_Delete.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_Delete.json new file mode 100644 index 000000000000..d2f5cd404d13 --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_Delete.json @@ -0,0 +1,18 @@ +{ + "operationId": "LoadTests_Delete", + "title": "Delete a LoadTestResource.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "dummyrg", + "loadTestName": "myLoadTest" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.loadtestservice/locations/WESTUS/operationStatuses/abc?api-version=2022-12-01" + } + }, + "204": {} + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_Get.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_Get.json new file mode 100644 index 000000000000..d659ec05396f --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_Get.json @@ -0,0 +1,36 @@ +{ + "operationId": "LoadTests_Get", + "title": "Get a LoadTestResource.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "dummyrg", + "loadTestName": "myLoadTest" + }, + "responses": { + "200": { + "body": { + "location": "westus", + "properties": { + "description": "This is new load test resource", + "dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "name": "myLoadTest", + "type": "Microsoft.LoadTestService/loadTests", + "tags": { + "Team": "Dev Exp" + }, + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + } + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_ListByResourceGroup.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_ListByResourceGroup.json new file mode 100644 index 000000000000..f90482ffb4d7 --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_ListByResourceGroup.json @@ -0,0 +1,39 @@ +{ + "operationId": "LoadTests_ListByResourceGroup", + "title": "List LoadTestResource resources by resource group.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "dummyrg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "westus", + "properties": { + "description": "This is new load test resource", + "dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "name": "myLoadTest", + "type": "Microsoft.LoadTestService/loadTests", + "tags": { + "Team": "Dev Exp" + }, + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + } + } + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_ListBySubscription.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_ListBySubscription.json new file mode 100644 index 000000000000..3f5cead7f3b3 --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_ListBySubscription.json @@ -0,0 +1,38 @@ +{ + "operationId": "LoadTests_ListBySubscription", + "title": "List LoadTestResource resources by subscription ID.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "westus", + "properties": { + "description": "This is new load test resource", + "dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "name": "myLoadTest", + "type": "Microsoft.LoadTestService/loadTests", + "tags": { + "Team": "Dev Exp" + }, + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + } + } + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_ListOutboundNetworkDependenciesEndpoints.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_ListOutboundNetworkDependenciesEndpoints.json new file mode 100644 index 000000000000..2ed76648276e --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_ListOutboundNetworkDependenciesEndpoints.json @@ -0,0 +1,110 @@ +{ + "operationId": "LoadTests_ListOutboundNetworkDependenciesEndpoints", + "title": "Lists the endpoints that agents may call as part of load testing.", + "parameters": { + "loadTestName": "sampleloadtest", + "resourceGroupName": "default-azureloadtest-japaneast", + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "Azure Batch", + "endpoints": [ + { + "domainName": "sampleacct.japaneast.batch.azure.com", + "description": "Applicable to job manager tasks, tasks that use job scoped authentication, or any task that makes calls to Batch.", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "japaneast.service.batch.azure.com", + "description": "Applicable to all Azure Batch pools.", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + }, + { + "category": "Azure Storage", + "endpoints": [ + { + "domainName": "autostorageaccountname.blob.core.windows.net", + "description": "AutoStorage endpoint for this Batch account. Applicable to all Azure Batch pools under this account.", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "*.blob.core.windows.net", + "description": "Applicable to all Azure Batch pools.", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "*.table.core.windows.net", + "description": "Applicable to all Azure Batch pools.", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "*.queue.core.windows.net", + "description": "Applicable to all Azure Batch pools.", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + }, + { + "category": "Microsoft Package Repository", + "endpoints": [ + { + "domainName": "packages.microsoft.com", + "description": "Only applicable to pools containing a Mount Configuration. Learn about Mount Configurations in Batch at https://docs.microsoft.com/azure/batch/virtual-file-mount.", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + }, + { + "category": "Azure Key Vault", + "endpoints": [ + { + "domainName": "*.vault.azure.net", + "description": "Only applicable to pools containing a Disk Encryption Configuration and whose VM size does not support encryption at host. Learn more about disk encryption in Azure Batch at https://docs.microsoft.com/azure/batch/disk-encryption. Learn more about encryption at host and supported VM sizes at https://docs.microsoft.com/azure/virtual-machines/disks-enable-host-based-encryption-portal.", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_Update.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_Update.json new file mode 100644 index 000000000000..489575c0460f --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/LoadTests_Update.json @@ -0,0 +1,82 @@ +{ + "operationId": "LoadTests_Update", + "title": "Update a LoadTestResource.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "dummyrg", + "loadTestName": "myLoadTest", + "LoadTestResourcePatchRequestBody": { + "tags": { + "Team": "Dev Exp", + "Division": "LT" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "properties": { + "description": "This is new load test resource", + "encryption": { + "identity": { + "type": "SystemAssigned", + "resourceId": null + }, + "keyUrl": "https://dummy.vault.azure.net/keys/dummykey1" + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "12345678-1234-1234-1234-123456789012", + "tenantId": "12345678-1234-1234-4321-123456789012", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "principalId": "12345678-1234-4321-1234-123456789012", + "clientId": "12345678-4321-1234-1234-123456789012" + } + } + }, + "properties": { + "description": "This is new load test resource", + "dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com", + "provisioningState": "Succeeded", + "encryption": { + "identity": { + "type": "SystemAssigned", + "resourceId": null + }, + "keyUrl": "https://dummy.vault.azure.net/keys/dummykey1" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "name": "myLoadTest", + "type": "Microsoft.LoadTestService/loadTests", + "tags": { + "Team": "Dev Exp", + "Division": "LT" + }, + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.loadtestservice/locations/WESTUS/operationStatuses/abc?api-version=2022-12-01" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/Operations_List.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/Operations_List.json new file mode 100644 index 000000000000..a9a5c1b3ab76 --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/Operations_List.json @@ -0,0 +1,46 @@ +{ + "operationId": "Operations_List", + "title": "List the operations for the provider.", + "parameters": { + "api-version": "2023-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.LoadTestService/loadTests/Write", + "isDataAction": false, + "display": { + "provider": "Microsoft.LoadTestService", + "resource": "loadTests", + "operation": "Creates or updates the LoadTests", + "description": "Set LoadTests" + } + }, + { + "name": "Microsoft.LoadTestService/loadTests/Delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.LoadTestService", + "resource": "loadTests", + "operation": "Deletes the LoadTests", + "description": "Delete LoadTests" + } + }, + { + "name": "Microsoft.LoadTestService/loadTests/Read", + "isDataAction": false, + "display": { + "provider": "Microsoft.LoadTestService", + "resource": "loadTests", + "operation": "Reads the LoadTests", + "description": "Read LoadTests" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/Quotas_CheckAvailability.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/Quotas_CheckAvailability.json new file mode 100644 index 000000000000..29cab6ade828 --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/Quotas_CheckAvailability.json @@ -0,0 +1,34 @@ +{ + "operationId": "Quotas_CheckAvailability", + "title": "Check Quota Availability on quota bucket per region per subscription.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "westus", + "quotaBucketName": "testQuotaBucket", + "QuotaBucketRequest": { + "properties": { + "currentUsage": 20, + "currentQuota": 40, + "newQuota": 50, + "dimensions": { + "subscriptionId": "testsubscriptionId", + "location": "westus" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.LoadTestService/locations/westus/quotas/testQuotaBucket", + "name": "testQuotaBucket", + "type": "Microsoft.LoadTestService/locations/quotas", + "properties": { + "isAvailable": false, + "availabilityStatus": "The requested quota is currently unavailable. Please request for different quota, or upgrade subscription offer type and try again later." + } + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/Quotas_Get.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/Quotas_Get.json new file mode 100644 index 000000000000..6b42bcc0c58c --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/Quotas_Get.json @@ -0,0 +1,23 @@ +{ + "operationId": "Quotas_Get", + "title": "Get the available quota for a quota bucket per region per subscription.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "westus", + "quotaBucketName": "testQuotaBucket" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.LoadTestService/locations/westus/quotas/testQuotaBucket", + "name": "testQuotaBucket", + "type": "Microsoft.LoadTestService/locations/quotas", + "properties": { + "limit": 50, + "usage": 20 + } + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/Quotas_List.json b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/Quotas_List.json new file mode 100644 index 000000000000..75900512c036 --- /dev/null +++ b/specification/loadtestservice/LoadTestService.Management/examples/2023-12-01-preview/Quotas_List.json @@ -0,0 +1,26 @@ +{ + "operationId": "Quotas_List", + "title": "List quotas for a given subscription Id.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.LoadTestService/locations/westus/quotas/testQuotaBucket", + "name": "testQuotaBucket", + "type": "Microsoft.LoadTestService/locations/quotas", + "properties": { + "limit": 50, + "usage": 20 + } + } + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService.Management/main.tsp b/specification/loadtestservice/LoadTestService.Management/main.tsp index 23a0a7a2d980..662f0efca706 100644 --- a/specification/loadtestservice/LoadTestService.Management/main.tsp +++ b/specification/loadtestservice/LoadTestService.Management/main.tsp @@ -26,4 +26,7 @@ enum APIVersions { @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) @useDependency(Azure.Core.Versions.v1_0_Preview_2) v2022_12_01: "2022-12-01", + + @doc("The 2023-12-01-preview version of the Azure Load Testing Resource manager API.") + v2023_12_01_preview: "2023-12-01-preview", } diff --git a/specification/loadtestservice/LoadTestService.Management/models.tsp b/specification/loadtestservice/LoadTestService.Management/models.tsp index a84ddca037e3..9f6f2d084916 100644 --- a/specification/loadtestservice/LoadTestService.Management/models.tsp +++ b/specification/loadtestservice/LoadTestService.Management/models.tsp @@ -26,6 +26,67 @@ model LoadTestResource is TrackedResource { ...ManagedServiceIdentityProperty; } +@extensionResource +@doc("LoadTest mapping resource details") +@added(APIVersions.v2023_12_01_preview) +model LoadTestMappingResource is ProxyResource { + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-name-pattern" "Existing API" + @doc("Load Test Mapping name") + @key("loadTestMappingName") + @path + @segment("loadTestMappings") + @pattern("^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$") + name: string; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "Operations on the resource are sync" +@doc("Azure LoadTest mapping resource properties.") +@added(APIVersions.v2023_12_01_preview) +model LoadTestMappingProperties { + @doc("Mapped source resource Id.") + @maxLength(1024) + sourceResourceId?: string; + + @doc("Mapped Azure Load Test resource Id.") + @maxLength(1024) + azureLoadTestingResourceId?: string; + + @doc("Mapped Azure Load Test resource test-id.") + @maxLength(256) + testId?: string; +} + +@extensionResource +@doc("LoadTest profile mapping resource details") +@added(APIVersions.v2023_12_01_preview) +model LoadTestProfileMappingResource + is ProxyResource { + #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-name-pattern" "Existing API" + @doc("Load Test Profile Mapping name") + @key("loadTestProfileMappingName") + @path + @segment("loadTestProfileMappings") + @pattern("^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$") + name: string; +} + +#suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-provisioning-state" "Operations on the resource are sync" +@doc("Azure LoadTest profile mapping resource properties.") +@added(APIVersions.v2023_12_01_preview) +model LoadTestProfileMappingProperties { + @doc("Mapped source resource Id.") + @maxLength(1024) + sourceResourceId?: string; + + @doc("Mapped Azure Load Test resource Id.") + @maxLength(1024) + azureLoadTestingResourceId?: string; + + @doc("Mapped Azure Load Test resource test-profile-id.") + @maxLength(60) + testProfileId?: string; +} + @doc("Resources provisioning states.") union ResourceState { string, diff --git a/specification/loadtestservice/LoadTestService.Management/routes.tsp b/specification/loadtestservice/LoadTestService.Management/routes.tsp index 1f340ab881b9..c42dca33c8df 100644 --- a/specification/loadtestservice/LoadTestService.Management/routes.tsp +++ b/specification/loadtestservice/LoadTestService.Management/routes.tsp @@ -5,6 +5,7 @@ import "@azure-tools/typespec-azure-resource-manager"; using Azure.ResourceManager; using OpenAPI; +using TypeSpec.Versioning; namespace Microsoft.LoadTestService; @@ -43,6 +44,7 @@ interface LoadTests { LoadTestResource, LoadTestProperties, LroHeaders = ArmAsyncOperationHeader & + ArmLroLocationHeader & Azure.Core.Foundations.RetryAfterHeader >; @@ -73,3 +75,47 @@ interface Quotas { CheckQuotaAvailabilityResponse >; } + +@armResourceOperations +interface LoadTestMappings { + @added(APIVersions.v2023_12_01_preview) + createOrUpdate is ArmResourceCreateOrReplaceSync; + + @added(APIVersions.v2023_12_01_preview) + get is ArmResourceRead; + + @added(APIVersions.v2023_12_01_preview) + delete is ArmResourceDeleteSync; + + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "Existing API" + @added(APIVersions.v2023_12_01_preview) + update is ArmResourcePatchSync< + LoadTestMappingResource, + LoadTestMappingProperties + >; + + @added(APIVersions.v2023_12_01_preview) + listByScope is ArmResourceListByParent; +} + +@armResourceOperations +interface LoadTestProfileMappings { + @added(APIVersions.v2023_12_01_preview) + createOrUpdate is ArmResourceCreateOrReplaceSync; + + @added(APIVersions.v2023_12_01_preview) + get is ArmResourceRead; + + @added(APIVersions.v2023_12_01_preview) + delete is ArmResourceDeleteSync; + + #suppress "@azure-tools/typespec-azure-resource-manager/lro-location-header" "Existing API" + @added(APIVersions.v2023_12_01_preview) + update is ArmResourcePatchSync< + LoadTestProfileMappingResource, + LoadTestProfileMappingProperties + >; + + @added(APIVersions.v2023_12_01_preview) + listByScope is ArmResourceListByParent; +} diff --git a/specification/loadtestservice/LoadTestService/client.tsp b/specification/loadtestservice/LoadTestService/client.tsp index 8f2d6060a07b..0b0a9a46833d 100644 --- a/specification/loadtestservice/LoadTestService/client.tsp +++ b/specification/loadtestservice/LoadTestService/client.tsp @@ -7,6 +7,7 @@ using Microsoft.LoadTestService; @useDependency(APIVersions.v2022_11_01) @useDependency(APIVersions.v2023_04_01_preview) +@useDependency(APIVersions.v2024_05_01_preview) namespace Customizations; #suppress "@azure-tools/typespec-azure-core/use-standard-operations" @@ -58,3 +59,27 @@ interface TestRunOperations { #suppress "@azure-tools/typespec-azure-core/no-operation-id" stopTestRun is LoadTestRun.stop; } + +@client({ + name: "TestProfileAdministrationClient", + service: Microsoft.LoadTestService, +}) +interface TestProfileAdministrationOperations { + createOrUpdateTestProfile is TestProfileAdministration.createOrUpdateTestProfile; + deleteTestProfile is TestProfileAdministration.deleteTestProfile; + getTestProfile is TestProfileAdministration.getTestProfile; + listTestProfiles is TestProfileAdministration.listTestProfiles; +} + +@client({ + name: "TestProfileRunClient", + service: Microsoft.LoadTestService, +}) +interface TestProfileRunOperations { + createOrUpdateTestProfileRun is TestProfileRunAdministration.createOrUpdateTestProfileRun; + deleteTestProfileRun is TestProfileRunAdministration.deleteTestProfileRun; + getTestProfileRun is TestProfileRunAdministration.getTestProfileRun; + listTestProfileRuns is TestProfileRunAdministration.listTestProfileRuns; + #suppress "@azure-tools/typespec-azure-core/no-operation-id" + stopTestProfileRun is TestProfileRunAdministration.stop; +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTest.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTest.json new file mode 100644 index 000000000000..45e8d327721e --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTest.json @@ -0,0 +1,198 @@ +{ + "operationId": "LoadTestAdministration_CreateOrUpdateTest", + "title": "Create or update a load test", + "parameters": { + "api-version": "2024-05-01-preview", + "testId": "12345678-1234-1234-1234-123456789012", + "body": { + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/sampleprovider/sampleresourcetype/sampleresourcename" + } + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + }, + "201": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestAppComponents.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestAppComponents.json new file mode 100644 index 000000000000..af5ede5a8e98 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestAppComponents.json @@ -0,0 +1,60 @@ +{ + "operationId": "LoadTestAdministration_CreateOrUpdateAppComponents", + "title": "Add or update app components to a load test", + "parameters": { + "testId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2024-05-01-preview", + "body": { + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "kind": "web" + } + } + } + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestProfile.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestProfile.json new file mode 100644 index 000000000000..64e2f5516732 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestProfile.json @@ -0,0 +1,81 @@ +{ + "operationId": "TestProfileAdministration_CreateOrUpdateTestProfile", + "title": "Create or update a test profile", + "parameters": { + "api-version": "2024-05-01-preview", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "body": { + "description": "sample description", + "displayName": "Performance_TestProfile", + "testId": "12346-abcd-6789", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + } + } + }, + "responses": { + "200": { + "body": { + "testProfileId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_TestProfile", + "testId": "12346-abcd-6789", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testProfileId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_TestProfile", + "testId": "12346-abcd-6789", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestProfileRun.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestProfileRun.json new file mode 100644 index 000000000000..d0765c4ddf08 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestProfileRun.json @@ -0,0 +1,99 @@ +{ + "operationId": "TestProfileRunAdministration_CreateOrUpdateTestProfileRun", + "title": "Create/update and start a test profile run", + "parameters": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview", + "body": { + "displayName": "Performance_TestProfile_Run1", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "description": "sample description" + } + }, + "responses": { + "200": { + "body": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_TestProfile_Run1", + "description": "sample description", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "status": "ACCEPTED", + "startDateTime": "2024-05-01T16:43:46.072Z", + "endDateTime": "2024-05-01T16:43:46.072Z", + "durationInSeconds": 400, + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "testRunDetails": { + "testRun1": { + "status": "DONE", + "configurationId": "config1", + "properties": {} + }, + "testRun2": { + "status": "DONE", + "configurationId": "config2", + "properties": {} + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_TestProfile_Run1", + "description": "sample description", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "status": "ACCEPTED", + "startDateTime": "2024-05-01T16:43:46.072Z", + "endDateTime": "2024-05-01T16:43:46.072Z", + "durationInSeconds": 400, + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "testRunDetails": { + "testRun1": { + "status": "DONE", + "configurationId": "config1", + "properties": {} + }, + "testRun2": { + "status": "DONE", + "configurationId": "config2", + "properties": {} + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestRun.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestRun.json new file mode 100644 index 000000000000..7e873f3d33ef --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestRun.json @@ -0,0 +1,289 @@ +{ + "operationId": "LoadTestRun_CreateOrUpdateTestRun", + "title": "Create/update and start a load test run", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "oldTestRunId": "12345678-1234-1234-1234-123456789012", + "api-version": "2024-05-01-preview", + "body": { + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "debugLogsEnabled": true, + "requestDataLevel": "NONE" + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "ACCEPTED", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "results.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "debugLogsEnabled": true, + "requestDataLevel": "NONE" + } + }, + "201": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "ACCEPTED", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileName": "results.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://dummyurl.com/logresource", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "debugLogsEnabled": true, + "requestDataLevel": "NONE" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestRunAppComponents.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestRunAppComponents.json new file mode 100644 index 000000000000..ecd7d4b4e8cf --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestRunAppComponents.json @@ -0,0 +1,60 @@ +{ + "operationId": "LoadTestRun_CreateOrUpdateAppComponents", + "title": "Add or update app components to a load test run", + "parameters": { + "testRunId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2024-05-01-preview", + "body": { + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "kind": "web" + } + } + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestRunServerMetricsConfig.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestRunServerMetricsConfig.json new file mode 100644 index 000000000000..27f28ac28dbb --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestRunServerMetricsConfig.json @@ -0,0 +1,65 @@ +{ + "operationId": "LoadTestRun_CreateOrUpdateServerMetricsConfig", + "title": "Add or update server metrics configuration for a load test run", + "parameters": { + "testRunId": "edc6e529-d009-4b99-b763-ca492e3a2823", + "api-version": "2024-05-01-preview", + "body": { + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + } + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestServerMetricsConfig.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestServerMetricsConfig.json new file mode 100644 index 000000000000..4223c7705a65 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/CreateOrUpdateTestServerMetricsConfig.json @@ -0,0 +1,65 @@ +{ + "operationId": "LoadTestAdministration_CreateOrUpdateServerMetricsConfig", + "title": "Add or update server metrics configuration for a load test.", + "parameters": { + "testId": "edc6e529-d009-4b99-b763-ca492e3a2823", + "api-version": "2024-05-01-preview", + "body": { + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + } + } + }, + "responses": { + "200": { + "body": { + "testId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/DeleteTest.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/DeleteTest.json new file mode 100644 index 000000000000..247ecd27d59a --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/DeleteTest.json @@ -0,0 +1,11 @@ +{ + "operationId": "LoadTestAdministration_DeleteTest", + "title": "Delete a load test", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/DeleteTestFile.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/DeleteTestFile.json new file mode 100644 index 000000000000..9b1efbf348ee --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/DeleteTestFile.json @@ -0,0 +1,12 @@ +{ + "operationId": "LoadTestAdministration_DeleteTestFile", + "title": "Delete a file from a load test", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileName": "app.jmx", + "api-version": "2024-05-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/DeleteTestProfile.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/DeleteTestProfile.json new file mode 100644 index 000000000000..3c7b3ca43022 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/DeleteTestProfile.json @@ -0,0 +1,11 @@ +{ + "operationId": "TestProfileAdministration_DeleteTestProfile", + "title": "Delete a test profile", + "parameters": { + "api-version": "2024-05-01-preview", + "testProfileId": "12345678-1234-1234-1234-123456789012" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/DeleteTestProfileRun.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/DeleteTestProfileRun.json new file mode 100644 index 000000000000..eddc4ddff2aa --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/DeleteTestProfileRun.json @@ -0,0 +1,11 @@ +{ + "operationId": "TestProfileRunAdministration_DeleteTestProfileRun", + "title": "Deletes a test profile run", + "parameters": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/DeleteTestRun.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/DeleteTestRun.json new file mode 100644 index 000000000000..c35fdc1a3dce --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/DeleteTestRun.json @@ -0,0 +1,11 @@ +{ + "operationId": "LoadTestRun_DeleteTestRun", + "title": "Delete a load test run", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTest.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTest.json new file mode 100644 index 000000000000..25c3d032ac86 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTest.json @@ -0,0 +1,86 @@ +{ + "operationId": "LoadTestAdministration_GetTest", + "title": "Get a load test.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 0, + "result": null + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestFile.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestFile.json new file mode 100644 index 000000000000..8ae95096a117 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestFile.json @@ -0,0 +1,20 @@ +{ + "operationId": "LoadTestAdministration_GetTestFile", + "title": "Get a file from a load test", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileName": "sample.jmx", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestProfile.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestProfile.json new file mode 100644 index 000000000000..de3ccfec49b7 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestProfile.json @@ -0,0 +1,36 @@ +{ + "operationId": "TestProfileAdministration_GetTestProfile", + "title": "Get a test profile.", + "parameters": { + "api-version": "2024-05-01-preview", + "testProfileId": "12345678-1234-1234-1234-123456789012" + }, + "responses": { + "200": { + "body": { + "testProfileId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_TestProfile", + "testId": "12346-abcd-6789", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestProfileRun_Executed.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestProfileRun_Executed.json new file mode 100644 index 000000000000..2dbfe73ad54f --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestProfileRun_Executed.json @@ -0,0 +1,66 @@ +{ + "operationId": "TestProfileRunAdministration_GetTestProfileRun", + "title": "Get a test profile run after the run has executed.", + "parameters": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_TestProfile_Run1", + "description": "sample description", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "status": "DONE", + "startDateTime": "2024-05-01T16:43:46.072Z", + "endDateTime": "2024-05-01T16:43:46.072Z", + "durationInSeconds": 400, + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "testRunDetails": { + "testRun1": { + "status": "DONE", + "configurationId": "config1", + "properties": {} + }, + "testRun2": { + "status": "DONE", + "configurationId": "config2", + "properties": {} + } + }, + "recommendations": [ + { + "category": "ThroughputOptimized", + "configurations": [ + "config2" + ] + }, + { + "category": "CostOptimized", + "configurations": [ + "config1" + ] + } + ], + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestProfileRun_Executing.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestProfileRun_Executing.json new file mode 100644 index 000000000000..25756f76a81f --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestProfileRun_Executing.json @@ -0,0 +1,38 @@ +{ + "operationId": "TestProfileRunAdministration_GetTestProfileRun", + "title": "Get a test profile run while the run is executing.", + "parameters": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_TestProfile_Run1", + "description": "sample description", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "status": "EXECUTING", + "startDateTime": "2024-05-01T16:43:46.072Z", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestRun.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestRun.json new file mode 100644 index 000000000000..4131ae8e076e --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestRun.json @@ -0,0 +1,138 @@ +{ + "operationId": "LoadTestRun_GetTestRun", + "title": "Get a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "DONE", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + }, + "reportFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "debugLogsEnabled": true, + "requestDataLevel": "NONE" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestRunFile.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestRunFile.json new file mode 100644 index 000000000000..10ea8702f31f --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/GetTestRunFile.json @@ -0,0 +1,20 @@ +{ + "operationId": "LoadTestRun_GetTestRunFile", + "title": "Get a file associated to a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "fileName": "sample.jmx", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListMetricDimensionValues.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListMetricDimensionValues.json new file mode 100644 index 000000000000..4607045b5f9f --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListMetricDimensionValues.json @@ -0,0 +1,23 @@ +{ + "operationId": "LoadTestRun_ListMetricDimensionValues", + "title": "List the dimension values for the given metric dimension name.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "interval": "PT1H", + "name": "SamplerName", + "aggregation": "Average", + "metricname": "ActiveThreads", + "metricNamespace": "LoadTestRunMetrics", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + "HighLoadTest" + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestAppComponents.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestAppComponents.json new file mode 100644 index 000000000000..73eb95c79906 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestAppComponents.json @@ -0,0 +1,30 @@ +{ + "operationId": "LoadTestAdministration_GetAppComponents", + "title": "Get associated app component for the given test.", + "parameters": { + "testId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestFiles.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestFiles.json new file mode 100644 index 000000000000..e9291c015ab7 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestFiles.json @@ -0,0 +1,25 @@ +{ + "operationId": "LoadTestAdministration_ListTestFiles", + "title": "Get all test files.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2024-05-01-preview", + "continuationToken": "continuation token" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestProfileRuns.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestProfileRuns.json new file mode 100644 index 000000000000..78af0f0b7ad3 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestProfileRuns.json @@ -0,0 +1,63 @@ +{ + "operationId": "TestProfileRunAdministration_ListTestProfileRuns", + "title": "Get all test profile runs for the specified filters.", + "parameters": { + "maxPageSize": 30, + "minStartDateTime": "2024-05-01T16:00:46.072Z", + "maxStartDateTime": "2024-05-01T16:50:46.072Z", + "minEndDateTime": "2024-05-01T16:00:46.072Z", + "maxEndDateTime": "2024-05-01T16:50:46.072Z", + "testProfileIds": "12345678-1234-1234-1234-123456789012", + "statuses": "ACCEPTED", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_TestProfile_Run1", + "description": "sample description", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "status": "ACCEPTED", + "startDateTime": "2024-05-01T16:43:46.072Z", + "endDateTime": "2024-05-01T16:43:46.072Z", + "durationInSeconds": 400, + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "testRunDetails": { + "testRun1": { + "status": "DONE", + "configurationId": "config1", + "properties": {} + }, + "testRun2": { + "status": "DONE", + "configurationId": "config2", + "properties": {} + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + ], + "nextLink": "https://00000000-0000-0000-aaaa-00aa00aa00aa.eastus.cnt-prod.loadtesting.azure.com/test-profile-runs?orderby=startDateTime%20desc&continuationToken=some-value&search=Performance_TestProfile&&executionFrom=&executionTo=&maxPageSize=50&api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestProfiles.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestProfiles.json new file mode 100644 index 000000000000..fcf359be1f1a --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestProfiles.json @@ -0,0 +1,45 @@ +{ + "operationId": "TestProfileAdministration_ListTestProfiles", + "title": "Get all test profiles for the specified filters.", + "parameters": { + "maxPageSize": 30, + "lastModifiedStartTime": "2024-05-01T16:00:46.072Z", + "lastModifiedEndTime": "2024-05-01T16:50:46.072Z", + "testProfileIds": "12345678-1234-1234-1234-123456789012", + "testIds": "12346-abcd-6789", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testProfileId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_TestProfile", + "testId": "12346-abcd-6789", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + ], + "nextLink": "https://00000000-0000-0000-aaaa-00aa00aa00aa.eastus.cnt-prod.loadtesting.azure.com/test-profiles?orderby=lastModifiedDateTime%20desc&continuationToken=some-value&search=Performance_TestProfile&&lastModifiedStartTime=&lastModifiedEndTime=&maxPageSize=50&api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRunAppComponents.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRunAppComponents.json new file mode 100644 index 000000000000..4cbe3b137b59 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRunAppComponents.json @@ -0,0 +1,30 @@ +{ + "operationId": "LoadTestRun_GetAppComponents", + "title": "Get associated app component for the given test run.", + "parameters": { + "testRunId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRunMetrics.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRunMetrics.json new file mode 100644 index 000000000000..b20e4676f4ba --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRunMetrics.json @@ -0,0 +1,465 @@ +{ + "operationId": "LoadTestRun_ListMetrics", + "title": "List the metric values for a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "interval": "PT1H", + "aggregation": "Average", + "metricname": "ActiveThreads", + "metricNamespace": "LoadTestRunMetrics", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "api-version": "2024-05-01-preview", + "body": { + "filters": [ + { + "name": "SamplerName", + "values": [ + "HTTP Request" + ] + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "data": [ + { + "timestamp": "2022-10-29T08:44:40.000Z", + "value": 10.0 + }, + { + "timestamp": "2022-10-29T08:44:45.000Z", + "value": 28.0 + }, + { + "timestamp": "2022-10-29T08:44:50.000Z", + "value": 45.0 + }, + { + "timestamp": "2022-10-29T08:44:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:25.000Z", + "value": 49.0 + } + ], + "dimensionValues": [ + { + "name": "SamplerName", + "value": "HighLoadTest" + } + ] + } + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRunMetricsDefinitions.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRunMetricsDefinitions.json new file mode 100644 index 000000000000..fe381e980d2b --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRunMetricsDefinitions.json @@ -0,0 +1,156 @@ +{ + "operationId": "LoadTestRun_ListMetricDefinitions", + "title": "List the metric definitions for a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metricNamespace": "LoadTestRunMetrics", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + } + ], + "description": "No of concurrent virtual users", + "name": "VirtualUsers", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Total", + "supportedAggregationTypes": [ + "Total" + ], + "unit": "Count", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + }, + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + } + ], + "description": "Response time (Successful request)", + "name": "ResponseTime", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Percentile90", + "supportedAggregationTypes": [ + "Average", + "Percentile90", + "Percentile95", + "Percentile99" + ], + "unit": "Milliseconds", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + }, + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + } + ], + "description": "Total Requests", + "name": "TotalRequests", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Total", + "supportedAggregationTypes": [ + "Total" + ], + "unit": "Count", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + }, + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + }, + { + "description": "Error response code", + "name": "Errors" + } + ], + "description": "Total Errors", + "name": "Errors", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Total", + "supportedAggregationTypes": [ + "Total" + ], + "unit": "Count", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + } + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRunMetricsNamespaces.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRunMetricsNamespaces.json new file mode 100644 index 000000000000..b267eee16c5c --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRunMetricsNamespaces.json @@ -0,0 +1,20 @@ +{ + "operationId": "LoadTestRun_ListMetricNamespaces", + "title": "List the metric namespaces for a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "description": "Load test run metrics", + "name": "LoadTestRunMetrics" + } + ] + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRunServerMetricsConfig.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRunServerMetricsConfig.json new file mode 100644 index 000000000000..9e05eeda011b --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRunServerMetricsConfig.json @@ -0,0 +1,31 @@ +{ + "operationId": "LoadTestRun_GetServerMetricsConfig", + "title": "List server metrics configuration for the given test run.", + "parameters": { + "testRunId": "12345678-1234-1234-1234-123456789012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRuns.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRuns.json new file mode 100644 index 000000000000..52069019ab6a --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestRuns.json @@ -0,0 +1,141 @@ +{ + "operationId": "LoadTestRun_ListTestRuns", + "title": "List test runs.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "orderBy": "executedDateTime", + "continuationToken": "continuation token", + "search": "Performance_LoadTest_Run1", + "executionFrom": "2021-12-05T16:43:48.805Z", + "executionTo": "2021-12-05T16:43:48.805Z", + "status": "DONE,EXECUTING", + "maxPageSize": 30, + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "DONE", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 10, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + ], + "nextLink": "https://nextlink.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestServerMetricsConfig.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestServerMetricsConfig.json new file mode 100644 index 000000000000..5be13f0aa195 --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTestServerMetricsConfig.json @@ -0,0 +1,31 @@ +{ + "operationId": "LoadTestAdministration_GetServerMetricsConfig", + "title": "List server metrics configuration for the given test.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTests.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTests.json new file mode 100644 index 000000000000..dd515dde706e --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/ListTests.json @@ -0,0 +1,96 @@ +{ + "operationId": "LoadTestAdministration_ListTests", + "title": "Get all load tests.", + "parameters": { + "orderBy": "executedDateTime", + "search": "Performance_LoadTest", + "lastUpdatedStartTime": "2021-12-05T16:43:46.797Z", + "lastUpdatedEndTime": "2021-12-05T16:43:46.797Z", + "continuationToken": "continuation token", + "maxPageSize": 30, + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "pfmetric1": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + ], + "nextLink": "https://00000000-0000-0000-aaaa-00aa00aa00aa.westus2.cnt-prod.loadtesting.azure.com/tests?orderby=executedDateTime%20desc&continuationToken=some-value&search=&testId=&executionFrom=&executionTo=&status=&maxpagesize=50&api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/StopTestProfileRun.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/StopTestProfileRun.json new file mode 100644 index 000000000000..0837614fbd0d --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/StopTestProfileRun.json @@ -0,0 +1,52 @@ +{ + "operationId": "TestProfileRunAdministration_StopTestProfileRun", + "title": "Stop a test profile run", + "parameters": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_TestProfile_Run1", + "description": "sample description", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "status": "CANCELLING", + "startDateTime": "2024-05-01T16:43:46.072Z", + "endDateTime": "2024-05-01T16:43:46.072Z", + "durationInSeconds": 400, + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "testRunDetails": { + "testRun1": { + "status": "DONE", + "configurationId": "config1", + "properties": {} + }, + "testRun2": { + "status": "DONE", + "configurationId": "config2", + "properties": {} + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/StopTestRun.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/StopTestRun.json new file mode 100644 index 000000000000..ecb7e5d130ee --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/StopTestRun.json @@ -0,0 +1,95 @@ +{ + "operationId": "LoadTestRun_StopTestRun", + "title": "Stop test run by name.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "CANCELLING", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "NOT_APPLICABLE", + "passFailCriteria": { + "passFailMetrics": { + "pfmetric1": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 0, + "result": null + } + } + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": null, + "logsFileInfo": null + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": null, + "testRunStatistics": null, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/UploadTestFile.json b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/UploadTestFile.json new file mode 100644 index 000000000000..02d4df01336d --- /dev/null +++ b/specification/loadtestservice/LoadTestService/examples/2024-05-01-preview/UploadTestFile.json @@ -0,0 +1,22 @@ +{ + "operationId": "LoadTestAdministration_UploadTestFile", + "title": "Upload input file for a given test name.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileName": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "body": "application/octet-stream content", + "api-version": "2024-05-01-preview" + }, + "responses": { + "201": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/LoadTestService/main.tsp b/specification/loadtestservice/LoadTestService/main.tsp index d5e4c74e2ed9..9eeccba0b38b 100644 --- a/specification/loadtestservice/LoadTestService/main.tsp +++ b/specification/loadtestservice/LoadTestService/main.tsp @@ -21,8 +21,8 @@ using Azure.Core; } ) @doc(""" -These APIs allow end users to create, view and run load tests using Azure Load Test Service. -""") + These APIs allow end users to create, view and run load tests using Azure Load Test Service. + """) namespace Microsoft.LoadTestService; @doc("Azure Load Testing API versions.") @@ -38,6 +38,10 @@ enum APIVersions { @doc("The 2024-03-01-preview version of the Azure Load Testing API.") @useDependency(Azure.Core.Versions.v1_0_Preview_2) v2024_03_01_preview: "2024-03-01-preview", + + @doc("The 2024-05-01-preview version of the Azure Load Testing API.") + @useDependency(Azure.Core.Versions.v1_0_Preview_2) + v2024_05_01_preview: "2024-05-01-preview", } @doc("OAuth 2.0 Flow with Microsoft Entra ID.") diff --git a/specification/loadtestservice/LoadTestService/models.testprofile.tsp b/specification/loadtestservice/LoadTestService/models.testprofile.tsp new file mode 100644 index 000000000000..02e1e85232ac --- /dev/null +++ b/specification/loadtestservice/LoadTestService/models.testprofile.tsp @@ -0,0 +1,324 @@ +import "@typespec/rest"; +import "@typespec/http"; +import "@azure-tools/typespec-azure-core"; +import "@azure-tools/typespec-client-generator-core"; + +using TypeSpec.Rest; +using TypeSpec.Http; +using TypeSpec.Versioning; +using Azure.ClientGenerator.Core; + +namespace Microsoft.LoadTestService; + +@doc("Test Profile Id path parameter.") +@added(APIVersions.v2024_05_01_preview) +model TestProfileIdPathParameter { + @doc("Unique identifier for the test profile, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.") + @maxLength(50) + @minLength(2) + @key + @visibility("read") + @pattern("^[a-z0-9_-]*$") + testProfileId: string; +} + +@doc("Test Profile Run Id path parameter.") +@added(APIVersions.v2024_05_01_preview) +model TestProfileRunIdPathParameter { + @doc("Unique identifier for the test profile run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.") + @visibility("read") + @maxLength(50) + @minLength(2) + @key + @pattern("^[a-z0-9_-]*$") + testProfileRunId: string; +} + +@doc("Kind of the resource on which test profile is created.") +@added(APIVersions.v2024_05_01_preview) +union ResourceKind { + string, + + @doc("Resource is a Azure FunctionApp on Flex Consumption Plan.") + FunctionsFlexConsumption: "FunctionsFlexConsumption", +} + +@doc("Test profile run status.") +union TestProfileRunStatus { + string, + + @doc("Test profile run request is accepted.") + ACCEPTED: "ACCEPTED", + + @doc("Test profile run is not yet started.") + NOTSTARTED: "NOTSTARTED", + + @doc("Test profile run has started executing.") + EXECUTING: "EXECUTING", + + @doc("Test profile run has completed successfully.") + DONE: "DONE", + + @doc("Test profile run is being cancelled.") + CANCELLING: "CANCELLING", + + @doc("Test profile run is cancelled.") + CANCELLED: "CANCELLED", + + @doc("Test profile run has failed.") + FAILED: "FAILED", +} + +@doc("Category of Recommendation.") +@added(APIVersions.v2024_05_01_preview) +union RecommendationCategory { + string, + + @doc("The recommendation for this category optimizes the throughput/RPS (Requests per Second) of the app.") + ThroughputOptimized: "ThroughputOptimized", + + @doc("The recommendation for this category optimizes the cost of the app.") + CostOptimized: "CostOptimized", +} + +@doc("Resource configuration instance for a Flex Consumption based Azure Function App.") +@added(APIVersions.v2024_05_01_preview) +model FunctionFlexConsumptionResourceConfiguration { + #suppress "@azure-tools/typespec-azure-core/casing-style" "Abbreviating MB to Mb changes the meaning of the value." + @doc("Memory size of the instance. Supported values are 512, 2048, 2096.") + instanceMemoryMB: int64; + + @doc("HTTP Concurrency for the function app.") + httpConcurrency: int64; +} + +@doc("Details of a particular test run for a test profile run.") +@added(APIVersions.v2024_05_01_preview) +model TestRunDetail { + @doc("Status of the test run.") + status: Status; + + @doc("ID of the configuration on which the test ran.") + configurationId: string; + + @doc("Key value pair of extra properties associated with the test run.") + properties: Record; +} + +@doc("A recommendation object that provides a list of configuration that optimizes its category.") +@added(APIVersions.v2024_05_01_preview) +model TestProfileRunRecommendation { + @doc("Category of the recommendation.") + category: RecommendationCategory; + + @doc("List of configurations IDs for which the recommendation is applicable. These are a subset of the provided target resource configurations.") + configurations?: string[]; +} + +@doc("Configurations of a target resource. This varies with the kind of resource.") +@added(APIVersions.v2024_05_01_preview) +@discriminator("kind") +model TargetResourceConfigurations { + @doc("Kind of the resource for which the configurations apply.") + @visibility("create", "read") + kind: ResourceKind; +} + +@doc("Configurations for a Function App using Flex Consumption Plan.") +@added(APIVersions.v2024_05_01_preview) +model FunctionFlexConsumptionTargetResourceConfigurations + extends TargetResourceConfigurations { + @doc(""" + The kind value to use when providing configuration. + This should typically be not changed from its value. + """) + kind: ResourceKind.FunctionsFlexConsumption; + + @doc("A map of configurations for a Function app using Flex Consumption Plan.") + configurations?: Record; +} + +@doc("The Test Profile Model. A Test Profile resource enables you to set up a test profile which contains various configurations for a supported resource type and a load test to execute on that resource.") +@summary("Test Profile Model.") +@resource("test-profiles") +@added(APIVersions.v2024_05_01_preview) +model TestProfile { + ...TestProfileIdPathParameter; + + @maxLength(50) + @minLength(2) + @doc("Display name of the test profile.") + displayName?: string; + + @maxLength(100) + @doc("Description for the test profile.") + description?: string; + + @doc("Associated test ID for the test profile. This property is required for creating a Test Profile and it's not allowed to be updated.") + @visibility("create", "read") + testId?: string; + + @doc("Target resource ID on which the test profile is created. This property is required for creating a Test Profile and it's not allowed to be updated.") + @visibility("create", "read") + targetResourceId?: string; + + @doc("Configurations of the target resource on which testing would be done.") + targetResourceConfigurations?: TargetResourceConfigurations; + + ...SystemMetaData; +} + +@doc("The Test Profile Run Model. Test Profile Run resource enables you to instantiate an already created test profile and run load tests to get recommendations on the optimal configuration for the target resource.") +@summary("Test Profile Run model.") +@resource("test-profile-runs") +@added(APIVersions.v2024_05_01_preview) +model TestProfileRun { + ...TestProfileRunIdPathParameter; + + // Begin section: Properties provided by user + @maxLength(50) + @minLength(2) + @doc("Display name for the test profile run.") + displayName?: string; + + @maxLength(100) + @doc("The test profile run description") + description?: string; + + @doc("Associated test profile ID for the test profile run. This is required to create a test profile run and can't be updated.") + @visibility("create", "read") + testProfileId?: string; + + // End section: Properties provided by user + + // Begin section: Properties populated from Test Profile + @doc("Target resource ID on which the test profile run is created") + @visibility("read") + targetResourceId?: string; + + @doc("Configurations of the target resource on which the test profile ran.") + @visibility("read") + targetResourceConfigurations?: TargetResourceConfigurations; + + // End section: Properties populated from Test Profile + + // Begin section: Test profile Run specific information + @doc("The test profile run status.") + @visibility("read") + status?: TestProfileRunStatus; + + @doc("Error details if there is any failure in test profile run. These errors are specific to the Test Profile Run.") + @visibility("read") + errorDetails?: ErrorDetails[]; + + @doc("The test profile run start DateTime(RFC 3339 literal format).") + @visibility("read") + startDateTime?: utcDateTime; + + @doc("The test profile run end DateTime(RFC 3339 literal format).") + @visibility("read") + endDateTime?: utcDateTime; + + @doc("Test profile run duration in seconds.") + @visibility("read") + durationInSeconds?: int64; + + @doc(""" + Details of the test runs ran as part of the test profile run. + Key is the testRunId of the corresponding testRun. + """) + @visibility("read") + testRunDetails?: Record; + + @doc("Recommendations provided based on a successful test profile run.") + @visibility("read") + recommendations?: TestProfileRunRecommendation[]; + + // End section: Test profile run specific information + + ...SystemMetaData; +} + +@doc("Parameters for list test profile operation") +@added(APIVersions.v2024_05_01_preview) +model ListTestProfileQueryParams { + @doc("Maximum number of results to include in a single response.") + @query + maxpagesize?: int32; + + @doc(""" + Start DateTime(RFC 3339 literal format) of the last updated time range to filter test profiles. + """) + @query + lastModifiedStartTime?: utcDateTime; + + @doc(""" + End DateTime(RFC 3339 literal format) of the last updated time range to filter test profiles. + """) + @query + lastModifiedEndTime?: utcDateTime; + + @doc("Comma separated list of IDs of the test profiles to filter.") + @query + testProfileIds?: string; + + @doc("Comma separated list IDs of the tests which should be associated with the test profiles to fetch.") + @query + testIds?: string; +} + +@doc("Parameters for list test profile run operation") +@added(APIVersions.v2024_05_01_preview) +model ListTestProfileRunQueryParams { + @doc("Maximum number of results to include in a single response.") + @query + maxpagesize?: int32; + + @doc(""" + Minimum Start DateTime(RFC 3339 literal format) of the test profile runs to filter on. + """) + @query + minStartDateTime?: utcDateTime; + + @doc(""" + Maximum Start DateTime(RFC 3339 literal format) of the test profile runs to filter on. + """) + @query + maxStartDateTime?: utcDateTime; + + @doc(""" + Minimum End DateTime(RFC 3339 literal format) of the test profile runs to filter on. + """) + @query + minEndDateTime?: utcDateTime; + + @doc(""" + Maximum End DateTime(RFC 3339 literal format) of the test profile runs to filter on. + """) + @query + maxEndDateTime?: utcDateTime; + + @doc(""" + Start DateTime(RFC 3339 literal format) of the created time range to filter test profile runs. + """) + @query + createdDateStartTime?: utcDateTime; + + @doc(""" + End DateTime(RFC 3339 literal format) of the created time range to filter test profile runs. + """) + @query + createdDateEndTime?: utcDateTime; + + @doc("Comma separated list of IDs of the test profile runs to filter.") + @query + testProfileRunIds?: string; + + @doc("Comma separated IDs of the test profiles which should be associated with the test profile runs to fetch.") + @query + testProfileIds?: string; + + @doc("Comma separated list of Statuses of the test profile runs to filter.") + @query + statuses?: string; +} diff --git a/specification/loadtestservice/LoadTestService/models.tsp b/specification/loadtestservice/LoadTestService/models.tsp index 40177d088502..5f1ccb5d57ba 100644 --- a/specification/loadtestservice/LoadTestService/models.tsp +++ b/specification/loadtestservice/LoadTestService/models.tsp @@ -30,9 +30,36 @@ union PFAgFunc { @doc("Criteria applies for given percentage value.") "percentage", @doc("Criteria applies for avg value.") "avg", @doc("Criteria applies for 50th percentile value.") "p50", + + @doc("Criteria applies for 75th percentile value.") + @added(APIVersions.v2024_05_01_preview) + "p75", + @doc("Criteria applies for 90th percentile value.") "p90", @doc("Criteria applies for 95th percentile value.") "p95", + + @doc("Criteria applies for 96th percentile value.") + @added(APIVersions.v2024_05_01_preview) + "p96", + + @doc("Criteria applies for 97th percentile value.") + @added(APIVersions.v2024_05_01_preview) + "p97", + + @doc("Criteria applies for 98th percentile value.") + @added(APIVersions.v2024_05_01_preview) + "p98", + @doc("Criteria applies for 99th percentile value.") "p99", + + @doc("Criteria applies for 99.9th percentile value.") + @added(APIVersions.v2024_05_01_preview) + "p99.9", + + @doc("Criteria applies for 99.99th percentile value.") + @added(APIVersions.v2024_05_01_preview) + "p99.99", + @doc("Criteria applies for minimum value.") "min", @doc("Criteria applies for maximum value.") "max", } @@ -88,7 +115,7 @@ union FileType { @added(APIVersions.v2023_04_01_preview) @doc("If the file is a JSON config file to define the requests for a URL test.") - "URL_TEST_CONFIG_JSON", + "URL_TEST_CONFIG", @added(APIVersions.v2024_03_01_preview) @doc("If the file is a test script.") @@ -141,9 +168,35 @@ union AggregationType { @doc("Total count.") "Count", @doc("Aggregation will be average in this case.") "None", @doc("Total sum.") "Total", + + @doc("75th percentile.") + @added(APIVersions.v2024_05_01_preview) + "Percentile75", + @doc("90th percentile.") "Percentile90", @doc("95th percentile.") "Percentile95", + + @doc("96th percentile.") + @added(APIVersions.v2024_05_01_preview) + "Percentile96", + + @doc("97th percentile.") + @added(APIVersions.v2024_05_01_preview) + "Percentile97", + + @doc("98th percentile.") + @added(APIVersions.v2024_05_01_preview) + "Percentile98", + @doc("99th percentile.") "Percentile99", + + @doc("99.9th percentile.") + @added(APIVersions.v2024_05_01_preview) + "Percentile999", + + @doc("99.99th percentile.") + @added(APIVersions.v2024_05_01_preview) + "Percentile9999", } @doc("Metric unit.") @@ -216,12 +269,12 @@ model Test { autoStopCriteria?: AutoStopCriteria; @doc(""" -Secrets can be stored in an Azure Key Vault or any other secret store. If the -secret is stored in an Azure Key Vault, the value should be the secret -identifier and the type should be AKV_SECRET_URI. If the secret is stored -elsewhere, the secret value should be provided directly and the type should be -SECRET_VALUE. -""") + Secrets can be stored in an Azure Key Vault or any other secret store. If the + secret is stored in an Azure Key Vault, the value should be the secret + identifier and the type should be AKV_SECRET_URI. If the secret is stored + elsewhere, the secret value should be provided directly and the type should be + SECRET_VALUE. + """) secrets?: Record; @doc("Certificates metadata.") @@ -285,11 +338,11 @@ model PassFailMetric { clientMetric?: PFMetrics; @doc(""" -The aggregation function to be applied on the client metric. Allowed functions -- ‘percentage’ - for error metric , ‘avg’, ‘p50’, ‘p90’, ‘p95’, ‘p99’, ‘min’, -‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec, -‘count’ - for requests -""") + The aggregation function to be applied on the client metric. Allowed functions + - ‘percentage’ - for error metric , ‘avg’, percentiles like ‘p50’, ‘p90’, & so on, ‘min’, + ‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec, + ‘count’ - for requests + """) aggregate?: PFAgFunc; @doc("The comparison operator. Supported types ‘>’, ‘<’ ") @@ -299,9 +352,9 @@ The aggregation function to be applied on the client metric. Allowed functions requestName?: string; @doc(""" -The value to compare with the client metric. Allowed values - ‘error : [0.0 , -100.0] unit- % ’, response_time_ms and latency : any integer value unit- ms. -""") + The value to compare with the client metric. Allowed values - ‘error : [0.0 , + 100.0] unit- % ’, response_time_ms and latency : any integer value unit- ms. + """) value?: float64; @doc("Action taken after the threshold is met. Default is ‘continue’.") @@ -353,23 +406,23 @@ model AutoStopCriteria { @doc("Configurations for the load test.") model LoadTestConfiguration { @doc(""" -The number of engine instances to execute load test. Supported values are in range of 1-400. Required for creating a new test. -""") + The number of engine instances to execute load test. Supported values are in range of 1-400. Required for creating a new test. + """) engineInstances?: int32; #suppress "@azure-tools/typespec-azure-core/casing-style" "CSV is an abbervation and should be all caps" @doc(""" -If false, Azure Load Testing copies and processes your input files unmodified -across all test engine instances. If true, Azure Load Testing splits the CSV -input data evenly across all engine instances. If you provide multiple CSV -files, each file will be split evenly. -""") + If false, Azure Load Testing copies and processes your input files unmodified + across all test engine instances. If true, Azure Load Testing splits the CSV + input data evenly across all engine instances. If you provide multiple CSV + files, each file will be split evenly. + """) splitAllCSVs?: boolean = false; @doc(""" -If true, optionalLoadTestConfig is required and JMX script for the load test is -not required to upload. -""") + If true, optionalLoadTestConfig is required and JMX script for the load test is + not required to upload. + """) quickStartTest?: boolean = false; @doc("Configuration for quick load test") @@ -383,15 +436,15 @@ not required to upload. @doc("Region distribution configuration for the load test.") model RegionalConfiguration { @doc(""" - The number of engine instances to execute load test in specified region. Supported values are in range of 1-400. -""") + The number of engine instances to execute load test in specified region. Supported values are in range of 1-400. + """) engineInstances: int32; @doc(""" -Azure region name. -The region name should of format accepted by ARM, and should be a region supported by Azure Load Testing. For example, East US should be passed as "eastus". -The region name must match one of the strings in the "Name" column returned from running the "az account list-locations -o table" Azure CLI command. -""") + Azure region name. + The region name should of format accepted by ARM, and should be a region supported by Azure Load Testing. For example, East US should be passed as "eastus". + The region name must match one of the strings in the "Name" column returned from running the "az account list-locations -o table" Azure CLI command. + """) region: string; } @@ -473,10 +526,10 @@ model FileInfo { @doc("Test app components") model TestAppComponents { @doc(""" -Azure resource collection { resource id (fully qualified resource Id e.g -subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}) -: resource object } -""") + Azure resource collection { resource id (fully qualified resource Id e.g + subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}) + : resource object } + """) components: Record; @doc("Test identifier") @@ -487,12 +540,12 @@ subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/lo } @doc(""" -An Azure resource object (Refer azure generic resource model :https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource) -""") + An Azure resource object (Refer azure generic resource model :https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource) + """) model AppComponent { @doc(""" -fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName} -""") + fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName} + """) @visibility("read") resourceId: string; @@ -524,20 +577,20 @@ model TestServerMetricConfig { testId?: string; @doc(""" -Azure resource metrics collection {metric id : metrics object} (Refer : -https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition -for metric id). -""") + Azure resource metrics collection {metric id : metrics object} (Refer : + https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition + for metric id). + """) metrics: Record; ...SystemMetaData; } @doc(""" -Associated metric definition for particular metrics of the azure resource ( -Refer : -https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition). -""") + Associated metric definition for particular metrics of the azure resource ( + Refer : + https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition). + """) model ResourceMetric { @doc("Unique name for metric.") @visibility("read") @@ -578,12 +631,12 @@ model TestRun { autoStopCriteria?: AutoStopCriteria; @doc(""" -Secrets can be stored in an Azure Key Vault or any other secret store. If the -secret is stored in an Azure Key Vault, the value should be the secret -identifier and the type should be AKV_SECRET_URI. If the secret is stored -elsewhere, the secret value should be provided directly and the type should be -SECRET_VALUE. -""") + Secrets can be stored in an Azure Key Vault or any other secret store. If the + secret is stored in an Azure Key Vault, the value should be the secret + identifier and the type should be AKV_SECRET_URI. If the secret is stored + elsewhere, the secret value should be provided directly and the type should be + SECRET_VALUE. + """) secrets?: Record; @doc("Certificates metadata") @@ -597,18 +650,18 @@ SECRET_VALUE. errorDetails?: ErrorDetails[]; @doc(""" -Test run statistics. Key is the sampler name and value is the set of statistics for performance metrics like response time, throughput, etc. from the load test run. -The sampler name is the same as the name mentioned in the test script. -Sampler name "Total" represents the aggregated statistics of all the samplers. -""") + Test run statistics. Key is the sampler name and value is the set of statistics for performance metrics like response time, throughput, etc. from the load test run. + The sampler name is the same as the name mentioned in the test script. + Sampler name "Total" represents the aggregated statistics of all the samplers. + """) @visibility("read") testRunStatistics?: Record; @doc(""" -Regional statistics. Key is the Azure region name and value is the test run statistics. -The region name should of format accepted by ARM, and should be a region supported by Azure Load Testing. For example, East US should be passed as "eastus". -The region name must match one of the strings in the "Name" column returned from running the "az account list-locations -o table" Azure CLI command. -""") + Regional statistics. Key is the Azure region name and value is the test run statistics. + The region name should of format accepted by ARM, and should be a region supported by Azure Load Testing. For example, East US should be passed as "eastus". + The region name must match one of the strings in the "Name" column returned from running the "az account list-locations -o table" Azure CLI command. + """) @visibility("read") @added(APIVersions.v2024_03_01_preview) regionalStatistics?: Record; @@ -675,6 +728,14 @@ The region name must match one of the strings in the "Name" column returned from @visibility("read") kind?: TestKind; + @added(APIVersions.v2024_05_01_preview) + @doc("Request data collection level for test run") + requestDataLevel?: RequestDataLevel; + + @added(APIVersions.v2024_05_01_preview) + @doc("Enable or disable debug level logging. True if debug logs are enabled for the test run. False otherwise") + debugLogsEnabled?: boolean; + #suppress "@azure-tools/typespec-azure-core/casing-style" "IP is an abbervation and should be all caps" @added(APIVersions.v2023_04_01_preview) @doc("Inject load test engines without deploying public IP for outbound access") @@ -737,6 +798,36 @@ model TestRunStatistics { @visibility("read") pct3ResTime?: float64; + @added(APIVersions.v2024_05_01_preview) + @doc("75 percentile response time.") + @visibility("read") + pct75ResTime?: float64; + + @added(APIVersions.v2024_05_01_preview) + @doc("96 percentile response time.") + @visibility("read") + pct96ResTime?: float64; + + @added(APIVersions.v2024_05_01_preview) + @doc("97 percentile response time.") + @visibility("read") + pct97ResTime?: float64; + + @added(APIVersions.v2024_05_01_preview) + @doc("98 percentile response time.") + @visibility("read") + pct98ResTime?: float64; + + @added(APIVersions.v2024_05_01_preview) + @doc("99.9 percentile response time.") + @visibility("read") + pct999ResTime?: float64; + + @added(APIVersions.v2024_05_01_preview) + @doc("99.99 percentile response time.") + @visibility("read") + pct9999ResTime?: float64; + @doc("Throughput.") @visibility("read") throughput?: float64; @@ -796,6 +887,10 @@ model TestRunOutputArtifacts { @doc("The container for test run artifacts.") @added(APIVersions.v2023_04_01_preview) artifactsContainerInfo?: ArtifactsContainerInfo; + + @added(APIVersions.v2024_05_01_preview) + @doc("The report file for the test run.") + reportFileInfo?: TestRunFileInfo; } @doc("Artifacts container info.") @@ -853,9 +948,9 @@ model MetricDefinition { unit?: MetricUnit; @doc(""" -Metric availability specifies the time grain (aggregation interval or -frequency). -""") + Metric availability specifies the time grain (aggregation interval or + frequency). + """) metricAvailabilities?: MetricAvailability[]; } @@ -871,20 +966,20 @@ model NameAndDesc { @doc("Metric availability specifies the time grain (aggregation interval or frequency)") model MetricAvailability { @doc(""" -The time grain specifies the aggregation interval for the metric. Expressed as -a duration 'PT1M', 'PT1H', etc. -""") + The time grain specifies the aggregation interval for the metric. Expressed as + a duration 'PT1M', 'PT1H', etc. + """) timeGrain?: TimeGrain; } @doc("Filters to fetch the set of metric.") model MetricRequestPayload { @doc(""" -Get metrics for specific dimension values. Example: Metric contains dimension -like SamplerName, Error. To retrieve all the time series data where SamplerName -is equals to HTTPRequest1 or HTTPRequest2, the DimensionFilter value will be -{\"SamplerName\", [\"HTTPRequest1\", \"HTTPRequest2\"} -""") + Get metrics for specific dimension values. Example: Metric contains dimension + like SamplerName, Error. To retrieve all the time series data where SamplerName + is equals to HTTPRequest1 or HTTPRequest2, the DimensionFilter value will be + {\"SamplerName\", [\"HTTPRequest1\", \"HTTPRequest2\"} + """) filters?: DimensionFilter[]; } @@ -958,8 +1053,8 @@ model MetricDimensionsRequest { metricNamespace: string; @doc(""" - The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'. - """) + The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'. + """) @query @clientName("time_interval", "python") timespan: string; @@ -968,10 +1063,10 @@ model MetricDimensionsRequest { @doc("Test run app component") model TestRunAppComponents { @doc(""" -Azure resource collection { resource id (fully qualified resource Id e.g -subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}) -: resource object } -""") + Azure resource collection { resource id (fully qualified resource Id e.g + subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}) + : resource object } + """) components: Record; @doc("Test run identifier") @@ -988,10 +1083,10 @@ model TestRunServerMetricConfig { testRunId?: string; @doc(""" -Azure resource metrics collection {metric id : metrics object} (Refer : -https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition -for metric id). -""") + Azure resource metrics collection {metric id : metrics object} (Refer : + https://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition + for metric id). + """) metrics?: Record; ...SystemMetaData; @@ -1000,11 +1095,11 @@ for metric id). @doc("Query parameters for list test run operation") model OldTestRunIdQueryParam { @doc(""" -Existing test run identifier that should be rerun, if this is provided, the -test will run with the JMX file, configuration and app components from the -existing test run. You can override the configuration values for new test run -in the request body. -""") + Existing test run identifier that should be rerun, if this is provided, the + test will run with the JMX file, configuration and app components from the + existing test run. You can override the configuration values for new test run + in the request body. + """) @query oldTestRunId?: string; } @@ -1012,17 +1107,17 @@ in the request body. @doc("Parameters for list test run operation") model ListTestRunQueryParams { @doc(""" -Sort on the supported fields in (field asc/desc) format. eg: executedDateTime -asc. Supported fields - executedDateTime -""") + Sort on the supported fields in (field asc/desc) format. eg: executedDateTime + asc. Supported fields - executedDateTime + """) @query orderby?: string; @doc(""" -Prefix based, case sensitive search on searchable fields - description, -executedUser. For example, to search for a test run, with description 500 VUs, -the search parameter can be 500. -""") + Prefix based, case sensitive search on searchable fields - description, + executedUser. For example, to search for a test run, with description 500 VUs, + the search parameter can be 500. + """) @query search?: string; @@ -1050,29 +1145,29 @@ the search parameter can be 500. @doc("Parameters for list test operation") model ListTestQueryParams { @doc(""" -Sort on the supported fields in (field asc/desc) format. eg: -lastModifiedDateTime asc. Supported fields - lastModifiedDateTime -""") + Sort on the supported fields in (field asc/desc) format. eg: + lastModifiedDateTime asc. Supported fields - lastModifiedDateTime + """) @query orderby?: string; @doc(""" -Prefix based, case sensitive search on searchable fields - displayName, -createdBy. For example, to search for a test, with display name is Login Test, -the search parameter can be Login. -""") + Prefix based, case sensitive search on searchable fields - displayName, + createdBy. For example, to search for a test, with display name is Login Test, + the search parameter can be Login. + """) @query search?: string; @doc(""" -Start DateTime(RFC 3339 literal format) of the last updated time range to filter tests. -""") + Start DateTime(RFC 3339 literal format) of the last updated time range to filter tests. + """) @query lastModifiedStartTime?: utcDateTime; @doc(""" -End DateTime(RFC 3339 literal format) of the last updated time range to filter tests. -""") + End DateTime(RFC 3339 literal format) of the last updated time range to filter tests. + """) @query lastModifiedEndTime?: utcDateTime; @@ -1122,6 +1217,18 @@ model TestRunIdPathParameter { testRunId: string; } +@added(APIVersions.v2024_05_01_preview) +@doc("Request data collection level for test run") +union RequestDataLevel { + string, + + @doc("No request data will be collected") + NONE: "NONE", + + @doc("Request data will be collected in case of failed requests") + ERRORS: "ERRORS", +} + alias ResourceCreatedResponse = TypeSpec.Http.Response<201> & T; diff --git a/specification/loadtestservice/LoadTestService/routes.tsp b/specification/loadtestservice/LoadTestService/routes.tsp index 0992853d9739..eccc08c3d88c 100644 --- a/specification/loadtestservice/LoadTestService/routes.tsp +++ b/specification/loadtestservice/LoadTestService/routes.tsp @@ -4,6 +4,7 @@ import "@typespec/http"; import "@typespec/openapi"; import "@azure-tools/typespec-client-generator-core"; import "./models.tsp"; +import "./models.testprofile.tsp"; using Azure.Core; using Azure.Core.Traits; @@ -36,13 +37,13 @@ interface LoadTestAdministration { getTest is StandardResourceOperations.ResourceRead; @summary(""" -Get all load tests by the fully qualified resource Id e.g -subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}. -""") + Get all load tests by the fully qualified resource Id e.g + subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}. + """) @doc(""" -Get all load tests by the fully qualified resource Id e.g -subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}. -""") + Get all load tests by the fully qualified resource Id e.g + subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}. + """) listTests is StandardResourceOperations.ResourceList< Test, ListQueryParametersTrait @@ -51,15 +52,15 @@ subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/lo #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Our operation is not following the standard put behavior https://github.com/Azure/typespec-azure/issues/3743" #suppress "@azure-tools/typespec-azure-core/byos" "It is limiting for users to have storage first before creating a load test also it will be breaking change for us." @summary(""" -Upload input file for a given test Id. File size can't be more than 50 MB. -Existing file with same name for the given test will be overwritten. File -should be provided in the request body as application/octet-stream. -""") + Upload input file for a given test Id. File size can't be more than 50 MB. + Existing file with same name for the given test will be overwritten. File + should be provided in the request body as application/octet-stream. + """) @doc(""" -Upload input file for a given test Id. File size can't be more than 50 MB. -Existing file with same name for the given test will be overwritten. File -should be provided in the request body as application/octet-stream. -""") + Upload input file for a given test Id. File size can't be more than 50 MB. + Existing file with same name for the given test will be overwritten. File + should be provided in the request body as application/octet-stream. + """) @route("/tests/{testId}/files/{fileName}") @put uploadTestFile is Azure.Core.Foundations.Operation< @@ -69,9 +70,9 @@ should be provided in the request body as application/octet-stream. contentType: "application/octet-stream"; @doc(""" -Unique name for the load test, must contain only lower-case alphabetic, -numeric, underscore or hyphen characters. -""") + Unique name for the load test, must contain only lower-case alphabetic, + numeric, underscore or hyphen characters. + """) @path @maxLength(50) @minLength(2) @@ -117,9 +118,9 @@ numeric, underscore or hyphen characters. contentType: "application/merge-patch+json"; @doc(""" -Unique name for the load test, must contain only lower-case alphabetic, -numeric, underscore or hyphen characters. -""") + Unique name for the load test, must contain only lower-case alphabetic, + numeric, underscore or hyphen characters. + """) @path @maxLength(50) @minLength(2) @@ -141,9 +142,9 @@ numeric, underscore or hyphen characters. getAppComponents is Azure.Core.Foundations.Operation< { @doc(""" -Unique name for the load test, must contain only lower-case alphabetic, -numeric, underscore or hyphen characters. -""") + Unique name for the load test, must contain only lower-case alphabetic, + numeric, underscore or hyphen characters. + """) @path @maxLength(50) @minLength(2) @@ -165,9 +166,9 @@ numeric, underscore or hyphen characters. contentType: "application/merge-patch+json"; @doc(""" -Unique name for the load test, must contain only lower-case alphabetic, -numeric, underscore or hyphen characters. -""") + Unique name for the load test, must contain only lower-case alphabetic, + numeric, underscore or hyphen characters. + """) @path @maxLength(50) @minLength(2) @@ -189,9 +190,9 @@ numeric, underscore or hyphen characters. getServerMetricsConfig is Azure.Core.Foundations.Operation< { @doc(""" -Unique name for the load test, must contain only lower-case alphabetic, -numeric, underscore or hyphen characters. -""") + Unique name for the load test, must contain only lower-case alphabetic, + numeric, underscore or hyphen characters. + """) @path @maxLength(50) @minLength(2) @@ -245,9 +246,9 @@ interface LoadTestRun { listMetricNamespaces is Azure.Core.Foundations.Operation< { @doc(""" -Unique name for the load test run, must contain only lower-case alphabetic, -numeric, underscore or hyphen characters. -""") + Unique name for the load test run, must contain only lower-case alphabetic, + numeric, underscore or hyphen characters. + """) @path @maxLength(50) @minLength(2) @@ -265,9 +266,9 @@ numeric, underscore or hyphen characters. listMetricDefinitions is Azure.Core.Foundations.Operation< { @doc(""" -Unique name for the load test run, must contain only lower-case alphabetic, -numeric, underscore or hyphen characters. -""") + Unique name for the load test run, must contain only lower-case alphabetic, + numeric, underscore or hyphen characters. + """) @path @maxLength(50) @minLength(2) @@ -289,9 +290,9 @@ numeric, underscore or hyphen characters. listMetrics is Azure.Core.Foundations.Operation< { @doc(""" -Unique name for the load test run, must contain only lower-case alphabetic, -numeric, underscore or hyphen characters. -""") + Unique name for the load test run, must contain only lower-case alphabetic, + numeric, underscore or hyphen characters. + """) @path @maxLength(50) @minLength(2) @@ -318,9 +319,9 @@ numeric, underscore or hyphen characters. listMetricDimensionValues is Azure.Core.Foundations.Operation< { @doc(""" -Unique name for the load test run, must contain only lower-case alphabetic, -numeric, underscore or hyphen characters. -""") + Unique name for the load test run, must contain only lower-case alphabetic, + numeric, underscore or hyphen characters. + """) @path @maxLength(50) @minLength(2) @@ -348,9 +349,9 @@ numeric, underscore or hyphen characters. contentType: "application/merge-patch+json"; @doc(""" -Unique Id for the load test run, must contain only lower-case alphabetic, -numeric, underscore or hyphen characters. -""") + Unique Id for the load test run, must contain only lower-case alphabetic, + numeric, underscore or hyphen characters. + """) @path @maxLength(50) @minLength(2) @@ -366,21 +367,21 @@ numeric, underscore or hyphen characters. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" @summary(""" -Get associated app component (collection of azure resources) for the given test -run. -""") + Get associated app component (collection of azure resources) for the given test + run. + """) @doc(""" -Get associated app component (collection of azure resources) for the given test -run. -""") + Get associated app component (collection of azure resources) for the given test + run. + """) @route("/test-runs/{testRunId}/app-components") @get getAppComponents is Azure.Core.Foundations.Operation< { @doc(""" -Unique name for the load test run, must contain only lower-case alphabetic, -numeric, underscore or hyphen characters. -""") + Unique name for the load test run, must contain only lower-case alphabetic, + numeric, underscore or hyphen characters. + """) @path @maxLength(50) @minLength(2) @@ -402,9 +403,9 @@ numeric, underscore or hyphen characters. contentType: "application/merge-patch+json"; @doc(""" -Unique Id for the load test run, must contain only lower-case alphabetic, -numeric, underscore or hyphen characters. -""") + Unique Id for the load test run, must contain only lower-case alphabetic, + numeric, underscore or hyphen characters. + """) @path @maxLength(50) @minLength(2) @@ -426,9 +427,9 @@ numeric, underscore or hyphen characters. getServerMetricsConfig is Azure.Core.Foundations.Operation< { @doc(""" -Unique name for the load test run, must contain only lower-case alphabetic, -numeric, underscore or hyphen characters. -""") + Unique name for the load test run, must contain only lower-case alphabetic, + numeric, underscore or hyphen characters. + """) @path @maxLength(50) @minLength(2) @@ -438,3 +439,73 @@ numeric, underscore or hyphen characters. TestRunServerMetricConfig >; } + +// NOTE(mitsha): In clients.tsp, when we use `op is ` syntax, it removes all the decorators defined on the interface +// including the @added decorator and causes tsp compile client.tsp to fail. To handle this, @added is added at each operation level instead. +// Do the same whenever routes are added in a new API Version +@tag("TestProfile") +interface TestProfileAdministration { + @summary("Create a new test profile or update an existing test profile.") + @doc("Create a new test profile or update an existing test profile by providing the test profile Id.") + @added(APIVersions.v2024_05_01_preview) + createOrUpdateTestProfile is StandardResourceOperations.ResourceCreateOrUpdate; + + @summary("Delete a test profile.") + @doc("Delete a test profile by its test profile Id.") + @added(APIVersions.v2024_05_01_preview) + deleteTestProfile is StandardResourceOperations.ResourceDelete; + + @summary("Get load test profile details.") + @doc("Get load test profile details by test profile Id.") + @added(APIVersions.v2024_05_01_preview) + getTestProfile is StandardResourceOperations.ResourceRead; + + @summary("List test profiles.") + @doc(""" + Get all test profiles for the given filters. + """) + @added(APIVersions.v2024_05_01_preview) + listTestProfiles is StandardResourceOperations.ResourceList< + TestProfile, + ListQueryParametersTrait + >; +} + +@tag("TestProfileRun") +interface TestProfileRunAdministration { + @summary("Get test profile run details.") + @doc("Get test profile run details by test profile run Id.") + @added(APIVersions.v2024_05_01_preview) + getTestProfileRun is StandardResourceOperations.ResourceRead; + + #suppress "@azure-tools/typespec-azure-core/use-standard-operations" + @summary("Create and start a new test profile run.") + @doc("Create and start a new test profile run with the given test profile run Id.") + @added(APIVersions.v2024_05_01_preview) + createOrUpdateTestProfileRun is StandardResourceOperations.ResourceCreateOrUpdate; + + @summary("Delete an existing load test profile run.") + @doc("Delete an existing load test profile run by providing the test profile run Id.") + @added(APIVersions.v2024_05_01_preview) + deleteTestProfileRun is StandardResourceOperations.ResourceDelete; + + #suppress "@azure-tools/typespec-azure-core/no-operation-id" + @summary("Stop test profile run.") + @doc("Stop test profile run for the given test profile run Id.") + @operationId("TestProfileRunAdministration_StopTestProfileRun") + @added(APIVersions.v2024_05_01_preview) + stop is StandardResourceOperations.ResourceAction< + TestProfileRun, + {}, + TestProfileRun, + {} + >; + + @summary("List test profile runs.") + @doc("Get all test profile runs for the given filters.") + @added(APIVersions.v2024_05_01_preview) + listTestProfileRuns is StandardResourceOperations.ResourceList< + TestProfileRun, + ListQueryParametersTrait + >; +} diff --git a/specification/loadtestservice/LoadTestService/tspconfig.yaml b/specification/loadtestservice/LoadTestService/tspconfig.yaml index 672a679be2ab..520158683e57 100644 --- a/specification/loadtestservice/LoadTestService/tspconfig.yaml +++ b/specification/loadtestservice/LoadTestService/tspconfig.yaml @@ -21,6 +21,7 @@ options: emitter-output-dir: "{project-root}/../" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/loadtestservice.json" azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" examples-directory: ./examples omit-unreachable-types: true "@azure-tools/typespec-python": diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/loadtestservice.json index f045ab45e225..913e64089223 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2023-04-01-preview/loadtestservice.json @@ -1370,7 +1370,7 @@ "USER_PROPERTIES", "ADDITIONAL_ARTIFACTS", "ZIPPED_ARTIFACTS", - "URL_TEST_CONFIG_JSON" + "URL_TEST_CONFIG" ], "x-ms-enum": { "name": "FileType", @@ -1397,8 +1397,8 @@ "description": "If the file is a compressed archive containing a collection of various artifacts or resources." }, { - "name": "URL_TEST_CONFIG_JSON", - "value": "URL_TEST_CONFIG_JSON", + "name": "URL_TEST_CONFIG", + "value": "URL_TEST_CONFIG", "description": "If the file is a JSON config file to define the requests for a URL test." } ] @@ -1981,7 +1981,7 @@ "USER_PROPERTIES", "ADDITIONAL_ARTIFACTS", "ZIPPED_ARTIFACTS", - "URL_TEST_CONFIG_JSON" + "URL_TEST_CONFIG" ], "x-ms-enum": { "name": "FileType", @@ -2008,8 +2008,8 @@ "description": "If the file is a compressed archive containing a collection of various artifacts or resources." }, { - "name": "URL_TEST_CONFIG_JSON", - "value": "URL_TEST_CONFIG_JSON", + "name": "URL_TEST_CONFIG", + "value": "URL_TEST_CONFIG", "description": "If the file is a JSON config file to define the requests for a URL test." } ] @@ -2565,7 +2565,7 @@ }, "aggregate": { "$ref": "#/definitions/PFAgFunc", - "description": "The aggregation function to be applied on the client metric. Allowed functions\n- ‘percentage’ - for error metric , ‘avg’, ‘p50’, ‘p90’, ‘p95’, ‘p99’, ‘min’,\n‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec,\n‘count’ - for requests" + "description": "The aggregation function to be applied on the client metric. Allowed functions\n- ‘percentage’ - for error metric , ‘avg’, percentiles like ‘p50’, ‘p90’, & so on, ‘min’,\n‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec,\n‘count’ - for requests" }, "condition": { "type": "string", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-03-01-preview/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-03-01-preview/loadtestservice.json index 43a5ebf6c1c7..f88f86bd0645 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-03-01-preview/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-03-01-preview/loadtestservice.json @@ -1370,7 +1370,7 @@ "USER_PROPERTIES", "ADDITIONAL_ARTIFACTS", "ZIPPED_ARTIFACTS", - "URL_TEST_CONFIG_JSON", + "URL_TEST_CONFIG", "TEST_SCRIPT" ], "x-ms-enum": { @@ -1398,8 +1398,8 @@ "description": "If the file is a compressed archive containing a collection of various artifacts or resources." }, { - "name": "URL_TEST_CONFIG_JSON", - "value": "URL_TEST_CONFIG_JSON", + "name": "URL_TEST_CONFIG", + "value": "URL_TEST_CONFIG", "description": "If the file is a JSON config file to define the requests for a URL test." }, { @@ -1987,7 +1987,7 @@ "USER_PROPERTIES", "ADDITIONAL_ARTIFACTS", "ZIPPED_ARTIFACTS", - "URL_TEST_CONFIG_JSON", + "URL_TEST_CONFIG", "TEST_SCRIPT" ], "x-ms-enum": { @@ -2015,8 +2015,8 @@ "description": "If the file is a compressed archive containing a collection of various artifacts or resources." }, { - "name": "URL_TEST_CONFIG_JSON", - "value": "URL_TEST_CONFIG_JSON", + "name": "URL_TEST_CONFIG", + "value": "URL_TEST_CONFIG", "description": "If the file is a JSON config file to define the requests for a URL test." }, { @@ -2585,7 +2585,7 @@ }, "aggregate": { "$ref": "#/definitions/PFAgFunc", - "description": "The aggregation function to be applied on the client metric. Allowed functions\n- ‘percentage’ - for error metric , ‘avg’, ‘p50’, ‘p90’, ‘p95’, ‘p99’, ‘min’,\n‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec,\n‘count’ - for requests" + "description": "The aggregation function to be applied on the client metric. Allowed functions\n- ‘percentage’ - for error metric , ‘avg’, percentiles like ‘p50’, ‘p90’, & so on, ‘min’,\n‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec,\n‘count’ - for requests" }, "condition": { "type": "string", diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTest.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTest.json new file mode 100644 index 000000000000..45e8d327721e --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTest.json @@ -0,0 +1,198 @@ +{ + "operationId": "LoadTestAdministration_CreateOrUpdateTest", + "title": "Create or update a load test", + "parameters": { + "api-version": "2024-05-01-preview", + "testId": "12345678-1234-1234-1234-123456789012", + "body": { + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/sampleprovider/sampleresourcetype/sampleresourcename" + } + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + }, + "201": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestAppComponents.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestAppComponents.json new file mode 100644 index 000000000000..af5ede5a8e98 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestAppComponents.json @@ -0,0 +1,60 @@ +{ + "operationId": "LoadTestAdministration_CreateOrUpdateAppComponents", + "title": "Add or update app components to a load test", + "parameters": { + "testId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2024-05-01-preview", + "body": { + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "kind": "web" + } + } + } + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestProfile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestProfile.json new file mode 100644 index 000000000000..64e2f5516732 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestProfile.json @@ -0,0 +1,81 @@ +{ + "operationId": "TestProfileAdministration_CreateOrUpdateTestProfile", + "title": "Create or update a test profile", + "parameters": { + "api-version": "2024-05-01-preview", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "body": { + "description": "sample description", + "displayName": "Performance_TestProfile", + "testId": "12346-abcd-6789", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + } + } + }, + "responses": { + "200": { + "body": { + "testProfileId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_TestProfile", + "testId": "12346-abcd-6789", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testProfileId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_TestProfile", + "testId": "12346-abcd-6789", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestProfileRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestProfileRun.json new file mode 100644 index 000000000000..d0765c4ddf08 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestProfileRun.json @@ -0,0 +1,99 @@ +{ + "operationId": "TestProfileRunAdministration_CreateOrUpdateTestProfileRun", + "title": "Create/update and start a test profile run", + "parameters": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview", + "body": { + "displayName": "Performance_TestProfile_Run1", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "description": "sample description" + } + }, + "responses": { + "200": { + "body": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_TestProfile_Run1", + "description": "sample description", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "status": "ACCEPTED", + "startDateTime": "2024-05-01T16:43:46.072Z", + "endDateTime": "2024-05-01T16:43:46.072Z", + "durationInSeconds": 400, + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "testRunDetails": { + "testRun1": { + "status": "DONE", + "configurationId": "config1", + "properties": {} + }, + "testRun2": { + "status": "DONE", + "configurationId": "config2", + "properties": {} + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_TestProfile_Run1", + "description": "sample description", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "status": "ACCEPTED", + "startDateTime": "2024-05-01T16:43:46.072Z", + "endDateTime": "2024-05-01T16:43:46.072Z", + "durationInSeconds": 400, + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "testRunDetails": { + "testRun1": { + "status": "DONE", + "configurationId": "config1", + "properties": {} + }, + "testRun2": { + "status": "DONE", + "configurationId": "config2", + "properties": {} + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestRun.json new file mode 100644 index 000000000000..7e873f3d33ef --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestRun.json @@ -0,0 +1,289 @@ +{ + "operationId": "LoadTestRun_CreateOrUpdateTestRun", + "title": "Create/update and start a load test run", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "oldTestRunId": "12345678-1234-1234-1234-123456789012", + "api-version": "2024-05-01-preview", + "body": { + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "debugLogsEnabled": true, + "requestDataLevel": "NONE" + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "ACCEPTED", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "results.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "debugLogsEnabled": true, + "requestDataLevel": "NONE" + } + }, + "201": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "ACCEPTED", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://dummyurl.com/configresource", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://dummyurl.com/userpropresource", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://dummyurl.com/inputartifactzipresource", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://dummyurl.com/dummyresourceresult", + "fileName": "results.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://dummyurl.com/logresource", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "debugLogsEnabled": true, + "requestDataLevel": "NONE" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestRunAppComponents.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestRunAppComponents.json new file mode 100644 index 000000000000..ecd7d4b4e8cf --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestRunAppComponents.json @@ -0,0 +1,60 @@ +{ + "operationId": "LoadTestRun_CreateOrUpdateAppComponents", + "title": "Add or update app components to a load test run", + "parameters": { + "testRunId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2024-05-01-preview", + "body": { + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "kind": "web" + } + } + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestRunServerMetricsConfig.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestRunServerMetricsConfig.json new file mode 100644 index 000000000000..27f28ac28dbb --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestRunServerMetricsConfig.json @@ -0,0 +1,65 @@ +{ + "operationId": "LoadTestRun_CreateOrUpdateServerMetricsConfig", + "title": "Add or update server metrics configuration for a load test run", + "parameters": { + "testRunId": "edc6e529-d009-4b99-b763-ca492e3a2823", + "api-version": "2024-05-01-preview", + "body": { + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + } + } + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestServerMetricsConfig.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestServerMetricsConfig.json new file mode 100644 index 000000000000..4223c7705a65 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/CreateOrUpdateTestServerMetricsConfig.json @@ -0,0 +1,65 @@ +{ + "operationId": "LoadTestAdministration_CreateOrUpdateServerMetricsConfig", + "title": "Add or update server metrics configuration for a load test.", + "parameters": { + "testId": "edc6e529-d009-4b99-b763-ca492e3a2823", + "api-version": "2024-05-01-preview", + "body": { + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + } + } + }, + "responses": { + "200": { + "body": { + "testId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + }, + "201": { + "body": { + "testId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/DeleteTest.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/DeleteTest.json new file mode 100644 index 000000000000..247ecd27d59a --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/DeleteTest.json @@ -0,0 +1,11 @@ +{ + "operationId": "LoadTestAdministration_DeleteTest", + "title": "Delete a load test", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/DeleteTestFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/DeleteTestFile.json new file mode 100644 index 000000000000..9b1efbf348ee --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/DeleteTestFile.json @@ -0,0 +1,12 @@ +{ + "operationId": "LoadTestAdministration_DeleteTestFile", + "title": "Delete a file from a load test", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileName": "app.jmx", + "api-version": "2024-05-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/DeleteTestProfile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/DeleteTestProfile.json new file mode 100644 index 000000000000..3c7b3ca43022 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/DeleteTestProfile.json @@ -0,0 +1,11 @@ +{ + "operationId": "TestProfileAdministration_DeleteTestProfile", + "title": "Delete a test profile", + "parameters": { + "api-version": "2024-05-01-preview", + "testProfileId": "12345678-1234-1234-1234-123456789012" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/DeleteTestProfileRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/DeleteTestProfileRun.json new file mode 100644 index 000000000000..eddc4ddff2aa --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/DeleteTestProfileRun.json @@ -0,0 +1,11 @@ +{ + "operationId": "TestProfileRunAdministration_DeleteTestProfileRun", + "title": "Deletes a test profile run", + "parameters": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/DeleteTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/DeleteTestRun.json new file mode 100644 index 000000000000..c35fdc1a3dce --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/DeleteTestRun.json @@ -0,0 +1,11 @@ +{ + "operationId": "LoadTestRun_DeleteTestRun", + "title": "Delete a load test run", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "204": {} + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTest.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTest.json new file mode 100644 index 000000000000..25c3d032ac86 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTest.json @@ -0,0 +1,86 @@ +{ + "operationId": "LoadTestAdministration_GetTest", + "title": "Get a load test.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 0, + "result": null + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestFile.json new file mode 100644 index 000000000000..8ae95096a117 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestFile.json @@ -0,0 +1,20 @@ +{ + "operationId": "LoadTestAdministration_GetTestFile", + "title": "Get a file from a load test", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileName": "sample.jmx", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestProfile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestProfile.json new file mode 100644 index 000000000000..de3ccfec49b7 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestProfile.json @@ -0,0 +1,36 @@ +{ + "operationId": "TestProfileAdministration_GetTestProfile", + "title": "Get a test profile.", + "parameters": { + "api-version": "2024-05-01-preview", + "testProfileId": "12345678-1234-1234-1234-123456789012" + }, + "responses": { + "200": { + "body": { + "testProfileId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_TestProfile", + "testId": "12346-abcd-6789", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestProfileRun_Executed.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestProfileRun_Executed.json new file mode 100644 index 000000000000..2dbfe73ad54f --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestProfileRun_Executed.json @@ -0,0 +1,66 @@ +{ + "operationId": "TestProfileRunAdministration_GetTestProfileRun", + "title": "Get a test profile run after the run has executed.", + "parameters": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_TestProfile_Run1", + "description": "sample description", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "status": "DONE", + "startDateTime": "2024-05-01T16:43:46.072Z", + "endDateTime": "2024-05-01T16:43:46.072Z", + "durationInSeconds": 400, + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "testRunDetails": { + "testRun1": { + "status": "DONE", + "configurationId": "config1", + "properties": {} + }, + "testRun2": { + "status": "DONE", + "configurationId": "config2", + "properties": {} + } + }, + "recommendations": [ + { + "category": "ThroughputOptimized", + "configurations": [ + "config2" + ] + }, + { + "category": "CostOptimized", + "configurations": [ + "config1" + ] + } + ], + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestProfileRun_Executing.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestProfileRun_Executing.json new file mode 100644 index 000000000000..25756f76a81f --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestProfileRun_Executing.json @@ -0,0 +1,38 @@ +{ + "operationId": "TestProfileRunAdministration_GetTestProfileRun", + "title": "Get a test profile run while the run is executing.", + "parameters": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_TestProfile_Run1", + "description": "sample description", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "status": "EXECUTING", + "startDateTime": "2024-05-01T16:43:46.072Z", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestRun.json new file mode 100644 index 000000000000..4131ae8e076e --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestRun.json @@ -0,0 +1,138 @@ +{ + "operationId": "LoadTestRun_GetTestRun", + "title": "Get a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "DONE", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + }, + "reportFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "debugLogsEnabled": true, + "requestDataLevel": "NONE" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestRunFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestRunFile.json new file mode 100644 index 000000000000..10ea8702f31f --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/GetTestRunFile.json @@ -0,0 +1,20 @@ +{ + "operationId": "LoadTestRun_GetTestRunFile", + "title": "Get a file associated to a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "fileName": "sample.jmx", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListMetricDimensionValues.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListMetricDimensionValues.json new file mode 100644 index 000000000000..4607045b5f9f --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListMetricDimensionValues.json @@ -0,0 +1,23 @@ +{ + "operationId": "LoadTestRun_ListMetricDimensionValues", + "title": "List the dimension values for the given metric dimension name.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "interval": "PT1H", + "name": "SamplerName", + "aggregation": "Average", + "metricname": "ActiveThreads", + "metricNamespace": "LoadTestRunMetrics", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + "HighLoadTest" + ] + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestAppComponents.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestAppComponents.json new file mode 100644 index 000000000000..73eb95c79906 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestAppComponents.json @@ -0,0 +1,30 @@ +{ + "operationId": "LoadTestAdministration_GetAppComponents", + "title": "Get associated app component for the given test.", + "parameters": { + "testId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestFiles.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestFiles.json new file mode 100644 index 000000000000..e9291c015ab7 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestFiles.json @@ -0,0 +1,25 @@ +{ + "operationId": "LoadTestAdministration_ListTestFiles", + "title": "Get all test files.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2024-05-01-preview", + "continuationToken": "continuation token" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestProfileRuns.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestProfileRuns.json new file mode 100644 index 000000000000..78af0f0b7ad3 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestProfileRuns.json @@ -0,0 +1,63 @@ +{ + "operationId": "TestProfileRunAdministration_ListTestProfileRuns", + "title": "Get all test profile runs for the specified filters.", + "parameters": { + "maxPageSize": 30, + "minStartDateTime": "2024-05-01T16:00:46.072Z", + "maxStartDateTime": "2024-05-01T16:50:46.072Z", + "minEndDateTime": "2024-05-01T16:00:46.072Z", + "maxEndDateTime": "2024-05-01T16:50:46.072Z", + "testProfileIds": "12345678-1234-1234-1234-123456789012", + "statuses": "ACCEPTED", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_TestProfile_Run1", + "description": "sample description", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "status": "ACCEPTED", + "startDateTime": "2024-05-01T16:43:46.072Z", + "endDateTime": "2024-05-01T16:43:46.072Z", + "durationInSeconds": 400, + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "testRunDetails": { + "testRun1": { + "status": "DONE", + "configurationId": "config1", + "properties": {} + }, + "testRun2": { + "status": "DONE", + "configurationId": "config2", + "properties": {} + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + ], + "nextLink": "https://00000000-0000-0000-aaaa-00aa00aa00aa.eastus.cnt-prod.loadtesting.azure.com/test-profile-runs?orderby=startDateTime%20desc&continuationToken=some-value&search=Performance_TestProfile&&executionFrom=&executionTo=&maxPageSize=50&api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestProfiles.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestProfiles.json new file mode 100644 index 000000000000..fcf359be1f1a --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestProfiles.json @@ -0,0 +1,45 @@ +{ + "operationId": "TestProfileAdministration_ListTestProfiles", + "title": "Get all test profiles for the specified filters.", + "parameters": { + "maxPageSize": 30, + "lastModifiedStartTime": "2024-05-01T16:00:46.072Z", + "lastModifiedEndTime": "2024-05-01T16:50:46.072Z", + "testProfileIds": "12345678-1234-1234-1234-123456789012", + "testIds": "12346-abcd-6789", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testProfileId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_TestProfile", + "testId": "12346-abcd-6789", + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + ], + "nextLink": "https://00000000-0000-0000-aaaa-00aa00aa00aa.eastus.cnt-prod.loadtesting.azure.com/test-profiles?orderby=lastModifiedDateTime%20desc&continuationToken=some-value&search=Performance_TestProfile&&lastModifiedStartTime=&lastModifiedEndTime=&maxPageSize=50&api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRunAppComponents.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRunAppComponents.json new file mode 100644 index 000000000000..4cbe3b137b59 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRunAppComponents.json @@ -0,0 +1,30 @@ +{ + "operationId": "LoadTestRun_GetAppComponents", + "title": "Get associated app component for the given test run.", + "parameters": { + "testRunId": "ee843bd9-a6d4-4364-a45c-427a03c39fa7", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12345678-1234-1234-1234-123456789012", + "components": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource": { + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "resourceType": "microsoft.insights/components", + "resourceName": "appcomponentresource", + "displayName": "Performance_LoadTest_Insights", + "resourceGroup": "samplerg", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "kind": "web" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRunMetrics.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRunMetrics.json new file mode 100644 index 000000000000..b20e4676f4ba --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRunMetrics.json @@ -0,0 +1,465 @@ +{ + "operationId": "LoadTestRun_ListMetrics", + "title": "List the metric values for a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "interval": "PT1H", + "aggregation": "Average", + "metricname": "ActiveThreads", + "metricNamespace": "LoadTestRunMetrics", + "timespan": "2022-09-24T19:00:40Z/2022-09-25T19:28:40Z", + "api-version": "2024-05-01-preview", + "body": { + "filters": [ + { + "name": "SamplerName", + "values": [ + "HTTP Request" + ] + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "data": [ + { + "timestamp": "2022-10-29T08:44:40.000Z", + "value": 10.0 + }, + { + "timestamp": "2022-10-29T08:44:45.000Z", + "value": 28.0 + }, + { + "timestamp": "2022-10-29T08:44:50.000Z", + "value": 45.0 + }, + { + "timestamp": "2022-10-29T08:44:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:45:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:46:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:47:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:48:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:49:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:50:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:51:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:25.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:30.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:35.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:40.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:45.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:50.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:52:55.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:00.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:05.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:10.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:15.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:20.000Z", + "value": 50.0 + }, + { + "timestamp": "2022-10-29T08:53:25.000Z", + "value": 49.0 + } + ], + "dimensionValues": [ + { + "name": "SamplerName", + "value": "HighLoadTest" + } + ] + } + ] + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRunMetricsDefinitions.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRunMetricsDefinitions.json new file mode 100644 index 000000000000..fe381e980d2b --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRunMetricsDefinitions.json @@ -0,0 +1,156 @@ +{ + "operationId": "LoadTestRun_ListMetricDefinitions", + "title": "List the metric definitions for a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metricNamespace": "LoadTestRunMetrics", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + } + ], + "description": "No of concurrent virtual users", + "name": "VirtualUsers", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Total", + "supportedAggregationTypes": [ + "Total" + ], + "unit": "Count", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + }, + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + } + ], + "description": "Response time (Successful request)", + "name": "ResponseTime", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Percentile90", + "supportedAggregationTypes": [ + "Average", + "Percentile90", + "Percentile95", + "Percentile99" + ], + "unit": "Milliseconds", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + }, + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + } + ], + "description": "Total Requests", + "name": "TotalRequests", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Total", + "supportedAggregationTypes": [ + "Total" + ], + "unit": "Count", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + }, + { + "dimensions": [ + { + "description": "Sampler Name", + "name": "SamplerName" + }, + { + "description": "Error response code", + "name": "Errors" + } + ], + "description": "Total Errors", + "name": "Errors", + "namespace": "LoadTestRunMetrics", + "primaryAggregationType": "Total", + "supportedAggregationTypes": [ + "Total" + ], + "unit": "Count", + "metricAvailabilities": [ + { + "timeGrain": "PT5S" + }, + { + "timeGrain": "PT10S" + }, + { + "timeGrain": "PT1M" + }, + { + "timeGrain": "PT5M" + }, + { + "timeGrain": "PT1H" + } + ] + } + ] + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRunMetricsNamespaces.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRunMetricsNamespaces.json new file mode 100644 index 000000000000..b267eee16c5c --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRunMetricsNamespaces.json @@ -0,0 +1,20 @@ +{ + "operationId": "LoadTestRun_ListMetricNamespaces", + "title": "List the metric namespaces for a load test run.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "description": "Load test run metrics", + "name": "LoadTestRunMetrics" + } + ] + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRunServerMetricsConfig.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRunServerMetricsConfig.json new file mode 100644 index 000000000000..9e05eeda011b --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRunServerMetricsConfig.json @@ -0,0 +1,31 @@ +{ + "operationId": "LoadTestRun_GetServerMetricsConfig", + "title": "List server metrics configuration for the given test run.", + "parameters": { + "testRunId": "12345678-1234-1234-1234-123456789012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRuns.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRuns.json new file mode 100644 index 000000000000..52069019ab6a --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestRuns.json @@ -0,0 +1,141 @@ +{ + "operationId": "LoadTestRun_ListTestRuns", + "title": "List test runs.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "orderBy": "executedDateTime", + "continuationToken": "continuation token", + "search": "Performance_LoadTest_Run1", + "executionFrom": "2021-12-05T16:43:48.805Z", + "executionTo": "2021-12-05T16:43:48.805Z", + "status": "DONE,EXECUTING", + "maxPageSize": 30, + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "DONE", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "PASSED", + "passFailCriteria": { + "passFailMetrics": { + "fefd759d-7fe8-4f83-8b6d-aeebe0f491fe": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 10, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "logsFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "worker.log", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2022-05-16T09:14:46.0411793+00:00", + "validationStatus": "" + } + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": 4, + "testRunStatistics": { + "Total": { + "transaction": "Total", + "sampleCount": 18, + "errorCount": 19, + "errorPct": 17, + "meanResTime": 13, + "medianResTime": 10, + "maxResTime": 16, + "minResTime": 18, + "pct1ResTime": 27, + "pct2ResTime": 20, + "pct3ResTime": 3, + "throughput": 5, + "receivedKBytesPerSec": 13, + "sentKBytesPerSec": 4 + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": 18, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + ], + "nextLink": "https://nextlink.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestServerMetricsConfig.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestServerMetricsConfig.json new file mode 100644 index 000000000000..5be13f0aa195 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTestServerMetricsConfig.json @@ -0,0 +1,31 @@ +{ + "operationId": "LoadTestAdministration_GetServerMetricsConfig", + "title": "List server metrics configuration for the given test.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testId": "12316678-1234-1234-1234-122451189012", + "metrics": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource/providers/microsoft.insights/metricdefinitions/requests/duration", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/microsoft.insights/components/appcomponentresource", + "metricNamespace": "microsoft.insights/components", + "displayDescription": "sample description", + "name": "requests/duration", + "aggregation": "Average", + "unit": null, + "resourceType": "microsoft.insights/components" + } + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTests.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTests.json new file mode 100644 index 000000000000..dd515dde706e --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/ListTests.json @@ -0,0 +1,96 @@ +{ + "operationId": "LoadTestAdministration_ListTests", + "title": "Get all load tests.", + "parameters": { + "orderBy": "executedDateTime", + "search": "Performance_LoadTest", + "lastUpdatedStartTime": "2021-12-05T16:43:46.797Z", + "lastUpdatedEndTime": "2021-12-05T16:43:46.797Z", + "continuationToken": "continuation token", + "maxPageSize": 30, + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "displayName": "Performance_LoadTest", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "passFailCriteria": { + "passFailMetrics": { + "pfmetric1": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 10, + "result": "passed" + } + } + }, + "autoStopCriteria": { + "autoStopDisabled": true, + "errorRate": 70, + "errorRateTimeWindowInSeconds": 60 + }, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0", + "keyvaultReferenceIdentityType": "UserAssigned", + "keyvaultReferenceIdentityId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1" + } + ], + "nextLink": "https://00000000-0000-0000-aaaa-00aa00aa00aa.westus2.cnt-prod.loadtesting.azure.com/tests?orderby=executedDateTime%20desc&continuationToken=some-value&search=&testId=&executionFrom=&executionTo=&status=&maxpagesize=50&api-version=2024-05-01-preview" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/StopTestProfileRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/StopTestProfileRun.json new file mode 100644 index 000000000000..0837614fbd0d --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/StopTestProfileRun.json @@ -0,0 +1,52 @@ +{ + "operationId": "TestProfileRunAdministration_StopTestProfileRun", + "title": "Stop a test profile run", + "parameters": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testProfileRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_TestProfile_Run1", + "description": "sample description", + "testProfileId": "12345678-1234-1234-1234-123456789012", + "status": "CANCELLING", + "startDateTime": "2024-05-01T16:43:46.072Z", + "endDateTime": "2024-05-01T16:43:46.072Z", + "durationInSeconds": 400, + "targetResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Web/sites/myfunctionapp", + "targetResourceConfigurations": { + "kind": "FunctionsFlexConsumption", + "configurations": { + "config1": { + "instanceMemoryMB": 512, + "httpConcurrency": 16 + }, + "config2": { + "instanceMemoryMB": 2048, + "httpConcurrency": 16 + } + } + }, + "testRunDetails": { + "testRun1": { + "status": "DONE", + "configurationId": "config1", + "properties": {} + }, + "testRun2": { + "status": "DONE", + "configurationId": "config2", + "properties": {} + } + }, + "createdDateTime": "2024-05-01T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2024-05-01T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/StopTestRun.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/StopTestRun.json new file mode 100644 index 000000000000..ecb7e5d130ee --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/StopTestRun.json @@ -0,0 +1,95 @@ +{ + "operationId": "LoadTestRun_StopTestRun", + "title": "Stop test run by name.", + "parameters": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "api-version": "2024-05-01-preview" + }, + "responses": { + "200": { + "body": { + "testRunId": "12316678-1234-1234-1234-122451189012", + "displayName": "Performance_LoadTest_Run1", + "testId": "12345678-1234-1234-1234-123456789012", + "description": "sample description", + "status": "CANCELLING", + "startDateTime": "2021-12-05T16:43:48.125Z", + "endDateTime": "2021-12-05T16:43:48.125Z", + "loadTestConfiguration": { + "engineInstances": 6, + "splitAllCSVs": true + }, + "testResult": "NOT_APPLICABLE", + "passFailCriteria": { + "passFailMetrics": { + "pfmetric1": { + "clientMetric": "response_time_ms", + "aggregate": "percentage", + "condition": ">", + "value": 20, + "action": "continue", + "actualValue": 0, + "result": null + } + } + }, + "testArtifacts": { + "inputArtifacts": { + "configFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.yaml?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "config.yaml", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "testScriptFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.jmx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "sample.jmx", + "fileType": "JMX_FILE", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + }, + "userPropFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.properties?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "user.properties", + "fileType": "USER_PROPERTIES", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "inputArtifactsZipFileInfo": { + "url": "https://somestorageaccount.blob.core.windows.net/00000000-0000-0000-0000-000000000000/00000000-0000-0000-0000-000000000000.zip?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D", + "fileName": "inputartifacts.zip", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "" + }, + "additionalFileInfo": [] + }, + "outputArtifacts": { + "resultFileInfo": null, + "logsFileInfo": null + } + }, + "executedDateTime": "2021-12-05T16:43:48.125Z", + "virtualUsers": null, + "testRunStatistics": null, + "createdDateTime": "2021-12-05T16:43:46.072Z", + "createdBy": "user@contoso.com", + "lastModifiedDateTime": "2021-12-05T16:43:46.072Z", + "lastModifiedBy": "user@contoso.com", + "portalUrl": "https://portal.azure.com/dummyresource", + "secrets": { + "secret1": { + "value": "https://samplevault.vault.azure.net/secrets/samplesecret/f113f91fd4c44a368049849c164db827", + "type": "AKV_SECRET_URI" + } + }, + "environmentVariables": { + "envvar1": "sampletext" + }, + "duration": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/samplerg/providers/Microsoft.Network/virtualNetworks/samplenetworkresource/subnets/AAAAA0A0A0" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/UploadTestFile.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/UploadTestFile.json new file mode 100644 index 000000000000..02d4df01336d --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/examples/UploadTestFile.json @@ -0,0 +1,22 @@ +{ + "operationId": "LoadTestAdministration_UploadTestFile", + "title": "Upload input file for a given test name.", + "parameters": { + "testId": "12345678-1234-1234-1234-123456789012", + "fileName": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "body": "application/octet-stream content", + "api-version": "2024-05-01-preview" + }, + "responses": { + "201": { + "body": { + "url": "https://dummyurl.com/testscriptresource", + "fileName": "sample.jmx", + "fileType": "ADDITIONAL_ARTIFACTS", + "expireDateTime": "2021-12-05T16:43:46.072Z", + "validationStatus": "VALIDATION_SUCCESS" + } + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/loadtestservice.json new file mode 100644 index 000000000000..b0cdb8ed7c12 --- /dev/null +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/preview/2024-05-01-preview/loadtestservice.json @@ -0,0 +1,5410 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Load Testing", + "version": "2024-05-01-preview", + "description": "These APIs allow end users to create, view and run load tests using Azure Load Test Service.", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "x-ms-parameterized-host": { + "hostTemplate": "https://{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "name": "endpoint", + "in": "path", + "required": true, + "type": "string" + } + ] + }, + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "Oauth2": [ + "https://cnt-prod.loadtesting.azure.com/.default" + ] + } + ], + "securityDefinitions": { + "Oauth2": { + "type": "oauth2", + "description": "OAuth 2.0 Flow with Microsoft Entra ID.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize", + "scopes": { + "https://cnt-prod.loadtesting.azure.com/.default": "" + } + } + }, + "tags": [ + { + "name": "Test" + }, + { + "name": "TestRun" + }, + { + "name": "TestProfile" + }, + { + "name": "TestProfileRun" + } + ], + "paths": { + "/test-profile-runs": { + "get": { + "operationId": "TestProfileRunAdministration_ListTestProfileRuns", + "tags": [ + "TestProfileRun" + ], + "summary": "List test profile runs.", + "description": "Get all test profile runs for the given filters.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTestProfileRunQueryParams.maxpagesize" + }, + { + "$ref": "#/parameters/ListTestProfileRunQueryParams.minStartDateTime" + }, + { + "$ref": "#/parameters/ListTestProfileRunQueryParams.maxStartDateTime" + }, + { + "$ref": "#/parameters/ListTestProfileRunQueryParams.minEndDateTime" + }, + { + "$ref": "#/parameters/ListTestProfileRunQueryParams.maxEndDateTime" + }, + { + "$ref": "#/parameters/ListTestProfileRunQueryParams.createdDateStartTime" + }, + { + "$ref": "#/parameters/ListTestProfileRunQueryParams.createdDateEndTime" + }, + { + "$ref": "#/parameters/ListTestProfileRunQueryParams.testProfileRunIds" + }, + { + "$ref": "#/parameters/ListTestProfileRunQueryParams.testProfileIds" + }, + { + "$ref": "#/parameters/ListTestProfileRunQueryParams.statuses" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedTestProfileRun" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get all test profile runs for the specified filters.": { + "$ref": "./examples/ListTestProfileRuns.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/test-profile-runs/{testProfileRunId}": { + "get": { + "operationId": "TestProfileRunAdministration_GetTestProfileRun", + "tags": [ + "TestProfileRun" + ], + "summary": "Get test profile run details.", + "description": "Get test profile run details by test profile run Id.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testProfileRunId", + "in": "path", + "description": "Unique identifier for the test profile run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestProfileRun" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get a test profile run after the run has executed.": { + "$ref": "./examples/GetTestProfileRun_Executed.json" + }, + "Get a test profile run while the run is executing.": { + "$ref": "./examples/GetTestProfileRun_Executing.json" + } + } + }, + "patch": { + "operationId": "TestProfileRunAdministration_CreateOrUpdateTestProfileRun", + "tags": [ + "TestProfileRun" + ], + "summary": "Create and start a new test profile run.", + "description": "Create and start a new test profile run with the given test profile run Id.", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testProfileRunId", + "in": "path", + "description": "Unique identifier for the test profile run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "body", + "in": "body", + "description": "The resource instance.", + "required": true, + "schema": { + "$ref": "#/definitions/TestProfileRunCreateOrUpdate" + }, + "x-ms-client-name": "resource" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestProfileRun" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestProfileRun" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Create/update and start a test profile run": { + "$ref": "./examples/CreateOrUpdateTestProfileRun.json" + } + } + }, + "delete": { + "operationId": "TestProfileRunAdministration_DeleteTestProfileRun", + "tags": [ + "TestProfileRun" + ], + "summary": "Delete an existing load test profile run.", + "description": "Delete an existing load test profile run by providing the test profile run Id.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testProfileRunId", + "in": "path", + "description": "Unique identifier for the test profile run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "204": { + "description": "There is no content to send for this request, but the headers may be useful. " + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Deletes a test profile run": { + "$ref": "./examples/DeleteTestProfileRun.json" + } + } + } + }, + "/test-profile-runs/{testProfileRunId}:stop": { + "post": { + "operationId": "TestProfileRunAdministration_StopTestProfileRun", + "tags": [ + "TestProfileRun" + ], + "summary": "Stop test profile run.", + "description": "Stop test profile run for the given test profile run Id.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testProfileRunId", + "in": "path", + "description": "Unique identifier for the test profile run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestProfileRun" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Stop a test profile run": { + "$ref": "./examples/StopTestProfileRun.json" + } + } + } + }, + "/test-profiles": { + "get": { + "operationId": "TestProfileAdministration_ListTestProfiles", + "tags": [ + "TestProfile" + ], + "summary": "List test profiles.", + "description": "Get all test profiles for the given filters.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTestProfileQueryParams.maxpagesize" + }, + { + "$ref": "#/parameters/ListTestProfileQueryParams.lastModifiedStartTime" + }, + { + "$ref": "#/parameters/ListTestProfileQueryParams.lastModifiedEndTime" + }, + { + "$ref": "#/parameters/ListTestProfileQueryParams.testProfileIds" + }, + { + "$ref": "#/parameters/ListTestProfileQueryParams.testIds" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedTestProfile" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get all test profiles for the specified filters.": { + "$ref": "./examples/ListTestProfiles.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/test-profiles/{testProfileId}": { + "get": { + "operationId": "TestProfileAdministration_GetTestProfile", + "tags": [ + "TestProfile" + ], + "summary": "Get load test profile details.", + "description": "Get load test profile details by test profile Id.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testProfileId", + "in": "path", + "description": "Unique identifier for the test profile, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestProfile" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get a test profile.": { + "$ref": "./examples/GetTestProfile.json" + } + } + }, + "patch": { + "operationId": "TestProfileAdministration_CreateOrUpdateTestProfile", + "tags": [ + "TestProfile" + ], + "summary": "Create a new test profile or update an existing test profile.", + "description": "Create a new test profile or update an existing test profile by providing the test profile Id.", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testProfileId", + "in": "path", + "description": "Unique identifier for the test profile, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "body", + "in": "body", + "description": "The resource instance.", + "required": true, + "schema": { + "$ref": "#/definitions/TestProfileCreateOrUpdate" + }, + "x-ms-client-name": "resource" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestProfile" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestProfile" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Create or update a test profile": { + "$ref": "./examples/CreateOrUpdateTestProfile.json" + } + } + }, + "delete": { + "operationId": "TestProfileAdministration_DeleteTestProfile", + "tags": [ + "TestProfile" + ], + "summary": "Delete a test profile.", + "description": "Delete a test profile by its test profile Id.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testProfileId", + "in": "path", + "description": "Unique identifier for the test profile, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "204": { + "description": "There is no content to send for this request, but the headers may be useful. " + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Delete a test profile": { + "$ref": "./examples/DeleteTestProfile.json" + } + } + } + }, + "/test-runs": { + "get": { + "operationId": "LoadTestRun_ListTestRuns", + "tags": [ + "TestRun" + ], + "summary": "Get all test runs for the given filters.", + "description": "Get all test runs for the given filters.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTestRunQueryParams.orderby" + }, + { + "$ref": "#/parameters/ListTestRunQueryParams.search" + }, + { + "$ref": "#/parameters/ListTestRunQueryParams.testId" + }, + { + "$ref": "#/parameters/ListTestRunQueryParams.executionFrom" + }, + { + "$ref": "#/parameters/ListTestRunQueryParams.executionTo" + }, + { + "$ref": "#/parameters/ListTestRunQueryParams.status" + }, + { + "$ref": "#/parameters/ListTestRunQueryParams.maxpagesize" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedTestRun" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "List test runs.": { + "$ref": "./examples/ListTestRuns.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/test-runs/{testRunId}": { + "get": { + "operationId": "LoadTestRun_GetTestRun", + "tags": [ + "TestRun" + ], + "summary": "Get test run details by test run Id.", + "description": "Get test run details by test run Id.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRun" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get a load test run.": { + "$ref": "./examples/GetTestRun.json" + } + } + }, + "patch": { + "operationId": "LoadTestRun_CreateOrUpdateTestRun", + "tags": [ + "TestRun" + ], + "summary": "Create and start a new test run with the given test run Id.", + "description": "Create and start a new test run with the given test run Id.", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "$ref": "#/parameters/OldTestRunIdQueryParam" + }, + { + "name": "body", + "in": "body", + "description": "The resource instance.", + "required": true, + "schema": { + "$ref": "#/definitions/TestRunCreateOrUpdate" + }, + "x-ms-client-name": "resource" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRun" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestRun" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Create/update and start a load test run": { + "$ref": "./examples/CreateOrUpdateTestRun.json" + } + } + }, + "delete": { + "operationId": "LoadTestRun_DeleteTestRun", + "tags": [ + "TestRun" + ], + "summary": "Delete an existing load test run.", + "description": "Delete an existing load test run by providing the testRunId.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "204": { + "description": "There is no content to send for this request, but the headers may be useful. " + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Delete a load test run": { + "$ref": "./examples/DeleteTestRun.json" + } + } + } + }, + "/test-runs/{testRunId}:stop": { + "post": { + "operationId": "LoadTestRun_StopTestRun", + "tags": [ + "TestRun" + ], + "summary": "Stop test run by test run Id.", + "description": "Stop test run by test run Id.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRun" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Stop test run by name.": { + "$ref": "./examples/StopTestRun.json" + } + } + } + }, + "/test-runs/{testRunId}/app-components": { + "get": { + "operationId": "LoadTestRun_GetAppComponents", + "tags": [ + "TestRun" + ], + "summary": "Get associated app component (collection of azure resources) for the given test\nrun.", + "description": "Get associated app component (collection of azure resources) for the given test\nrun.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRunAppComponents" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get associated app component for the given test run.": { + "$ref": "./examples/ListTestRunAppComponents.json" + } + } + }, + "patch": { + "operationId": "LoadTestRun_CreateOrUpdateAppComponents", + "tags": [ + "TestRun" + ], + "summary": "Add an app component to a test run.", + "description": "Add an app component to a test run by providing the resource Id, name and type.", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique Id for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "body", + "in": "body", + "description": "App Component model.", + "required": true, + "schema": { + "$ref": "#/definitions/TestRunAppComponentsUpdate" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRunAppComponents" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestRunAppComponents" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Add or update app components to a load test run": { + "$ref": "./examples/CreateOrUpdateTestRunAppComponents.json" + } + } + } + }, + "/test-runs/{testRunId}/files/{fileName}": { + "get": { + "operationId": "LoadTestRun_GetTestRunFile", + "tags": [ + "TestRun" + ], + "summary": "Get test run file by file name.", + "description": "Get test run file by file name.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "fileName", + "in": "path", + "description": "Name of the file.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRunFileInfo" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get a file associated to a load test run.": { + "$ref": "./examples/GetTestRunFile.json" + } + } + } + }, + "/test-runs/{testRunId}/metric-definitions": { + "get": { + "operationId": "LoadTestRun_ListMetricDefinitions", + "tags": [ + "TestRun" + ], + "summary": "List the metric definitions for a load test run.", + "description": "List the metric definitions for a load test run.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "metricNamespace", + "in": "query", + "description": "Metric namespace to query metric definitions for.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/MetricDefinitionCollection" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "List the metric definitions for a load test run.": { + "$ref": "./examples/ListTestRunMetricsDefinitions.json" + } + } + } + }, + "/test-runs/{testRunId}/metric-dimensions/{name}/values": { + "get": { + "operationId": "LoadTestRun_ListMetricDimensionValues", + "tags": [ + "TestRun" + ], + "summary": "List the dimension values for the given metric dimension name.", + "description": "List the dimension values for the given metric dimension name.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "name", + "in": "path", + "description": "Dimension name", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.metricname" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.interval" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.metricNamespace" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.timespan" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/DimensionValueList" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "List the dimension values for the given metric dimension name.": { + "$ref": "./examples/ListMetricDimensionValues.json" + } + } + } + }, + "/test-runs/{testRunId}/metric-namespaces": { + "get": { + "operationId": "LoadTestRun_ListMetricNamespaces", + "tags": [ + "TestRun" + ], + "summary": "List the metric namespaces for a load test run.", + "description": "List the metric namespaces for a load test run.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/MetricNamespaceCollection" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "List the metric namespaces for a load test run.": { + "$ref": "./examples/ListTestRunMetricsNamespaces.json" + } + } + } + }, + "/test-runs/{testRunId}/metrics": { + "post": { + "operationId": "LoadTestRun_ListMetrics", + "tags": [ + "TestRun" + ], + "summary": "List the metric values for a load test run.", + "description": "List the metric values for a load test run.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "aggregation", + "in": "query", + "description": "The aggregation", + "required": false, + "type": "string" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.metricname" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.interval" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.metricNamespace" + }, + { + "$ref": "#/parameters/MetricDimensionsRequest.timespan" + }, + { + "name": "body", + "in": "body", + "description": "Metric dimension filter ", + "required": false, + "schema": { + "$ref": "#/definitions/MetricRequestPayload" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Metrics" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "List the metric values for a load test run.": { + "$ref": "./examples/ListTestRunMetrics.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/test-runs/{testRunId}/server-metrics-config": { + "get": { + "operationId": "LoadTestRun_GetServerMetricsConfig", + "tags": [ + "TestRun" + ], + "summary": "Get associated server metrics configuration for the given test run.", + "description": "Get associated server metrics configuration for the given test run.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique name for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRunServerMetricConfig" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "List server metrics configuration for the given test run.": { + "$ref": "./examples/ListTestRunServerMetricsConfig.json" + } + } + }, + "patch": { + "operationId": "LoadTestRun_CreateOrUpdateServerMetricsConfig", + "tags": [ + "TestRun" + ], + "summary": "Configure server metrics for a test run", + "description": "Configure server metrics for a test run", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testRunId", + "in": "path", + "description": "Unique Id for the load test run, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "body", + "in": "body", + "description": "Server metric configuration model.", + "required": true, + "schema": { + "$ref": "#/definitions/TestRunServerMetricConfig" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestRunServerMetricConfig" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestRunServerMetricConfig" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Add or update server metrics configuration for a load test run": { + "$ref": "./examples/CreateOrUpdateTestRunServerMetricsConfig.json" + } + } + } + }, + "/tests": { + "get": { + "operationId": "LoadTestAdministration_ListTests", + "tags": [ + "Test" + ], + "summary": "Get all load tests by the fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", + "description": "Get all load tests by the fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "$ref": "#/parameters/ListTestQueryParams.orderby" + }, + { + "$ref": "#/parameters/ListTestQueryParams.search" + }, + { + "$ref": "#/parameters/ListTestQueryParams.lastModifiedStartTime" + }, + { + "$ref": "#/parameters/ListTestQueryParams.lastModifiedEndTime" + }, + { + "$ref": "#/parameters/ListTestQueryParams.maxpagesize" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedTest" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get all load tests.": { + "$ref": "./examples/ListTests.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/tests/{testId}": { + "get": { + "operationId": "LoadTestAdministration_GetTest", + "tags": [ + "Test" + ], + "summary": "Get load test details by test Id", + "description": "Get load test details by test Id", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Test" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get a load test.": { + "$ref": "./examples/GetTest.json" + } + } + }, + "patch": { + "operationId": "LoadTestAdministration_CreateOrUpdateTest", + "tags": [ + "Test" + ], + "summary": "Create a new test or update an existing test by providing the test Id.", + "description": "Create a new test or update an existing test by providing the test Id.", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "body", + "in": "body", + "description": "The resource instance.", + "required": true, + "schema": { + "$ref": "#/definitions/TestCreateOrUpdate" + }, + "x-ms-client-name": "resource" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/Test" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/Test" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Create or update a load test": { + "$ref": "./examples/CreateOrUpdateTest.json" + } + } + }, + "delete": { + "operationId": "LoadTestAdministration_DeleteTest", + "tags": [ + "Test" + ], + "summary": "Delete a test by its test Id.", + "description": "Delete a test by its test Id.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "204": { + "description": "There is no content to send for this request, but the headers may be useful. " + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Delete a load test": { + "$ref": "./examples/DeleteTest.json" + } + } + } + }, + "/tests/{testId}/app-components": { + "get": { + "operationId": "LoadTestAdministration_GetAppComponents", + "tags": [ + "Test" + ], + "summary": "Get associated app component (collection of azure resources) for the given test.", + "description": "Get associated app component (collection of azure resources) for the given test.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestAppComponents" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get associated app component for the given test.": { + "$ref": "./examples/ListTestAppComponents.json" + } + } + }, + "patch": { + "operationId": "LoadTestAdministration_CreateOrUpdateAppComponents", + "tags": [ + "Test" + ], + "summary": "Add an app component to a test.", + "description": "Add an app component to a test by providing the resource Id, name and type.", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "body", + "in": "body", + "description": "App Component model.", + "required": true, + "schema": { + "$ref": "#/definitions/TestAppComponentsUpdate" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestAppComponents" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestAppComponents" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Add or update app components to a load test": { + "$ref": "./examples/CreateOrUpdateTestAppComponents.json" + } + } + } + }, + "/tests/{testId}/files": { + "get": { + "operationId": "LoadTestAdministration_ListTestFiles", + "tags": [ + "Test" + ], + "summary": "Get all test files.", + "description": "Get all test files.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/PagedTestFileInfo" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get all test files.": { + "$ref": "./examples/ListTestFiles.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/tests/{testId}/files/{fileName}": { + "get": { + "operationId": "LoadTestAdministration_GetTestFile", + "tags": [ + "Test" + ], + "summary": "Get all the files that are associated with a test.", + "description": "Get all the files that are associated with a test.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "fileName", + "in": "path", + "description": "Name of the file.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestFileInfo" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Get a file from a load test": { + "$ref": "./examples/GetTestFile.json" + } + } + }, + "put": { + "operationId": "LoadTestAdministration_UploadTestFile", + "tags": [ + "Test" + ], + "summary": "Upload input file for a given test Id. File size can't be more than 50 MB.\nExisting file with same name for the given test will be overwritten. File\nshould be provided in the request body as application/octet-stream.", + "description": "Upload input file for a given test Id. File size can't be more than 50 MB.\nExisting file with same name for the given test will be overwritten. File\nshould be provided in the request body as application/octet-stream.", + "consumes": [ + "application/octet-stream" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "fileName", + "in": "path", + "description": "Unique name for test file with file extension like : App.jmx", + "required": true, + "type": "string" + }, + { + "name": "fileType", + "in": "query", + "description": "File type", + "required": false, + "type": "string", + "enum": [ + "JMX_FILE", + "USER_PROPERTIES", + "ADDITIONAL_ARTIFACTS", + "ZIPPED_ARTIFACTS", + "URL_TEST_CONFIG", + "TEST_SCRIPT" + ], + "x-ms-enum": { + "name": "FileType", + "modelAsString": true, + "values": [ + { + "name": "JMX_FILE", + "value": "JMX_FILE", + "description": "If the file is a JMX script." + }, + { + "name": "USER_PROPERTIES", + "value": "USER_PROPERTIES", + "description": "If the file is a user properties file." + }, + { + "name": "ADDITIONAL_ARTIFACTS", + "value": "ADDITIONAL_ARTIFACTS", + "description": "If the file is not among any of the other supported file types." + }, + { + "name": "ZIPPED_ARTIFACTS", + "value": "ZIPPED_ARTIFACTS", + "description": "If the file is a compressed archive containing a collection of various artifacts or resources." + }, + { + "name": "URL_TEST_CONFIG", + "value": "URL_TEST_CONFIG", + "description": "If the file is a JSON config file to define the requests for a URL test." + }, + { + "name": "TEST_SCRIPT", + "value": "TEST_SCRIPT", + "description": "If the file is a test script." + } + ] + } + }, + { + "name": "body", + "in": "body", + "description": "The file content as application/octet-stream.", + "required": true, + "schema": { + "type": "string", + "format": "binary" + } + } + ], + "responses": { + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestFileInfo" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Upload input file for a given test name.": { + "$ref": "./examples/UploadTestFile.json" + } + } + }, + "delete": { + "operationId": "LoadTestAdministration_DeleteTestFile", + "tags": [ + "Test" + ], + "summary": "Delete file by the file name for a test", + "description": "Delete file by the file name for a test", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "fileName", + "in": "path", + "description": "Name of the file.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "There is no content to send for this request, but the headers may be useful. " + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Delete a file from a load test": { + "$ref": "./examples/DeleteTestFile.json" + } + } + } + }, + "/tests/{testId}/server-metrics-config": { + "get": { + "operationId": "LoadTestAdministration_GetServerMetricsConfig", + "tags": [ + "Test" + ], + "summary": "List server metrics configuration for the given test.", + "description": "List server metrics configuration for the given test.", + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestServerMetricConfig" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "List server metrics configuration for the given test.": { + "$ref": "./examples/ListTestServerMetricsConfig.json" + } + } + }, + "patch": { + "operationId": "LoadTestAdministration_CreateOrUpdateServerMetricsConfig", + "tags": [ + "Test" + ], + "summary": "Configure server metrics for a test", + "description": "Configure server metrics for a test", + "consumes": [ + "application/merge-patch+json" + ], + "parameters": [ + { + "$ref": "#/parameters/Azure.Core.Foundations.ApiVersionParameter" + }, + { + "name": "testId", + "in": "path", + "description": "Unique name for the load test, must contain only lower-case alphabetic,\nnumeric, underscore or hyphen characters.", + "required": true, + "type": "string", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$" + }, + { + "name": "body", + "in": "body", + "description": "Server metric configuration model.", + "required": true, + "schema": { + "$ref": "#/definitions/TestServerMetricConfigUpdate" + } + } + ], + "responses": { + "200": { + "description": "The request has succeeded.", + "schema": { + "$ref": "#/definitions/TestServerMetricConfig" + } + }, + "201": { + "description": "The request has succeeded and a new resource has been created as a result.", + "schema": { + "$ref": "#/definitions/TestServerMetricConfig" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "#/definitions/Azure.Core.Foundations.ErrorResponse" + }, + "headers": { + "x-ms-error-code": { + "type": "string", + "description": "String error code indicating what went wrong." + } + } + } + }, + "x-ms-examples": { + "Add or update server metrics configuration for a load test.": { + "$ref": "./examples/CreateOrUpdateTestServerMetricsConfig.json" + } + } + } + } + }, + "definitions": { + "AggregationType": { + "type": "string", + "description": "Aggregation type.", + "enum": [ + "Average", + "Count", + "None", + "Total", + "Percentile75", + "Percentile90", + "Percentile95", + "Percentile96", + "Percentile97", + "Percentile98", + "Percentile99", + "Percentile999", + "Percentile9999" + ], + "x-ms-enum": { + "name": "AggregationType", + "modelAsString": true, + "values": [ + { + "name": "Average", + "value": "Average", + "description": "Average value." + }, + { + "name": "Count", + "value": "Count", + "description": "Total count." + }, + { + "name": "None", + "value": "None", + "description": "Aggregation will be average in this case." + }, + { + "name": "Total", + "value": "Total", + "description": "Total sum." + }, + { + "name": "Percentile75", + "value": "Percentile75", + "description": "75th percentile." + }, + { + "name": "Percentile90", + "value": "Percentile90", + "description": "90th percentile." + }, + { + "name": "Percentile95", + "value": "Percentile95", + "description": "95th percentile." + }, + { + "name": "Percentile96", + "value": "Percentile96", + "description": "96th percentile." + }, + { + "name": "Percentile97", + "value": "Percentile97", + "description": "97th percentile." + }, + { + "name": "Percentile98", + "value": "Percentile98", + "description": "98th percentile." + }, + { + "name": "Percentile99", + "value": "Percentile99", + "description": "99th percentile." + }, + { + "name": "Percentile999", + "value": "Percentile999", + "description": "99.9th percentile." + }, + { + "name": "Percentile9999", + "value": "Percentile9999", + "description": "99.99th percentile." + } + ] + } + }, + "AppComponent": { + "type": "object", + "description": "An Azure resource object (Refer azure generic resource model :https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource)", + "properties": { + "resourceId": { + "type": "string", + "description": "fully qualified resource Id e.g subscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName}", + "readOnly": true + }, + "resourceName": { + "type": "string", + "description": "Azure resource name, required while creating the app component." + }, + "resourceType": { + "type": "string", + "description": "Azure resource type, required while creating the app component." + }, + "displayName": { + "type": "string", + "description": "Azure resource display name" + }, + "resourceGroup": { + "type": "string", + "description": "Resource group name of the Azure resource", + "readOnly": true + }, + "subscriptionId": { + "type": "string", + "description": "Subscription Id of the Azure resource", + "readOnly": true + }, + "kind": { + "type": "string", + "description": "Kind of Azure resource type" + } + }, + "required": [ + "resourceId", + "resourceName", + "resourceType" + ] + }, + "AppComponentUpdate": { + "type": "object", + "description": "An Azure resource object (Refer azure generic resource model :https://docs.microsoft.com/en-us/rest/api/resources/resources/get-by-id#genericresource)", + "properties": { + "resourceName": { + "type": "string", + "description": "Azure resource name, required while creating the app component." + }, + "resourceType": { + "type": "string", + "description": "Azure resource type, required while creating the app component." + }, + "displayName": { + "type": "string", + "description": "Azure resource display name" + }, + "kind": { + "type": "string", + "description": "Kind of Azure resource type" + } + } + }, + "ArtifactsContainerInfo": { + "type": "object", + "description": "Artifacts container info.", + "properties": { + "url": { + "type": "string", + "format": "uri", + "description": "This is a SAS URI to an Azure Storage Container that contains the test run artifacts." + }, + "expireDateTime": { + "type": "string", + "format": "date-time", + "description": "Expiry time of the container (RFC 3339 literal format)" + } + } + }, + "AutoStopCriteria": { + "type": "object", + "description": "Auto stop criteria for a test. This will automatically stop a load test if the error percentage is high for a certain time window.", + "properties": { + "autoStopDisabled": { + "type": "boolean", + "description": "Whether auto-stop should be disabled. The default value is false.", + "default": false + }, + "errorRate": { + "type": "number", + "format": "float", + "description": "Threshold percentage of errors on which test run should be automatically stopped. Allowed values are in range of 0.0-100.0", + "default": 90 + }, + "errorRateTimeWindowInSeconds": { + "type": "integer", + "format": "int32", + "description": "Time window during which the error percentage should be evaluated in seconds.", + "default": 60 + } + } + }, + "Azure.Core.Foundations.Error": { + "type": "object", + "description": "The error object.", + "properties": { + "code": { + "type": "string", + "description": "One of a server-defined set of error codes." + }, + "message": { + "type": "string", + "description": "A human-readable representation of the error." + }, + "target": { + "type": "string", + "description": "The target of the error." + }, + "details": { + "type": "array", + "description": "An array of details about specific errors that led to this reported error.", + "items": { + "$ref": "#/definitions/Azure.Core.Foundations.Error" + }, + "x-ms-identifiers": [] + }, + "innererror": { + "$ref": "#/definitions/Azure.Core.Foundations.InnerError", + "description": "An object containing more specific information than the current object about the error." + } + }, + "required": [ + "code", + "message" + ] + }, + "Azure.Core.Foundations.ErrorResponse": { + "type": "object", + "description": "A response containing error details.", + "properties": { + "error": { + "$ref": "#/definitions/Azure.Core.Foundations.Error", + "description": "The error object." + } + }, + "required": [ + "error" + ] + }, + "Azure.Core.Foundations.InnerError": { + "type": "object", + "description": "An object containing more specific information about the error. As per Microsoft One API guidelines - https://github.com/Microsoft/api-guidelines/blob/vNext/Guidelines.md#7102-error-condition-responses.", + "properties": { + "code": { + "type": "string", + "description": "One of a server-defined set of error codes." + }, + "innererror": { + "$ref": "#/definitions/Azure.Core.Foundations.InnerError", + "description": "Inner error." + } + } + }, + "CertificateMetadata": { + "type": "object", + "description": "Certificates metadata", + "properties": { + "value": { + "type": "string", + "description": "The value of the certificate for respective type" + }, + "type": { + "$ref": "#/definitions/CertificateType", + "description": "Type of certificate" + }, + "name": { + "type": "string", + "description": "Name of the certificate." + } + } + }, + "CertificateType": { + "type": "string", + "description": "Types of certificates supported.", + "enum": [ + "AKV_CERT_URI" + ], + "x-ms-enum": { + "name": "CertificateType", + "modelAsString": true, + "values": [ + { + "name": "AKV_CERT_URI", + "value": "AKV_CERT_URI", + "description": "If the certificate is stored in an Azure Key Vault." + } + ] + } + }, + "DimensionFilter": { + "type": "object", + "description": "Dimension name and values to filter", + "properties": { + "name": { + "type": "string", + "description": "The dimension name" + }, + "values": { + "type": "array", + "description": "The dimension values. Maximum values can be 20.", + "items": { + "type": "string" + } + } + } + }, + "DimensionValue": { + "type": "object", + "description": "Represents a metric dimension value.", + "properties": { + "name": { + "type": "string", + "description": "The name of the dimension." + }, + "value": { + "type": "string", + "description": "The value of the dimension." + } + } + }, + "DimensionValueList": { + "type": "object", + "description": "Metrics dimension values.", + "properties": { + "name": { + "type": "string", + "description": "The dimension name", + "readOnly": true + }, + "value": { + "type": "array", + "description": "The dimension value", + "items": { + "type": "string" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "Link for the next set of values in case of paginated results, if applicable." + } + } + }, + "ErrorDetails": { + "type": "object", + "description": "Error details if there is any failure in load test run", + "properties": { + "message": { + "type": "string", + "description": "Error details in case test run was not successfully run.", + "readOnly": true + } + } + }, + "FileStatus": { + "type": "string", + "description": "File status.", + "enum": [ + "NOT_VALIDATED", + "VALIDATION_SUCCESS", + "VALIDATION_FAILURE", + "VALIDATION_INITIATED", + "VALIDATION_NOT_REQUIRED" + ], + "x-ms-enum": { + "name": "FileStatus", + "modelAsString": true, + "values": [ + { + "name": "NOT_VALIDATED", + "value": "NOT_VALIDATED", + "description": "File is not validated." + }, + { + "name": "VALIDATION_SUCCESS", + "value": "VALIDATION_SUCCESS", + "description": "File is validated." + }, + { + "name": "VALIDATION_FAILURE", + "value": "VALIDATION_FAILURE", + "description": "File validation is failed." + }, + { + "name": "VALIDATION_INITIATED", + "value": "VALIDATION_INITIATED", + "description": "File validation is in progress." + }, + { + "name": "VALIDATION_NOT_REQUIRED", + "value": "VALIDATION_NOT_REQUIRED", + "description": "Validation is not required." + } + ] + } + }, + "FileType": { + "type": "string", + "description": "Types of file supported.", + "enum": [ + "JMX_FILE", + "USER_PROPERTIES", + "ADDITIONAL_ARTIFACTS", + "ZIPPED_ARTIFACTS", + "URL_TEST_CONFIG", + "TEST_SCRIPT" + ], + "x-ms-enum": { + "name": "FileType", + "modelAsString": true, + "values": [ + { + "name": "JMX_FILE", + "value": "JMX_FILE", + "description": "If the file is a JMX script." + }, + { + "name": "USER_PROPERTIES", + "value": "USER_PROPERTIES", + "description": "If the file is a user properties file." + }, + { + "name": "ADDITIONAL_ARTIFACTS", + "value": "ADDITIONAL_ARTIFACTS", + "description": "If the file is not among any of the other supported file types." + }, + { + "name": "ZIPPED_ARTIFACTS", + "value": "ZIPPED_ARTIFACTS", + "description": "If the file is a compressed archive containing a collection of various artifacts or resources." + }, + { + "name": "URL_TEST_CONFIG", + "value": "URL_TEST_CONFIG", + "description": "If the file is a JSON config file to define the requests for a URL test." + }, + { + "name": "TEST_SCRIPT", + "value": "TEST_SCRIPT", + "description": "If the file is a test script." + } + ] + } + }, + "FunctionFlexConsumptionResourceConfiguration": { + "type": "object", + "description": "Resource configuration instance for a Flex Consumption based Azure Function App.", + "properties": { + "instanceMemoryMB": { + "type": "integer", + "format": "int64", + "description": "Memory size of the instance. Supported values are 512, 2048, 2096." + }, + "httpConcurrency": { + "type": "integer", + "format": "int64", + "description": "HTTP Concurrency for the function app." + } + }, + "required": [ + "instanceMemoryMB", + "httpConcurrency" + ] + }, + "FunctionFlexConsumptionResourceConfigurationCreateOrUpdate": { + "type": "object", + "description": "Resource configuration instance for a Flex Consumption based Azure Function App.", + "properties": { + "instanceMemoryMB": { + "type": "integer", + "format": "int64", + "description": "Memory size of the instance. Supported values are 512, 2048, 2096." + }, + "httpConcurrency": { + "type": "integer", + "format": "int64", + "description": "HTTP Concurrency for the function app." + } + } + }, + "FunctionFlexConsumptionTargetResourceConfigurations": { + "type": "object", + "description": "Configurations for a Function App using Flex Consumption Plan.", + "properties": { + "configurations": { + "type": "object", + "description": "A map of configurations for a Function app using Flex Consumption Plan.", + "additionalProperties": { + "$ref": "#/definitions/FunctionFlexConsumptionResourceConfiguration" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/TargetResourceConfigurations" + } + ], + "x-ms-discriminator-value": "FunctionsFlexConsumption" + }, + "FunctionFlexConsumptionTargetResourceConfigurationsCreateOrUpdate": { + "type": "object", + "description": "Configurations for a Function App using Flex Consumption Plan.", + "properties": { + "configurations": { + "type": "object", + "description": "A map of configurations for a Function app using Flex Consumption Plan.", + "additionalProperties": { + "$ref": "#/definitions/FunctionFlexConsumptionResourceConfigurationCreateOrUpdate" + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/TargetResourceConfigurationsCreateOrUpdate" + } + ], + "x-ms-discriminator-value": "FunctionsFlexConsumption" + }, + "LoadTestConfiguration": { + "type": "object", + "description": "Configurations for the load test.", + "properties": { + "engineInstances": { + "type": "integer", + "format": "int32", + "description": "The number of engine instances to execute load test. Supported values are in range of 1-400. Required for creating a new test." + }, + "splitAllCSVs": { + "type": "boolean", + "description": "If false, Azure Load Testing copies and processes your input files unmodified\nacross all test engine instances. If true, Azure Load Testing splits the CSV\ninput data evenly across all engine instances. If you provide multiple CSV\nfiles, each file will be split evenly.", + "default": false + }, + "quickStartTest": { + "type": "boolean", + "description": "If true, optionalLoadTestConfig is required and JMX script for the load test is\nnot required to upload.", + "default": false + }, + "optionalLoadTestConfig": { + "$ref": "#/definitions/OptionalLoadTestConfig", + "description": "Configuration for quick load test" + }, + "regionalLoadTestConfig": { + "type": "array", + "description": "Region distribution configuration for the load test.", + "items": { + "$ref": "#/definitions/RegionalConfiguration" + }, + "x-ms-identifiers": [] + } + } + }, + "MetricAvailability": { + "type": "object", + "description": "Metric availability specifies the time grain (aggregation interval or frequency)", + "properties": { + "timeGrain": { + "$ref": "#/definitions/TimeGrain", + "description": "The time grain specifies the aggregation interval for the metric. Expressed as\na duration 'PT1M', 'PT1H', etc." + } + } + }, + "MetricDefinition": { + "type": "object", + "description": "Metric definition", + "properties": { + "dimensions": { + "type": "array", + "description": "List of dimensions", + "items": { + "$ref": "#/definitions/NameAndDesc" + }, + "x-ms-identifiers": [] + }, + "description": { + "type": "string", + "description": "The metric description" + }, + "name": { + "type": "string", + "description": "The metric name" + }, + "namespace": { + "type": "string", + "description": "The namespace the metric belongs to." + }, + "primaryAggregationType": { + "$ref": "#/definitions/AggregationType", + "description": "The primary aggregation type value defining how to use the values for display." + }, + "supportedAggregationTypes": { + "type": "array", + "description": "The collection of what all aggregation types are supported.", + "items": { + "type": "string" + } + }, + "unit": { + "$ref": "#/definitions/MetricUnit", + "description": "The unit of the metric." + }, + "metricAvailabilities": { + "type": "array", + "description": "Metric availability specifies the time grain (aggregation interval or\nfrequency).", + "items": { + "$ref": "#/definitions/MetricAvailability" + }, + "x-ms-identifiers": [] + } + } + }, + "MetricDefinitionCollection": { + "type": "object", + "description": "Represents collection of metric definitions.", + "properties": { + "value": { + "type": "array", + "description": "the values for the metric definitions.", + "items": { + "$ref": "#/definitions/MetricDefinition" + }, + "x-ms-identifiers": [] + } + }, + "required": [ + "value" + ] + }, + "MetricNamespace": { + "type": "object", + "description": "Metric namespace class specifies the metadata for a metric namespace.", + "properties": { + "description": { + "type": "string", + "description": "The namespace description." + }, + "name": { + "type": "string", + "description": "The metric namespace name." + } + } + }, + "MetricNamespaceCollection": { + "type": "object", + "description": "Represents collection of metric namespaces.", + "properties": { + "value": { + "type": "array", + "description": "The values for the metric namespaces.", + "items": { + "$ref": "#/definitions/MetricNamespace" + }, + "x-ms-identifiers": [] + } + }, + "required": [ + "value" + ] + }, + "MetricRequestPayload": { + "type": "object", + "description": "Filters to fetch the set of metric.", + "properties": { + "filters": { + "type": "array", + "description": "Get metrics for specific dimension values. Example: Metric contains dimension\nlike SamplerName, Error. To retrieve all the time series data where SamplerName\nis equals to HTTPRequest1 or HTTPRequest2, the DimensionFilter value will be\n{\"SamplerName\", [\"HTTPRequest1\", \"HTTPRequest2\"}", + "items": { + "$ref": "#/definitions/DimensionFilter" + }, + "x-ms-identifiers": [] + } + } + }, + "MetricUnit": { + "type": "string", + "description": "Metric unit.", + "enum": [ + "NotSpecified", + "Percent", + "Count", + "Seconds", + "Milliseconds", + "Bytes", + "BytesPerSecond", + "CountPerSecond" + ], + "x-ms-enum": { + "name": "MetricUnit", + "modelAsString": true, + "values": [ + { + "name": "NotSpecified", + "value": "NotSpecified", + "description": "No unit specified." + }, + { + "name": "Percent", + "value": "Percent", + "description": "Percentage." + }, + { + "name": "Count", + "value": "Count", + "description": "Value count." + }, + { + "name": "Seconds", + "value": "Seconds", + "description": "Seconds." + }, + { + "name": "Milliseconds", + "value": "Milliseconds", + "description": "Milliseconds" + }, + { + "name": "Bytes", + "value": "Bytes", + "description": "Bytes" + }, + { + "name": "BytesPerSecond", + "value": "BytesPerSecond", + "description": "Bytes per second" + }, + { + "name": "CountPerSecond", + "value": "CountPerSecond", + "description": "Count per second" + } + ] + } + }, + "MetricValue": { + "type": "object", + "description": "Represents a metric value.", + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "description": "The timestamp for the metric value in RFC 3339 format." + }, + "value": { + "type": "number", + "format": "double", + "description": "The metric value." + } + } + }, + "Metrics": { + "type": "object", + "description": "The response to a metrics query.", + "properties": { + "value": { + "type": "array", + "description": "The TimeSeriesElement items on this page", + "items": { + "$ref": "#/definitions/TimeSeriesElement" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "NameAndDesc": { + "type": "object", + "description": "The name and description", + "properties": { + "description": { + "type": "string", + "description": "The description" + }, + "name": { + "type": "string", + "description": "The name" + } + } + }, + "OptionalLoadTestConfig": { + "type": "object", + "description": "Configuration for quick load test", + "properties": { + "endpointUrl": { + "type": "string", + "description": "Test URL. Provide the complete HTTP URL. For example, https://contoso-app.azurewebsites.net/login" + }, + "requestsPerSecond": { + "type": "integer", + "format": "int32", + "description": "Target throughput (requests per second). This may not be necessarily achieved. The actual throughput will be lower if the application is not capable of handling it." + }, + "maxResponseTimeInMs": { + "type": "integer", + "format": "int32", + "description": "Maximum response time in milliseconds of the API/endpoint." + }, + "virtualUsers": { + "type": "integer", + "format": "int32", + "description": "No of concurrent virtual users." + }, + "rampUpTime": { + "type": "integer", + "format": "int32", + "description": "Ramp up time in seconds." + }, + "duration": { + "type": "integer", + "format": "int32", + "description": "Test run duration in seconds." + } + } + }, + "PFAgFunc": { + "type": "string", + "description": "Aggregation functions for pass/fail criteria.", + "enum": [ + "count", + "percentage", + "avg", + "p50", + "p75", + "p90", + "p95", + "p96", + "p97", + "p98", + "p99", + "p99.9", + "p99.99", + "min", + "max" + ], + "x-ms-enum": { + "name": "PFAgFunc", + "modelAsString": true, + "values": [ + { + "name": "count", + "value": "count", + "description": "Criteria applies for count value." + }, + { + "name": "percentage", + "value": "percentage", + "description": "Criteria applies for given percentage value." + }, + { + "name": "avg", + "value": "avg", + "description": "Criteria applies for avg value." + }, + { + "name": "p50", + "value": "p50", + "description": "Criteria applies for 50th percentile value." + }, + { + "name": "p75", + "value": "p75", + "description": "Criteria applies for 75th percentile value." + }, + { + "name": "p90", + "value": "p90", + "description": "Criteria applies for 90th percentile value." + }, + { + "name": "p95", + "value": "p95", + "description": "Criteria applies for 95th percentile value." + }, + { + "name": "p96", + "value": "p96", + "description": "Criteria applies for 96th percentile value." + }, + { + "name": "p97", + "value": "p97", + "description": "Criteria applies for 97th percentile value." + }, + { + "name": "p98", + "value": "p98", + "description": "Criteria applies for 98th percentile value." + }, + { + "name": "p99", + "value": "p99", + "description": "Criteria applies for 99th percentile value." + }, + { + "name": "p99.9", + "value": "p99.9", + "description": "Criteria applies for 99.9th percentile value." + }, + { + "name": "p99.99", + "value": "p99.99", + "description": "Criteria applies for 99.99th percentile value." + }, + { + "name": "min", + "value": "min", + "description": "Criteria applies for minimum value." + }, + { + "name": "max", + "value": "max", + "description": "Criteria applies for maximum value." + } + ] + } + }, + "PFMetrics": { + "type": "string", + "description": "Metrics for pass/fail criteria.", + "enum": [ + "response_time_ms", + "latency", + "error", + "requests", + "requests_per_sec" + ], + "x-ms-enum": { + "name": "PFMetrics", + "modelAsString": true, + "values": [ + { + "name": "response_time_ms", + "value": "response_time_ms", + "description": "Pass fail criteria for response time metric in milliseconds." + }, + { + "name": "latency", + "value": "latency", + "description": "Pass fail criteria for latency metric in milliseconds." + }, + { + "name": "error", + "value": "error", + "description": "Pass fail criteria for error metric." + }, + { + "name": "requests", + "value": "requests", + "description": "Pass fail criteria for total requests." + }, + { + "name": "requests_per_sec", + "value": "requests_per_sec", + "description": "Pass fail criteria for request per second." + } + ] + } + }, + "PFResult": { + "type": "string", + "description": "Pass/fail criteria result.", + "enum": [ + "passed", + "undetermined", + "failed" + ], + "x-ms-enum": { + "name": "PFResult", + "modelAsString": true, + "values": [ + { + "name": "passed", + "value": "passed", + "description": "Given pass fail criteria metric has passed." + }, + { + "name": "undetermined", + "value": "undetermined", + "description": "Given pass fail criteria metric couldn't determine." + }, + { + "name": "failed", + "value": "failed", + "description": "Given pass fail criteria metric has failed." + } + ] + } + }, + "PFTestResult": { + "type": "string", + "description": "Test result based on pass/fail criteria.", + "enum": [ + "PASSED", + "NOT_APPLICABLE", + "FAILED" + ], + "x-ms-enum": { + "name": "PFTestResult", + "modelAsString": true, + "values": [ + { + "name": "PASSED", + "value": "PASSED", + "description": "Pass/fail criteria has passed." + }, + { + "name": "NOT_APPLICABLE", + "value": "NOT_APPLICABLE", + "description": "Pass/fail criteria is not applicable." + }, + { + "name": "FAILED", + "value": "FAILED", + "description": "Pass/fail criteria has failed." + } + ] + } + }, + "PagedTest": { + "type": "object", + "description": "Paged collection of Test items", + "properties": { + "value": { + "type": "array", + "description": "The Test items on this page", + "items": { + "$ref": "#/definitions/Test" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedTestFileInfo": { + "type": "object", + "description": "Paged collection of TestFileInfo items", + "properties": { + "value": { + "type": "array", + "description": "The TestFileInfo items on this page", + "items": { + "$ref": "#/definitions/TestFileInfo" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedTestProfile": { + "type": "object", + "description": "Paged collection of TestProfile items", + "properties": { + "value": { + "type": "array", + "description": "The TestProfile items on this page", + "items": { + "$ref": "#/definitions/TestProfile" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedTestProfileRun": { + "type": "object", + "description": "Paged collection of TestProfileRun items", + "properties": { + "value": { + "type": "array", + "description": "The TestProfileRun items on this page", + "items": { + "$ref": "#/definitions/TestProfileRun" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PagedTestRun": { + "type": "object", + "description": "Paged collection of TestRun items", + "properties": { + "value": { + "type": "array", + "description": "The TestRun items on this page", + "items": { + "$ref": "#/definitions/TestRun" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "PassFailCriteria": { + "type": "object", + "description": "Pass fail criteria for a test.", + "properties": { + "passFailMetrics": { + "type": "object", + "description": "Map of id and pass fail metrics { id : pass fail metrics }.", + "additionalProperties": { + "$ref": "#/definitions/PassFailMetric" + } + } + } + }, + "PassFailMetric": { + "type": "object", + "description": "Pass fail metric", + "properties": { + "clientMetric": { + "$ref": "#/definitions/PFMetrics", + "description": "The client metric on which the criteria should be applied." + }, + "aggregate": { + "$ref": "#/definitions/PFAgFunc", + "description": "The aggregation function to be applied on the client metric. Allowed functions\n- ‘percentage’ - for error metric , ‘avg’, percentiles like ‘p50’, ‘p90’, & so on, ‘min’,\n‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec,\n‘count’ - for requests" + }, + "condition": { + "type": "string", + "description": "The comparison operator. Supported types ‘>’, ‘<’ " + }, + "requestName": { + "type": "string", + "description": "Request name for which the Pass fail criteria has to be applied " + }, + "value": { + "type": "number", + "format": "double", + "description": "The value to compare with the client metric. Allowed values - ‘error : [0.0 ,\n100.0] unit- % ’, response_time_ms and latency : any integer value unit- ms." + }, + "action": { + "type": "string", + "description": "Action taken after the threshold is met. Default is ‘continue’.", + "default": "continue", + "enum": [ + "continue", + "stop" + ], + "x-ms-enum": { + "name": "PFAction", + "modelAsString": true, + "values": [ + { + "name": "continue", + "value": "continue", + "description": "Test will continue to run even if pass fail metric criteria metric gets failed." + }, + { + "name": "stop", + "value": "stop", + "description": "Test run will stop if pass fail criteria metric is not passed." + } + ] + } + }, + "actualValue": { + "type": "number", + "format": "double", + "description": "The actual value of the client metric for the test run.", + "readOnly": true + }, + "result": { + "$ref": "#/definitions/PFResult", + "description": "Outcome of the test run.", + "readOnly": true + } + } + }, + "RecommendationCategory": { + "type": "string", + "description": "Category of Recommendation.", + "enum": [ + "ThroughputOptimized", + "CostOptimized" + ], + "x-ms-enum": { + "name": "RecommendationCategory", + "modelAsString": true, + "values": [ + { + "name": "ThroughputOptimized", + "value": "ThroughputOptimized", + "description": "The recommendation for this category optimizes the throughput/RPS (Requests per Second) of the app." + }, + { + "name": "CostOptimized", + "value": "CostOptimized", + "description": "The recommendation for this category optimizes the cost of the app." + } + ] + } + }, + "RegionalConfiguration": { + "type": "object", + "description": "Region distribution configuration for the load test.", + "properties": { + "engineInstances": { + "type": "integer", + "format": "int32", + "description": " The number of engine instances to execute load test in specified region. Supported values are in range of 1-400." + }, + "region": { + "type": "string", + "description": "Azure region name.\nThe region name should of format accepted by ARM, and should be a region supported by Azure Load Testing. For example, East US should be passed as \"eastus\".\nThe region name must match one of the strings in the \"Name\" column returned from running the \"az account list-locations -o table\" Azure CLI command." + } + }, + "required": [ + "engineInstances", + "region" + ] + }, + "RequestDataLevel": { + "type": "string", + "description": "Request data collection level for test run", + "enum": [ + "NONE", + "ERRORS" + ], + "x-ms-enum": { + "name": "RequestDataLevel", + "modelAsString": true, + "values": [ + { + "name": "NONE", + "value": "NONE", + "description": "No request data will be collected" + }, + { + "name": "ERRORS", + "value": "ERRORS", + "description": "Request data will be collected in case of failed requests" + } + ] + } + }, + "ResourceKind": { + "type": "string", + "description": "Kind of the resource on which test profile is created.", + "enum": [ + "FunctionsFlexConsumption" + ], + "x-ms-enum": { + "name": "ResourceKind", + "modelAsString": true, + "values": [ + { + "name": "FunctionsFlexConsumption", + "value": "FunctionsFlexConsumption", + "description": "Resource is a Azure FunctionApp on Flex Consumption Plan." + } + ] + } + }, + "ResourceMetric": { + "type": "object", + "description": "Associated metric definition for particular metrics of the azure resource (\nRefer :\nhttps://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition).", + "properties": { + "id": { + "type": "string", + "description": "Unique name for metric.", + "readOnly": true + }, + "resourceId": { + "type": "string", + "description": "Azure resource id." + }, + "metricNamespace": { + "type": "string", + "description": "Metric name space." + }, + "displayDescription": { + "type": "string", + "description": "Metric description." + }, + "name": { + "type": "string", + "description": "The invariant value of metric name" + }, + "aggregation": { + "type": "string", + "description": "Metric aggregation." + }, + "unit": { + "type": "string", + "description": "Metric unit." + }, + "resourceType": { + "type": "string", + "description": "Azure resource type." + } + }, + "required": [ + "resourceId", + "metricNamespace", + "name", + "aggregation", + "resourceType" + ] + }, + "ResourceMetricUpdate": { + "type": "object", + "description": "Associated metric definition for particular metrics of the azure resource (\nRefer :\nhttps://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition).", + "properties": { + "resourceId": { + "type": "string", + "description": "Azure resource id." + }, + "metricNamespace": { + "type": "string", + "description": "Metric name space." + }, + "displayDescription": { + "type": "string", + "description": "Metric description." + }, + "name": { + "type": "string", + "description": "The invariant value of metric name" + }, + "aggregation": { + "type": "string", + "description": "Metric aggregation." + }, + "unit": { + "type": "string", + "description": "Metric unit." + }, + "resourceType": { + "type": "string", + "description": "Azure resource type." + } + } + }, + "Secret": { + "type": "object", + "description": "Secret", + "properties": { + "value": { + "type": "string", + "description": "The value of the secret for the respective type" + }, + "type": { + "$ref": "#/definitions/SecretType", + "description": "Type of secret" + } + } + }, + "SecretType": { + "type": "string", + "description": "Types of secrets supported.", + "enum": [ + "AKV_SECRET_URI", + "SECRET_VALUE" + ], + "x-ms-enum": { + "name": "SecretType", + "modelAsString": true, + "values": [ + { + "name": "AKV_SECRET_URI", + "value": "AKV_SECRET_URI", + "description": "If the secret is stored in an Azure Key Vault." + }, + { + "name": "SECRET_VALUE", + "value": "SECRET_VALUE", + "description": "If the secret value provided as plain text." + } + ] + } + }, + "Status": { + "type": "string", + "description": "Test run status.", + "enum": [ + "ACCEPTED", + "NOTSTARTED", + "PROVISIONING", + "PROVISIONED", + "CONFIGURING", + "CONFIGURED", + "EXECUTING", + "EXECUTED", + "DEPROVISIONING", + "DEPROVISIONED", + "DONE", + "CANCELLING", + "CANCELLED", + "FAILED", + "VALIDATION_SUCCESS", + "VALIDATION_FAILURE" + ], + "x-ms-enum": { + "name": "Status", + "modelAsString": true, + "values": [ + { + "name": "ACCEPTED", + "value": "ACCEPTED", + "description": "Test run request is accepted." + }, + { + "name": "NOTSTARTED", + "value": "NOTSTARTED", + "description": "Test run is not yet started." + }, + { + "name": "PROVISIONING", + "value": "PROVISIONING", + "description": "Test run is provisioning." + }, + { + "name": "PROVISIONED", + "value": "PROVISIONED", + "description": "Test run is provisioned." + }, + { + "name": "CONFIGURING", + "value": "CONFIGURING", + "description": "Test run is getting configured." + }, + { + "name": "CONFIGURED", + "value": "CONFIGURED", + "description": "Test run configuration is done." + }, + { + "name": "EXECUTING", + "value": "EXECUTING", + "description": "Test run has started executing." + }, + { + "name": "EXECUTED", + "value": "EXECUTED", + "description": "Test run execution is completed." + }, + { + "name": "DEPROVISIONING", + "value": "DEPROVISIONING", + "description": "Test run is getting deprovisioned." + }, + { + "name": "DEPROVISIONED", + "value": "DEPROVISIONED", + "description": "Test run is deprovisioned." + }, + { + "name": "DONE", + "value": "DONE", + "description": "Test run is completed." + }, + { + "name": "CANCELLING", + "value": "CANCELLING", + "description": "Test run is being cancelled." + }, + { + "name": "CANCELLED", + "value": "CANCELLED", + "description": "Test run request is cancelled." + }, + { + "name": "FAILED", + "value": "FAILED", + "description": "Test run request is failed." + }, + { + "name": "VALIDATION_SUCCESS", + "value": "VALIDATION_SUCCESS", + "description": "Test run JMX file is validated." + }, + { + "name": "VALIDATION_FAILURE", + "value": "VALIDATION_FAILURE", + "description": "Test run JMX file validation is failed." + } + ] + } + }, + "TargetResourceConfigurations": { + "type": "object", + "description": "Configurations of a target resource. This varies with the kind of resource.", + "properties": { + "kind": { + "$ref": "#/definitions/ResourceKind", + "description": "Kind of the resource for which the configurations apply.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "discriminator": "kind", + "required": [ + "kind" + ] + }, + "TargetResourceConfigurationsCreateOrUpdate": { + "type": "object", + "description": "Configurations of a target resource. This varies with the kind of resource.", + "properties": { + "kind": { + "$ref": "#/definitions/ResourceKind", + "description": "Kind of the resource for which the configurations apply.", + "x-ms-mutability": [ + "read", + "create" + ] + } + }, + "discriminator": "kind", + "required": [ + "kind" + ] + }, + "Test": { + "type": "object", + "description": "Load test model.", + "properties": { + "passFailCriteria": { + "$ref": "#/definitions/PassFailCriteria", + "description": "Pass fail criteria for a test." + }, + "autoStopCriteria": { + "$ref": "#/definitions/AutoStopCriteria", + "description": "Auto stop criteria for a test. This will automatically stop a load test if the error percentage is high for a certain time window." + }, + "secrets": { + "type": "object", + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", + "additionalProperties": { + "$ref": "#/definitions/Secret" + } + }, + "certificate": { + "$ref": "#/definitions/CertificateMetadata", + "description": "Certificates metadata." + }, + "environmentVariables": { + "type": "object", + "description": "Environment variables which are defined as a set of pairs.", + "additionalProperties": { + "type": "string" + } + }, + "loadTestConfiguration": { + "$ref": "#/definitions/LoadTestConfiguration", + "description": "The load test configuration." + }, + "baselineTestRunId": { + "type": "string", + "description": "Id of the test run to be marked as baseline to view trends of client-side metrics from recent test runs" + }, + "inputArtifacts": { + "$ref": "#/definitions/TestInputArtifacts", + "description": "The input artifacts for the test.", + "readOnly": true + }, + "testId": { + "type": "string", + "description": "Unique test identifier for the load test, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$", + "readOnly": true + }, + "description": { + "type": "string", + "description": "The test description.", + "maxLength": 100 + }, + "displayName": { + "type": "string", + "description": "Display name of a test.", + "minLength": 2, + "maxLength": 50 + }, + "subnetId": { + "type": "string", + "description": "Subnet ID on which the load test instances should run." + }, + "kind": { + "$ref": "#/definitions/TestKind", + "description": "Kind of test." + }, + "publicIPDisabled": { + "type": "boolean", + "description": "Inject load test engines without deploying public IP for outbound access" + }, + "keyvaultReferenceIdentityType": { + "type": "string", + "description": "Type of the managed identity referencing the Key vault." + }, + "keyvaultReferenceIdentityId": { + "type": "string", + "description": "Resource Id of the managed identity referencing the Key vault." + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + }, + "required": [ + "testId" + ] + }, + "TestAppComponents": { + "type": "object", + "description": "Test app components", + "properties": { + "components": { + "type": "object", + "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", + "additionalProperties": { + "$ref": "#/definitions/AppComponent" + } + }, + "testId": { + "type": "string", + "description": "Test identifier", + "readOnly": true + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + }, + "required": [ + "components" + ] + }, + "TestAppComponentsUpdate": { + "type": "object", + "description": "Test app components", + "properties": { + "components": { + "type": "object", + "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", + "additionalProperties": { + "$ref": "#/definitions/AppComponentUpdate" + } + } + } + }, + "TestCreateOrUpdate": { + "type": "object", + "description": "Load test model.", + "properties": { + "passFailCriteria": { + "$ref": "#/definitions/PassFailCriteria", + "description": "Pass fail criteria for a test." + }, + "autoStopCriteria": { + "$ref": "#/definitions/AutoStopCriteria", + "description": "Auto stop criteria for a test. This will automatically stop a load test if the error percentage is high for a certain time window." + }, + "secrets": { + "type": "object", + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", + "additionalProperties": { + "$ref": "#/definitions/Secret" + } + }, + "certificate": { + "$ref": "#/definitions/CertificateMetadata", + "description": "Certificates metadata." + }, + "environmentVariables": { + "type": "object", + "description": "Environment variables which are defined as a set of pairs.", + "additionalProperties": { + "type": "string" + } + }, + "loadTestConfiguration": { + "$ref": "#/definitions/LoadTestConfiguration", + "description": "The load test configuration." + }, + "baselineTestRunId": { + "type": "string", + "description": "Id of the test run to be marked as baseline to view trends of client-side metrics from recent test runs" + }, + "description": { + "type": "string", + "description": "The test description.", + "maxLength": 100 + }, + "displayName": { + "type": "string", + "description": "Display name of a test.", + "minLength": 2, + "maxLength": 50 + }, + "subnetId": { + "type": "string", + "description": "Subnet ID on which the load test instances should run." + }, + "kind": { + "$ref": "#/definitions/TestKind", + "description": "Kind of test." + }, + "publicIPDisabled": { + "type": "boolean", + "description": "Inject load test engines without deploying public IP for outbound access" + }, + "keyvaultReferenceIdentityType": { + "type": "string", + "description": "Type of the managed identity referencing the Key vault." + }, + "keyvaultReferenceIdentityId": { + "type": "string", + "description": "Resource Id of the managed identity referencing the Key vault." + } + } + }, + "TestFileInfo": { + "type": "object", + "description": "Test file info.", + "properties": { + "fileName": { + "type": "string", + "description": "Name of the file." + }, + "url": { + "type": "string", + "format": "uri", + "description": "File URL.", + "readOnly": true + }, + "fileType": { + "$ref": "#/definitions/FileType", + "description": "File type", + "readOnly": true + }, + "expireDateTime": { + "type": "string", + "format": "date-time", + "description": "Expiry time of the file (RFC 3339 literal format)", + "readOnly": true + }, + "validationStatus": { + "$ref": "#/definitions/FileStatus", + "description": "Validation status of the file", + "readOnly": true + }, + "validationFailureDetails": { + "type": "string", + "description": "Validation failure error details", + "readOnly": true + } + }, + "required": [ + "fileName" + ] + }, + "TestInputArtifacts": { + "type": "object", + "description": "The input artifacts for the test.", + "properties": { + "configFileInfo": { + "$ref": "#/definitions/TestFileInfo", + "description": "File info" + }, + "testScriptFileInfo": { + "$ref": "#/definitions/TestFileInfo", + "description": "File info" + }, + "userPropFileInfo": { + "$ref": "#/definitions/TestFileInfo", + "description": "File info" + }, + "inputArtifactsZipFileInfo": { + "$ref": "#/definitions/TestFileInfo", + "description": "File info" + }, + "urlTestConfigFileInfo": { + "$ref": "#/definitions/TestFileInfo", + "description": "The config json file for url based test" + }, + "additionalFileInfo": { + "type": "array", + "description": "Additional supported files for the test run", + "items": { + "$ref": "#/definitions/TestFileInfo" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "TestKind": { + "type": "string", + "description": "Test kind", + "enum": [ + "URL", + "JMX", + "Locust" + ], + "x-ms-enum": { + "name": "TestKind", + "modelAsString": true, + "values": [ + { + "name": "URL", + "value": "URL", + "description": "URL Test" + }, + { + "name": "JMX", + "value": "JMX", + "description": "JMX Test" + }, + { + "name": "Locust", + "value": "Locust", + "description": "Locust Test" + } + ] + } + }, + "TestProfile": { + "type": "object", + "title": "Test Profile Model.", + "description": "The Test Profile Model. A Test Profile resource enables you to set up a test profile which contains various configurations for a supported resource type and a load test to execute on that resource.", + "properties": { + "testProfileId": { + "type": "string", + "description": "Unique identifier for the test profile, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "Display name of the test profile.", + "minLength": 2, + "maxLength": 50 + }, + "description": { + "type": "string", + "description": "Description for the test profile.", + "maxLength": 100 + }, + "testId": { + "type": "string", + "description": "Associated test ID for the test profile. This property is required for creating a Test Profile and it's not allowed to be updated.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "targetResourceId": { + "type": "string", + "description": "Target resource ID on which the test profile is created. This property is required for creating a Test Profile and it's not allowed to be updated.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "targetResourceConfigurations": { + "$ref": "#/definitions/TargetResourceConfigurations", + "description": "Configurations of the target resource on which testing would be done." + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + }, + "required": [ + "testProfileId" + ] + }, + "TestProfileCreateOrUpdate": { + "type": "object", + "title": "Test Profile Model.", + "description": "The Test Profile Model. A Test Profile resource enables you to set up a test profile which contains various configurations for a supported resource type and a load test to execute on that resource.", + "properties": { + "displayName": { + "type": "string", + "description": "Display name of the test profile.", + "minLength": 2, + "maxLength": 50 + }, + "description": { + "type": "string", + "description": "Description for the test profile.", + "maxLength": 100 + }, + "testId": { + "type": "string", + "description": "Associated test ID for the test profile. This property is required for creating a Test Profile and it's not allowed to be updated.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "targetResourceId": { + "type": "string", + "description": "Target resource ID on which the test profile is created. This property is required for creating a Test Profile and it's not allowed to be updated.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "targetResourceConfigurations": { + "$ref": "#/definitions/TargetResourceConfigurationsCreateOrUpdate", + "description": "Configurations of the target resource on which testing would be done." + } + } + }, + "TestProfileRun": { + "type": "object", + "title": "Test Profile Run model.", + "description": "The Test Profile Run Model. Test Profile Run resource enables you to instantiate an already created test profile and run load tests to get recommendations on the optimal configuration for the target resource.", + "properties": { + "testProfileRunId": { + "type": "string", + "description": "Unique identifier for the test profile run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "Display name for the test profile run.", + "minLength": 2, + "maxLength": 50 + }, + "description": { + "type": "string", + "description": "The test profile run description", + "maxLength": 100 + }, + "testProfileId": { + "type": "string", + "description": "Associated test profile ID for the test profile run. This is required to create a test profile run and can't be updated.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "targetResourceId": { + "type": "string", + "description": "Target resource ID on which the test profile run is created", + "readOnly": true + }, + "targetResourceConfigurations": { + "$ref": "#/definitions/TargetResourceConfigurations", + "description": "Configurations of the target resource on which the test profile ran.", + "readOnly": true + }, + "status": { + "$ref": "#/definitions/TestProfileRunStatus", + "description": "The test profile run status.", + "readOnly": true + }, + "errorDetails": { + "type": "array", + "description": "Error details if there is any failure in test profile run. These errors are specific to the Test Profile Run.", + "items": { + "$ref": "#/definitions/ErrorDetails" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "The test profile run start DateTime(RFC 3339 literal format).", + "readOnly": true + }, + "endDateTime": { + "type": "string", + "format": "date-time", + "description": "The test profile run end DateTime(RFC 3339 literal format).", + "readOnly": true + }, + "durationInSeconds": { + "type": "integer", + "format": "int64", + "description": "Test profile run duration in seconds.", + "readOnly": true + }, + "testRunDetails": { + "type": "object", + "description": "Details of the test runs ran as part of the test profile run.\nKey is the testRunId of the corresponding testRun.", + "additionalProperties": { + "$ref": "#/definitions/TestRunDetail" + }, + "readOnly": true + }, + "recommendations": { + "type": "array", + "description": "Recommendations provided based on a successful test profile run.", + "items": { + "$ref": "#/definitions/TestProfileRunRecommendation" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + }, + "required": [ + "testProfileRunId" + ] + }, + "TestProfileRunCreateOrUpdate": { + "type": "object", + "title": "Test Profile Run model.", + "description": "The Test Profile Run Model. Test Profile Run resource enables you to instantiate an already created test profile and run load tests to get recommendations on the optimal configuration for the target resource.", + "properties": { + "displayName": { + "type": "string", + "description": "Display name for the test profile run.", + "minLength": 2, + "maxLength": 50 + }, + "description": { + "type": "string", + "description": "The test profile run description", + "maxLength": 100 + }, + "testProfileId": { + "type": "string", + "description": "Associated test profile ID for the test profile run. This is required to create a test profile run and can't be updated.", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "TestProfileRunRecommendation": { + "type": "object", + "description": "A recommendation object that provides a list of configuration that optimizes its category.", + "properties": { + "category": { + "$ref": "#/definitions/RecommendationCategory", + "description": "Category of the recommendation." + }, + "configurations": { + "type": "array", + "description": "List of configurations IDs for which the recommendation is applicable. These are a subset of the provided target resource configurations.", + "items": { + "type": "string" + } + } + }, + "required": [ + "category" + ] + }, + "TestProfileRunStatus": { + "type": "string", + "description": "Test profile run status.", + "enum": [ + "ACCEPTED", + "NOTSTARTED", + "EXECUTING", + "DONE", + "CANCELLING", + "CANCELLED", + "FAILED" + ], + "x-ms-enum": { + "name": "TestProfileRunStatus", + "modelAsString": true, + "values": [ + { + "name": "ACCEPTED", + "value": "ACCEPTED", + "description": "Test profile run request is accepted." + }, + { + "name": "NOTSTARTED", + "value": "NOTSTARTED", + "description": "Test profile run is not yet started." + }, + { + "name": "EXECUTING", + "value": "EXECUTING", + "description": "Test profile run has started executing." + }, + { + "name": "DONE", + "value": "DONE", + "description": "Test profile run has completed successfully." + }, + { + "name": "CANCELLING", + "value": "CANCELLING", + "description": "Test profile run is being cancelled." + }, + { + "name": "CANCELLED", + "value": "CANCELLED", + "description": "Test profile run is cancelled." + }, + { + "name": "FAILED", + "value": "FAILED", + "description": "Test profile run has failed." + } + ] + } + }, + "TestRun": { + "type": "object", + "description": "Load test run model", + "properties": { + "testRunId": { + "type": "string", + "description": "Unique test run identifier for the load test run, must contain only lower-case alphabetic, numeric, underscore or hyphen characters.", + "minLength": 2, + "maxLength": 50, + "pattern": "^[a-z0-9_-]*$", + "readOnly": true + }, + "passFailCriteria": { + "$ref": "#/definitions/PassFailCriteria", + "description": "Pass fail criteria for a test." + }, + "autoStopCriteria": { + "$ref": "#/definitions/AutoStopCriteria", + "description": "Auto stop criteria for a test. This will automatically stop a load test if the error percentage is high for a certain time window." + }, + "secrets": { + "type": "object", + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", + "additionalProperties": { + "$ref": "#/definitions/Secret" + } + }, + "certificate": { + "$ref": "#/definitions/CertificateMetadata", + "description": "Certificates metadata" + }, + "environmentVariables": { + "type": "object", + "description": "Environment variables which are defined as a set of pairs.", + "additionalProperties": { + "type": "string" + } + }, + "errorDetails": { + "type": "array", + "description": "Error details if there is any failure in load test run", + "items": { + "$ref": "#/definitions/ErrorDetails" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "testRunStatistics": { + "type": "object", + "description": "Test run statistics. Key is the sampler name and value is the set of statistics for performance metrics like response time, throughput, etc. from the load test run.\nThe sampler name is the same as the name mentioned in the test script.\nSampler name \"Total\" represents the aggregated statistics of all the samplers.", + "additionalProperties": { + "$ref": "#/definitions/TestRunStatistics" + }, + "readOnly": true + }, + "regionalStatistics": { + "type": "object", + "description": "Regional statistics. Key is the Azure region name and value is the test run statistics.\nThe region name should of format accepted by ARM, and should be a region supported by Azure Load Testing. For example, East US should be passed as \"eastus\".\nThe region name must match one of the strings in the \"Name\" column returned from running the \"az account list-locations -o table\" Azure CLI command.", + "additionalProperties": { + "$ref": "#/definitions/TestRunStatistics" + }, + "readOnly": true + }, + "loadTestConfiguration": { + "$ref": "#/definitions/LoadTestConfiguration", + "description": "The load test configuration." + }, + "testArtifacts": { + "$ref": "#/definitions/TestRunArtifacts", + "description": "Collection of test run artifacts", + "readOnly": true + }, + "testResult": { + "$ref": "#/definitions/PFTestResult", + "description": "Test result for pass/Fail criteria used during the test run.", + "readOnly": true + }, + "virtualUsers": { + "type": "integer", + "format": "int32", + "description": "Number of virtual users, for which test has been run.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "Display name of a testRun.", + "minLength": 2, + "maxLength": 50 + }, + "testId": { + "type": "string", + "description": "Associated test Id.", + "minLength": 2, + "maxLength": 50 + }, + "description": { + "type": "string", + "description": "The test run description.", + "maxLength": 100 + }, + "status": { + "$ref": "#/definitions/Status", + "description": "The test run status.", + "readOnly": true + }, + "startDateTime": { + "type": "string", + "format": "date-time", + "description": "The test run start DateTime(RFC 3339 literal format).", + "readOnly": true + }, + "endDateTime": { + "type": "string", + "format": "date-time", + "description": "The test run end DateTime(RFC 3339 literal format).", + "readOnly": true + }, + "executedDateTime": { + "type": "string", + "format": "date-time", + "description": "Test run initiated time.", + "readOnly": true + }, + "portalUrl": { + "type": "string", + "description": "Portal url.", + "readOnly": true + }, + "duration": { + "type": "integer", + "format": "int64", + "description": "Test run duration in milliseconds.", + "readOnly": true + }, + "subnetId": { + "type": "string", + "description": "Subnet ID on which the load test instances should run.", + "readOnly": true + }, + "kind": { + "$ref": "#/definitions/TestKind", + "description": "Type of test.", + "readOnly": true + }, + "requestDataLevel": { + "$ref": "#/definitions/RequestDataLevel", + "description": "Request data collection level for test run" + }, + "debugLogsEnabled": { + "type": "boolean", + "description": "Enable or disable debug level logging. True if debug logs are enabled for the test run. False otherwise" + }, + "publicIPDisabled": { + "type": "boolean", + "description": "Inject load test engines without deploying public IP for outbound access", + "readOnly": true + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + }, + "required": [ + "testRunId" + ] + }, + "TestRunAppComponents": { + "type": "object", + "description": "Test run app component", + "properties": { + "components": { + "type": "object", + "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", + "additionalProperties": { + "$ref": "#/definitions/AppComponent" + } + }, + "testRunId": { + "type": "string", + "description": "Test run identifier", + "readOnly": true + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + }, + "required": [ + "components" + ] + }, + "TestRunAppComponentsUpdate": { + "type": "object", + "description": "Test run app component", + "properties": { + "components": { + "type": "object", + "description": "Azure resource collection { resource id (fully qualified resource Id e.g\nsubscriptions/{subId}/resourceGroups/{rg}/providers/Microsoft.LoadTestService/loadtests/{resName})\n: resource object } ", + "additionalProperties": { + "$ref": "#/definitions/AppComponentUpdate" + } + } + } + }, + "TestRunArtifacts": { + "type": "object", + "description": "Collection of test run artifacts", + "properties": { + "inputArtifacts": { + "$ref": "#/definitions/TestRunInputArtifacts", + "description": "The input artifacts for the test run.", + "readOnly": true + }, + "outputArtifacts": { + "$ref": "#/definitions/TestRunOutputArtifacts", + "description": "The output artifacts for the test run." + } + } + }, + "TestRunCreateOrUpdate": { + "type": "object", + "description": "Load test run model", + "properties": { + "passFailCriteria": { + "$ref": "#/definitions/PassFailCriteria", + "description": "Pass fail criteria for a test." + }, + "autoStopCriteria": { + "$ref": "#/definitions/AutoStopCriteria", + "description": "Auto stop criteria for a test. This will automatically stop a load test if the error percentage is high for a certain time window." + }, + "secrets": { + "type": "object", + "description": "Secrets can be stored in an Azure Key Vault or any other secret store. If the\nsecret is stored in an Azure Key Vault, the value should be the secret\nidentifier and the type should be AKV_SECRET_URI. If the secret is stored\nelsewhere, the secret value should be provided directly and the type should be\nSECRET_VALUE.", + "additionalProperties": { + "$ref": "#/definitions/Secret" + } + }, + "certificate": { + "$ref": "#/definitions/CertificateMetadata", + "description": "Certificates metadata" + }, + "environmentVariables": { + "type": "object", + "description": "Environment variables which are defined as a set of pairs.", + "additionalProperties": { + "type": "string" + } + }, + "loadTestConfiguration": { + "$ref": "#/definitions/LoadTestConfiguration", + "description": "The load test configuration." + }, + "displayName": { + "type": "string", + "description": "Display name of a testRun.", + "minLength": 2, + "maxLength": 50 + }, + "testId": { + "type": "string", + "description": "Associated test Id.", + "minLength": 2, + "maxLength": 50 + }, + "description": { + "type": "string", + "description": "The test run description.", + "maxLength": 100 + }, + "requestDataLevel": { + "$ref": "#/definitions/RequestDataLevel", + "description": "Request data collection level for test run" + }, + "debugLogsEnabled": { + "type": "boolean", + "description": "Enable or disable debug level logging. True if debug logs are enabled for the test run. False otherwise" + } + } + }, + "TestRunDetail": { + "type": "object", + "description": "Details of a particular test run for a test profile run.", + "properties": { + "status": { + "$ref": "#/definitions/Status", + "description": "Status of the test run." + }, + "configurationId": { + "type": "string", + "description": "ID of the configuration on which the test ran." + }, + "properties": { + "type": "object", + "description": "Key value pair of extra properties associated with the test run.", + "additionalProperties": { + "type": "string" + } + } + }, + "required": [ + "status", + "configurationId", + "properties" + ] + }, + "TestRunFileInfo": { + "type": "object", + "description": "Test run file info.", + "properties": { + "fileName": { + "type": "string", + "description": "Name of the file." + }, + "url": { + "type": "string", + "format": "uri", + "description": "File URL.", + "readOnly": true + }, + "fileType": { + "$ref": "#/definitions/FileType", + "description": "File type", + "readOnly": true + }, + "expireDateTime": { + "type": "string", + "format": "date-time", + "description": "Expiry time of the file (RFC 3339 literal format)", + "readOnly": true + }, + "validationStatus": { + "$ref": "#/definitions/FileStatus", + "description": "Validation status of the file", + "readOnly": true + }, + "validationFailureDetails": { + "type": "string", + "description": "Validation failure error details", + "readOnly": true + } + }, + "required": [ + "fileName" + ] + }, + "TestRunInputArtifacts": { + "type": "object", + "description": "The input artifacts for the test run.", + "properties": { + "configFileInfo": { + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" + }, + "testScriptFileInfo": { + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" + }, + "userPropFileInfo": { + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" + }, + "inputArtifactsZipFileInfo": { + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" + }, + "urlTestConfigFileInfo": { + "$ref": "#/definitions/TestRunFileInfo", + "description": "The config json file for url based test" + }, + "additionalFileInfo": { + "type": "array", + "description": "Additional supported files for the test run", + "items": { + "$ref": "#/definitions/TestRunFileInfo" + }, + "readOnly": true, + "x-ms-identifiers": [] + } + } + }, + "TestRunOutputArtifacts": { + "type": "object", + "description": "The output artifacts for the test run.", + "properties": { + "resultFileInfo": { + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" + }, + "logsFileInfo": { + "$ref": "#/definitions/TestRunFileInfo", + "description": "File info" + }, + "artifactsContainerInfo": { + "$ref": "#/definitions/ArtifactsContainerInfo", + "description": "The container for test run artifacts." + }, + "reportFileInfo": { + "$ref": "#/definitions/TestRunFileInfo", + "description": "The report file for the test run." + } + } + }, + "TestRunServerMetricConfig": { + "type": "object", + "description": "Test run server metrics configuration", + "properties": { + "testRunId": { + "type": "string", + "description": "Test run identifier", + "readOnly": true + }, + "metrics": { + "type": "object", + "description": "Azure resource metrics collection {metric id : metrics object} (Refer :\nhttps://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition\nfor metric id).", + "additionalProperties": { + "$ref": "#/definitions/ResourceMetric" + } + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + } + }, + "TestRunStatistics": { + "type": "object", + "description": "Test run statistics.", + "properties": { + "transaction": { + "type": "string", + "description": "Transaction name.", + "readOnly": true + }, + "sampleCount": { + "type": "number", + "format": "double", + "description": "Sampler count.", + "readOnly": true + }, + "errorCount": { + "type": "number", + "format": "double", + "description": "Error count.", + "readOnly": true + }, + "errorPct": { + "type": "number", + "format": "double", + "description": "Error percentage.", + "readOnly": true + }, + "meanResTime": { + "type": "number", + "format": "double", + "description": "Mean response time.", + "readOnly": true + }, + "medianResTime": { + "type": "number", + "format": "double", + "description": "Median response time.", + "readOnly": true + }, + "maxResTime": { + "type": "number", + "format": "double", + "description": "Max response time.", + "readOnly": true + }, + "minResTime": { + "type": "number", + "format": "double", + "description": "Minimum response time.", + "readOnly": true + }, + "pct1ResTime": { + "type": "number", + "format": "double", + "description": "90 percentile response time.", + "readOnly": true + }, + "pct2ResTime": { + "type": "number", + "format": "double", + "description": "95 percentile response time.", + "readOnly": true + }, + "pct3ResTime": { + "type": "number", + "format": "double", + "description": "99 percentile response time.", + "readOnly": true + }, + "pct75ResTime": { + "type": "number", + "format": "double", + "description": "75 percentile response time.", + "readOnly": true + }, + "pct96ResTime": { + "type": "number", + "format": "double", + "description": "96 percentile response time.", + "readOnly": true + }, + "pct97ResTime": { + "type": "number", + "format": "double", + "description": "97 percentile response time.", + "readOnly": true + }, + "pct98ResTime": { + "type": "number", + "format": "double", + "description": "98 percentile response time.", + "readOnly": true + }, + "pct999ResTime": { + "type": "number", + "format": "double", + "description": "99.9 percentile response time.", + "readOnly": true + }, + "pct9999ResTime": { + "type": "number", + "format": "double", + "description": "99.99 percentile response time.", + "readOnly": true + }, + "throughput": { + "type": "number", + "format": "double", + "description": "Throughput.", + "readOnly": true + }, + "receivedKBytesPerSec": { + "type": "number", + "format": "double", + "description": "Received network bytes.", + "readOnly": true + }, + "sentKBytesPerSec": { + "type": "number", + "format": "double", + "description": "Send network bytes.", + "readOnly": true + } + } + }, + "TestServerMetricConfig": { + "type": "object", + "description": "Test server metrics configuration", + "properties": { + "testId": { + "type": "string", + "description": "Test identifier", + "readOnly": true + }, + "metrics": { + "type": "object", + "description": "Azure resource metrics collection {metric id : metrics object} (Refer :\nhttps://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition\nfor metric id).", + "additionalProperties": { + "$ref": "#/definitions/ResourceMetric" + } + }, + "createdDateTime": { + "type": "string", + "format": "date-time", + "description": "The creation datetime(RFC 3339 literal format).", + "readOnly": true + }, + "createdBy": { + "type": "string", + "description": "The user that created.", + "readOnly": true + }, + "lastModifiedDateTime": { + "type": "string", + "format": "date-time", + "description": "The last Modified datetime(RFC 3339 literal format).", + "readOnly": true + }, + "lastModifiedBy": { + "type": "string", + "description": "The user that last modified.", + "readOnly": true + } + }, + "required": [ + "metrics" + ] + }, + "TestServerMetricConfigUpdate": { + "type": "object", + "description": "Test server metrics configuration", + "properties": { + "metrics": { + "type": "object", + "description": "Azure resource metrics collection {metric id : metrics object} (Refer :\nhttps://docs.microsoft.com/en-us/rest/api/monitor/metric-definitions/list#metricdefinition\nfor metric id).", + "additionalProperties": { + "$ref": "#/definitions/ResourceMetricUpdate" + } + } + } + }, + "TimeGrain": { + "type": "string", + "description": "Time Grain", + "enum": [ + "PT5S", + "PT10S", + "PT1M", + "PT5M", + "PT1H" + ], + "x-ms-enum": { + "name": "TimeGrain", + "modelAsString": true, + "values": [ + { + "name": "PT5S", + "value": "PT5S", + "description": "5 seconds, available only if test run duration is less than 10 minutes." + }, + { + "name": "PT10S", + "value": "PT10S", + "description": "10 seconds, available only if test run duration is less than 10 minutes." + }, + { + "name": "PT1M", + "value": "PT1M", + "description": "1 minute" + }, + { + "name": "PT5M", + "value": "PT5M", + "description": "5 minutes, available only if test run duration is greater than 1 minute." + }, + { + "name": "PT1H", + "value": "PT1H", + "description": "1 hour, available only if test run duration is greater than 1 minute." + } + ] + } + }, + "TimeSeriesElement": { + "type": "object", + "description": "The time series returned when a data query is performed.", + "properties": { + "data": { + "type": "array", + "description": "An array of data points representing the metric values.", + "items": { + "$ref": "#/definitions/MetricValue" + }, + "x-ms-identifiers": [] + }, + "dimensionValues": { + "type": "array", + "description": "The dimension values ", + "items": { + "$ref": "#/definitions/DimensionValue" + }, + "x-ms-identifiers": [] + } + } + } + }, + "parameters": { + "Azure.Core.Foundations.ApiVersionParameter": { + "name": "api-version", + "in": "query", + "description": "The API version to use for this operation.", + "required": true, + "type": "string", + "minLength": 1, + "x-ms-parameter-location": "method", + "x-ms-client-name": "apiVersion" + }, + "ListTestProfileQueryParams.lastModifiedEndTime": { + "name": "lastModifiedEndTime", + "in": "query", + "description": "End DateTime(RFC 3339 literal format) of the last updated time range to filter test profiles.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestProfileQueryParams.lastModifiedStartTime": { + "name": "lastModifiedStartTime", + "in": "query", + "description": "Start DateTime(RFC 3339 literal format) of the last updated time range to filter test profiles.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestProfileQueryParams.maxpagesize": { + "name": "maxpagesize", + "in": "query", + "description": "Maximum number of results to include in a single response.", + "required": false, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "ListTestProfileQueryParams.testIds": { + "name": "testIds", + "in": "query", + "description": "Comma separated list IDs of the tests which should be associated with the test profiles to fetch.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestProfileQueryParams.testProfileIds": { + "name": "testProfileIds", + "in": "query", + "description": "Comma separated list of IDs of the test profiles to filter.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestProfileRunQueryParams.createdDateEndTime": { + "name": "createdDateEndTime", + "in": "query", + "description": "End DateTime(RFC 3339 literal format) of the created time range to filter test profile runs.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestProfileRunQueryParams.createdDateStartTime": { + "name": "createdDateStartTime", + "in": "query", + "description": "Start DateTime(RFC 3339 literal format) of the created time range to filter test profile runs.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestProfileRunQueryParams.maxEndDateTime": { + "name": "maxEndDateTime", + "in": "query", + "description": "Maximum End DateTime(RFC 3339 literal format) of the test profile runs to filter on.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestProfileRunQueryParams.maxStartDateTime": { + "name": "maxStartDateTime", + "in": "query", + "description": "Maximum Start DateTime(RFC 3339 literal format) of the test profile runs to filter on.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestProfileRunQueryParams.maxpagesize": { + "name": "maxpagesize", + "in": "query", + "description": "Maximum number of results to include in a single response.", + "required": false, + "type": "integer", + "format": "int32", + "x-ms-parameter-location": "method" + }, + "ListTestProfileRunQueryParams.minEndDateTime": { + "name": "minEndDateTime", + "in": "query", + "description": "Minimum End DateTime(RFC 3339 literal format) of the test profile runs to filter on.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestProfileRunQueryParams.minStartDateTime": { + "name": "minStartDateTime", + "in": "query", + "description": "Minimum Start DateTime(RFC 3339 literal format) of the test profile runs to filter on.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestProfileRunQueryParams.statuses": { + "name": "statuses", + "in": "query", + "description": "Comma separated list of Statuses of the test profile runs to filter.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestProfileRunQueryParams.testProfileIds": { + "name": "testProfileIds", + "in": "query", + "description": "Comma separated IDs of the test profiles which should be associated with the test profile runs to fetch.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestProfileRunQueryParams.testProfileRunIds": { + "name": "testProfileRunIds", + "in": "query", + "description": "Comma separated list of IDs of the test profile runs to filter.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestQueryParams.lastModifiedEndTime": { + "name": "lastModifiedEndTime", + "in": "query", + "description": "End DateTime(RFC 3339 literal format) of the last updated time range to filter tests.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestQueryParams.lastModifiedStartTime": { + "name": "lastModifiedStartTime", + "in": "query", + "description": "Start DateTime(RFC 3339 literal format) of the last updated time range to filter tests.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestQueryParams.maxpagesize": { + "name": "maxpagesize", + "in": "query", + "description": "Number of results in response.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "x-ms-parameter-location": "method" + }, + "ListTestQueryParams.orderby": { + "name": "orderby", + "in": "query", + "description": "Sort on the supported fields in (field asc/desc) format. eg:\nlastModifiedDateTime asc. Supported fields - lastModifiedDateTime", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestQueryParams.search": { + "name": "search", + "in": "query", + "description": "Prefix based, case sensitive search on searchable fields - displayName,\ncreatedBy. For example, to search for a test, with display name is Login Test,\nthe search parameter can be Login.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.executionFrom": { + "name": "executionFrom", + "in": "query", + "description": "Start DateTime(RFC 3339 literal format) of test-run execution time filter range.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.executionTo": { + "name": "executionTo", + "in": "query", + "description": "End DateTime(RFC 3339 literal format) of test-run execution time filter range.", + "required": false, + "type": "string", + "format": "date-time", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.maxpagesize": { + "name": "maxpagesize", + "in": "query", + "description": "Number of results in response.", + "required": false, + "type": "integer", + "format": "int32", + "default": 50, + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.orderby": { + "name": "orderby", + "in": "query", + "description": "Sort on the supported fields in (field asc/desc) format. eg: executedDateTime\nasc. Supported fields - executedDateTime", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.search": { + "name": "search", + "in": "query", + "description": "Prefix based, case sensitive search on searchable fields - description,\nexecutedUser. For example, to search for a test run, with description 500 VUs,\nthe search parameter can be 500.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.status": { + "name": "status", + "in": "query", + "description": "Comma separated list of test run status.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "ListTestRunQueryParams.testId": { + "name": "testId", + "in": "query", + "description": "Unique name of an existing load test.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MetricDimensionsRequest.interval": { + "name": "interval", + "in": "query", + "description": "The interval (i.e. timegrain) of the query.", + "required": false, + "type": "string", + "default": "PT1M", + "enum": [ + "PT5S", + "PT10S", + "PT1M", + "PT5M", + "PT1H" + ], + "x-ms-enum": { + "name": "TimeGrain", + "modelAsString": true, + "values": [ + { + "name": "PT5S", + "value": "PT5S", + "description": "5 seconds, available only if test run duration is less than 10 minutes." + }, + { + "name": "PT10S", + "value": "PT10S", + "description": "10 seconds, available only if test run duration is less than 10 minutes." + }, + { + "name": "PT1M", + "value": "PT1M", + "description": "1 minute" + }, + { + "name": "PT5M", + "value": "PT5M", + "description": "5 minutes, available only if test run duration is greater than 1 minute." + }, + { + "name": "PT1H", + "value": "PT1H", + "description": "1 hour, available only if test run duration is greater than 1 minute." + } + ] + }, + "x-ms-parameter-location": "method" + }, + "MetricDimensionsRequest.metricNamespace": { + "name": "metricNamespace", + "in": "query", + "description": "Metric namespace to query metric definitions for.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MetricDimensionsRequest.metricname": { + "name": "metricname", + "in": "query", + "description": "Metric name", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "MetricDimensionsRequest.timespan": { + "name": "timespan", + "in": "query", + "description": "The timespan of the query. It is a string with the following format 'startDateTime_ISO/endDateTime_ISO'.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + "OldTestRunIdQueryParam": { + "name": "oldTestRunId", + "in": "query", + "description": "Existing test run identifier that should be rerun, if this is provided, the\ntest will run with the JMX file, configuration and app components from the\nexisting test run. You can override the configuration values for new test run\nin the request body.", + "required": false, + "type": "string", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json index 05d685fae804..6e91cb52212a 100644 --- a/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json +++ b/specification/loadtestservice/data-plane/Microsoft.LoadTestService/stable/2022-11-01/loadtestservice.json @@ -2487,7 +2487,7 @@ }, "aggregate": { "$ref": "#/definitions/PFAgFunc", - "description": "The aggregation function to be applied on the client metric. Allowed functions\n- ‘percentage’ - for error metric , ‘avg’, ‘p50’, ‘p90’, ‘p95’, ‘p99’, ‘min’,\n‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec,\n‘count’ - for requests" + "description": "The aggregation function to be applied on the client metric. Allowed functions\n- ‘percentage’ - for error metric , ‘avg’, percentiles like ‘p50’, ‘p90’, & so on, ‘min’,\n‘max’ - for response_time_ms and latency metric, ‘avg’ - for requests_per_sec,\n‘count’ - for requests" }, "condition": { "type": "string", diff --git a/specification/loadtestservice/data-plane/readme.md b/specification/loadtestservice/data-plane/readme.md index 404eed05c964..544b7e65a130 100644 --- a/specification/loadtestservice/data-plane/readme.md +++ b/specification/loadtestservice/data-plane/readme.md @@ -27,6 +27,15 @@ tag: package-2022-11-01 title: LoadTestingClient ``` +### Tag: package-2024-05-01-preview + +These settings apply only when `--tag=package-2024-05-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2024-05-01-preview' +input-file: + - Microsoft.LoadTestService/preview/2024-05-01-preview/loadtestservice.json +``` + ### Tag: package-2024-03-01-preview diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestMappings_CreateOrUpdate.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestMappings_CreateOrUpdate.json new file mode 100644 index 000000000000..b6847087411c --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestMappings_CreateOrUpdate.json @@ -0,0 +1,58 @@ +{ + "title": "Create a Load Test Mapping Resource", + "operationId": "LoadTestMappings_CreateOrUpdate", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestMappingName": "myLoadTestMapping", + "resource": { + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testId": "123456" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestMappings/myLoadTestMapping", + "name": "myLoadTestMapping", + "type": "Microsoft.LoadTestService/loadTestMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1002", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:34:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testId": "123456" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestMappings/myLoadTestMapping", + "name": "myLoadTestMapping", + "type": "Microsoft.LoadTestService/loadTestMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testId": "123456" + } + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestMappings_Delete.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestMappings_Delete.json new file mode 100644 index 000000000000..688176e1f150 --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestMappings_Delete.json @@ -0,0 +1,13 @@ +{ + "title": "Delete a Load Test Mapping Resource", + "operationId": "LoadTestMappings_Delete", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestMappingName": "myLoadTestMapping" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestMappings_Get.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestMappings_Get.json new file mode 100644 index 000000000000..aa5753eb2617 --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestMappings_Get.json @@ -0,0 +1,31 @@ +{ + "title": "Get a Load Test Mapping Resource", + "operationId": "LoadTestMappings_Get", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestMappingName": "myLoadTestMapping" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestMappings/myLoadTestMapping", + "name": "myLoadTestMapping", + "type": "Microsoft.LoadTestService/loadTestMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testId": "123456" + } + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestMappings_List.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestMappings_List.json new file mode 100644 index 000000000000..18e0a5a192ba --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestMappings_List.json @@ -0,0 +1,34 @@ +{ + "title": "List all Load Test Mappings by Source Resource Id", + "operationId": "LoadTestMappings_List", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestMappings/myLoadTestMapping", + "name": "myLoadTestMapping", + "type": "Microsoft.LoadTestService/loadTestMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testId": "123456" + } + } + ] + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestMappings_Update.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestMappings_Update.json new file mode 100644 index 000000000000..2b20b6300fb6 --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestMappings_Update.json @@ -0,0 +1,34 @@ +{ + "title": "Update a load test mapping", + "operationId": "LoadTestMappings_Update", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestMappingName": "myLoadTestMapping", + "properties": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestMappings/myLoadTestMapping", + "name": "myLoadTestMapping", + "type": "Microsoft.LoadTestService/loadTestMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testId": "123456" + } + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestProfileMappings_CreateOrUpdate.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestProfileMappings_CreateOrUpdate.json new file mode 100644 index 000000000000..b99bbc3a7a0d --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestProfileMappings_CreateOrUpdate.json @@ -0,0 +1,57 @@ +{ + "title": "Create a Load Test Profile Mappings resource", + "operationId": "LoadTestProfileMappings_CreateOrUpdate", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestProfileMappingName": "myLoadTestProfileMapping", + "resource": { + "properties": { + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testProfileId": "123456" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestProfileMappings/myLoadTestProfileMapping", + "name": "myLoadTestProfileMapping", + "type": "Microsoft.LoadTestService/loadTestProfileMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1002", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:34:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testProfileId": "123456" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestProfileMappings/myLoadTestProfileMapping", + "name": "myLoadTestProfileMapping", + "type": "Microsoft.LoadTestService/loadTestProfileMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testProfileId": "123456" + } + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestProfileMappings_Delete.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestProfileMappings_Delete.json new file mode 100644 index 000000000000..1c9ac22a0fc8 --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestProfileMappings_Delete.json @@ -0,0 +1,13 @@ +{ + "title": "Delete a Load Test Profile Mapping Resource", + "operationId": "LoadTestProfileMappings_Delete", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestProfileMappingName": "myLoadTestProfileMapping" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestProfileMappings_Get.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestProfileMappings_Get.json new file mode 100644 index 000000000000..6450e5fa2b39 --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestProfileMappings_Get.json @@ -0,0 +1,31 @@ +{ + "title": "Get a Load Test Profile Mapping Resource", + "operationId": "LoadTestProfileMappings_Get", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestProfileMappingName": "myLoadTestProfileMapping" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestProfileMappings/myLoadTestProfileMapping", + "name": "myLoadTestProfileMapping", + "type": "Microsoft.LoadTestService/loadTestProfileMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testProfileId": "123456" + } + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestProfileMappings_List.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestProfileMappings_List.json new file mode 100644 index 000000000000..f6b7653dadc5 --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestProfileMappings_List.json @@ -0,0 +1,34 @@ +{ + "title": "List Load Test Profile Mappings by Source Resource Id", + "operationId": "LoadTestProfileMappings_List", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestProfileMappings/myLoadTestProfileMapping", + "name": "myLoadTestProfileMapping", + "type": "Microsoft.LoadTestService/loadTestProfileMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testProfileId": "123456" + } + } + ] + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestProfileMappings_Update.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestProfileMappings_Update.json new file mode 100644 index 000000000000..060d356dc29c --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTestProfileMappings_Update.json @@ -0,0 +1,34 @@ +{ + "title": "Update a Load Test Profile Mapping", + "operationId": "LoadTestProfileMappings_Update", + "parameters": { + "api-version": "2023-12-01-preview", + "resourceUri": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "loadTestProfileMappingName": "myLoadTestProfileMapping", + "properties": { + "properties": {} + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename/providers/Microsoft.LoadTestService/loadTestProfileMappings/myLoadTestProfileMapping", + "name": "myLoadTestProfileMapping", + "type": "Microsoft.LoadTestService/loadTestProfileMappings", + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + }, + "properties": { + "sourceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.Web/sites/sitename", + "azureLoadTestingResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "testProfileId": "123456" + } + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_CreateOrUpdate.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_CreateOrUpdate.json new file mode 100644 index 000000000000..f84b7a9864a8 --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_CreateOrUpdate.json @@ -0,0 +1,121 @@ +{ + "operationId": "LoadTests_CreateOrUpdate", + "title": "Create a LoadTestResource", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "dummyrg", + "loadTestName": "myLoadTest", + "LoadTestResource": { + "location": "westus", + "tags": { + "Team": "Dev Exp" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "properties": { + "description": "This is new load test resource", + "encryption": { + "identity": { + "type": "UserAssigned", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1" + }, + "keyUrl": "https://dummy.vault.azure.net/keys/dummykey1" + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "12345678-1234-1234-1234-123456789012", + "tenantId": "12345678-1234-1234-4321-123456789012", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "principalId": "12345678-1234-4321-1234-123456789012", + "clientId": "12345678-4321-1234-1234-123456789012" + } + } + }, + "properties": { + "description": "This is new load test resource", + "dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com", + "provisioningState": "Succeeded", + "encryption": { + "identity": { + "type": "UserAssigned", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1" + }, + "keyUrl": "https://dummy.vault.azure.net/keys/dummykey1" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "name": "myLoadTest", + "type": "Microsoft.LoadTestService/loadTests", + "tags": { + "Team": "Dev Exp" + }, + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + } + } + }, + "201": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.loadtestservice/locations/WESTUS/operationStatuses/abc?api-version=2022-12-01" + }, + "body": { + "location": "westus", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "12345678-1234-1234-1234-123456789012", + "tenantId": "12345678-1234-1234-4321-123456789012", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "principalId": "12345678-1234-4321-1234-123456789012", + "clientId": "12345678-4321-1234-1234-123456789012" + } + } + }, + "properties": { + "description": "This is new load test resource", + "dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com", + "provisioningState": "Succeeded", + "encryption": { + "identity": { + "type": "UserAssigned", + "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1" + }, + "keyUrl": "https://dummy.vault.azure.net/keys/dummykey1" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "name": "myLoadTest", + "type": "Microsoft.LoadTestService/loadTests", + "tags": { + "Team": "Dev Exp" + }, + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + } + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_Delete.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_Delete.json new file mode 100644 index 000000000000..d2f5cd404d13 --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_Delete.json @@ -0,0 +1,18 @@ +{ + "operationId": "LoadTests_Delete", + "title": "Delete a LoadTestResource.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "dummyrg", + "loadTestName": "myLoadTest" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.loadtestservice/locations/WESTUS/operationStatuses/abc?api-version=2022-12-01" + } + }, + "204": {} + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_Get.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_Get.json new file mode 100644 index 000000000000..d659ec05396f --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_Get.json @@ -0,0 +1,36 @@ +{ + "operationId": "LoadTests_Get", + "title": "Get a LoadTestResource.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "dummyrg", + "loadTestName": "myLoadTest" + }, + "responses": { + "200": { + "body": { + "location": "westus", + "properties": { + "description": "This is new load test resource", + "dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "name": "myLoadTest", + "type": "Microsoft.LoadTestService/loadTests", + "tags": { + "Team": "Dev Exp" + }, + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + } + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_ListByResourceGroup.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_ListByResourceGroup.json new file mode 100644 index 000000000000..f90482ffb4d7 --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_ListByResourceGroup.json @@ -0,0 +1,39 @@ +{ + "operationId": "LoadTests_ListByResourceGroup", + "title": "List LoadTestResource resources by resource group.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "dummyrg" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "westus", + "properties": { + "description": "This is new load test resource", + "dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "name": "myLoadTest", + "type": "Microsoft.LoadTestService/loadTests", + "tags": { + "Team": "Dev Exp" + }, + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + } + } + ] + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_ListBySubscription.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_ListBySubscription.json new file mode 100644 index 000000000000..3f5cead7f3b3 --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_ListBySubscription.json @@ -0,0 +1,38 @@ +{ + "operationId": "LoadTests_ListBySubscription", + "title": "List LoadTestResource resources by subscription ID.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "location": "westus", + "properties": { + "description": "This is new load test resource", + "dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com", + "provisioningState": "Succeeded" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "name": "myLoadTest", + "type": "Microsoft.LoadTestService/loadTests", + "tags": { + "Team": "Dev Exp" + }, + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + } + } + ] + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_ListOutboundNetworkDependenciesEndpoints.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_ListOutboundNetworkDependenciesEndpoints.json new file mode 100644 index 000000000000..2ed76648276e --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_ListOutboundNetworkDependenciesEndpoints.json @@ -0,0 +1,110 @@ +{ + "operationId": "LoadTests_ListOutboundNetworkDependenciesEndpoints", + "title": "Lists the endpoints that agents may call as part of load testing.", + "parameters": { + "loadTestName": "sampleloadtest", + "resourceGroupName": "default-azureloadtest-japaneast", + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "category": "Azure Batch", + "endpoints": [ + { + "domainName": "sampleacct.japaneast.batch.azure.com", + "description": "Applicable to job manager tasks, tasks that use job scoped authentication, or any task that makes calls to Batch.", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "japaneast.service.batch.azure.com", + "description": "Applicable to all Azure Batch pools.", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + }, + { + "category": "Azure Storage", + "endpoints": [ + { + "domainName": "autostorageaccountname.blob.core.windows.net", + "description": "AutoStorage endpoint for this Batch account. Applicable to all Azure Batch pools under this account.", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "*.blob.core.windows.net", + "description": "Applicable to all Azure Batch pools.", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "*.table.core.windows.net", + "description": "Applicable to all Azure Batch pools.", + "endpointDetails": [ + { + "port": 443 + } + ] + }, + { + "domainName": "*.queue.core.windows.net", + "description": "Applicable to all Azure Batch pools.", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + }, + { + "category": "Microsoft Package Repository", + "endpoints": [ + { + "domainName": "packages.microsoft.com", + "description": "Only applicable to pools containing a Mount Configuration. Learn about Mount Configurations in Batch at https://docs.microsoft.com/azure/batch/virtual-file-mount.", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + }, + { + "category": "Azure Key Vault", + "endpoints": [ + { + "domainName": "*.vault.azure.net", + "description": "Only applicable to pools containing a Disk Encryption Configuration and whose VM size does not support encryption at host. Learn more about disk encryption in Azure Batch at https://docs.microsoft.com/azure/batch/disk-encryption. Learn more about encryption at host and supported VM sizes at https://docs.microsoft.com/azure/virtual-machines/disks-enable-host-based-encryption-portal.", + "endpointDetails": [ + { + "port": 443 + } + ] + } + ] + } + ] + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_Update.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_Update.json new file mode 100644 index 000000000000..489575c0460f --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/LoadTests_Update.json @@ -0,0 +1,82 @@ +{ + "operationId": "LoadTests_Update", + "title": "Update a LoadTestResource.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "dummyrg", + "loadTestName": "myLoadTest", + "LoadTestResourcePatchRequestBody": { + "tags": { + "Team": "Dev Exp", + "Division": "LT" + }, + "identity": { + "type": "SystemAssigned,UserAssigned", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + }, + "properties": { + "description": "This is new load test resource", + "encryption": { + "identity": { + "type": "SystemAssigned", + "resourceId": null + }, + "keyUrl": "https://dummy.vault.azure.net/keys/dummykey1" + } + } + } + }, + "responses": { + "200": { + "body": { + "location": "westus", + "identity": { + "type": "SystemAssigned,UserAssigned", + "principalId": "12345678-1234-1234-1234-123456789012", + "tenantId": "12345678-1234-1234-4321-123456789012", + "userAssignedIdentities": { + "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "principalId": "12345678-1234-4321-1234-123456789012", + "clientId": "12345678-4321-1234-1234-123456789012" + } + } + }, + "properties": { + "description": "This is new load test resource", + "dataPlaneURI": "https://myLoadTest.00000000-0000-0000-0000-000000000000.cnt-dp.domain.com", + "provisioningState": "Succeeded", + "encryption": { + "identity": { + "type": "SystemAssigned", + "resourceId": null + }, + "keyUrl": "https://dummy.vault.azure.net/keys/dummykey1" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/dummyrg/providers/Microsoft.LoadTestService/loadTests/myLoadTest", + "name": "myLoadTest", + "type": "Microsoft.LoadTestService/loadTests", + "tags": { + "Team": "Dev Exp", + "Division": "LT" + }, + "systemData": { + "createdBy": "userId1001", + "createdByType": "User", + "createdAt": "2021-09-28T12:32:33Z", + "lastModifiedBy": "userId1001", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-09-28T12:32:33Z" + } + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/microsoft.loadtestservice/locations/WESTUS/operationStatuses/abc?api-version=2022-12-01" + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/Operations_List.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..a9a5c1b3ab76 --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/Operations_List.json @@ -0,0 +1,46 @@ +{ + "operationId": "Operations_List", + "title": "List the operations for the provider.", + "parameters": { + "api-version": "2023-12-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.LoadTestService/loadTests/Write", + "isDataAction": false, + "display": { + "provider": "Microsoft.LoadTestService", + "resource": "loadTests", + "operation": "Creates or updates the LoadTests", + "description": "Set LoadTests" + } + }, + { + "name": "Microsoft.LoadTestService/loadTests/Delete", + "isDataAction": false, + "display": { + "provider": "Microsoft.LoadTestService", + "resource": "loadTests", + "operation": "Deletes the LoadTests", + "description": "Delete LoadTests" + } + }, + { + "name": "Microsoft.LoadTestService/loadTests/Read", + "isDataAction": false, + "display": { + "provider": "Microsoft.LoadTestService", + "resource": "loadTests", + "operation": "Reads the LoadTests", + "description": "Read LoadTests" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/Quotas_CheckAvailability.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/Quotas_CheckAvailability.json new file mode 100644 index 000000000000..29cab6ade828 --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/Quotas_CheckAvailability.json @@ -0,0 +1,34 @@ +{ + "operationId": "Quotas_CheckAvailability", + "title": "Check Quota Availability on quota bucket per region per subscription.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "westus", + "quotaBucketName": "testQuotaBucket", + "QuotaBucketRequest": { + "properties": { + "currentUsage": 20, + "currentQuota": 40, + "newQuota": 50, + "dimensions": { + "subscriptionId": "testsubscriptionId", + "location": "westus" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.LoadTestService/locations/westus/quotas/testQuotaBucket", + "name": "testQuotaBucket", + "type": "Microsoft.LoadTestService/locations/quotas", + "properties": { + "isAvailable": false, + "availabilityStatus": "The requested quota is currently unavailable. Please request for different quota, or upgrade subscription offer type and try again later." + } + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/Quotas_Get.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/Quotas_Get.json new file mode 100644 index 000000000000..6b42bcc0c58c --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/Quotas_Get.json @@ -0,0 +1,23 @@ +{ + "operationId": "Quotas_Get", + "title": "Get the available quota for a quota bucket per region per subscription.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "westus", + "quotaBucketName": "testQuotaBucket" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.LoadTestService/locations/westus/quotas/testQuotaBucket", + "name": "testQuotaBucket", + "type": "Microsoft.LoadTestService/locations/quotas", + "properties": { + "limit": 50, + "usage": 20 + } + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/Quotas_List.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/Quotas_List.json new file mode 100644 index 000000000000..75900512c036 --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/examples/Quotas_List.json @@ -0,0 +1,26 @@ +{ + "operationId": "Quotas_List", + "title": "List quotas for a given subscription Id.", + "parameters": { + "api-version": "2023-12-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "westus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.LoadTestService/locations/westus/quotas/testQuotaBucket", + "name": "testQuotaBucket", + "type": "Microsoft.LoadTestService/locations/quotas", + "properties": { + "limit": 50, + "usage": 20 + } + } + ] + } + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/loadtestservice.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/loadtestservice.json new file mode 100644 index 000000000000..86864978e6a7 --- /dev/null +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/preview/2023-12-01-preview/loadtestservice.json @@ -0,0 +1,1728 @@ +{ + "swagger": "2.0", + "info": { + "title": "LoadTest Client", + "version": "2023-12-01-preview", + "description": "LoadTest client provides access to LoadTest Resource and it's status operations.", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "Operations" + }, + { + "name": "LoadTests" + }, + { + "name": "Quotas" + }, + { + "name": "LoadTestMappings" + }, + { + "name": "LoadTestProfileMappings" + } + ], + "paths": { + "/{resourceUri}/providers/Microsoft.LoadTestService/loadTestMappings": { + "get": { + "operationId": "LoadTestMappings_List", + "tags": [ + "LoadTestMappings" + ], + "description": "List LoadTestMappingResource resources by parent", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/LoadTestMappingResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List all Load Test Mappings by Source Resource Id": { + "$ref": "./examples/LoadTestMappings_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{resourceUri}/providers/Microsoft.LoadTestService/loadTestMappings/{loadTestMappingName}": { + "get": { + "operationId": "LoadTestMappings_Get", + "tags": [ + "LoadTestMappings" + ], + "description": "Get a LoadTestMappingResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "loadTestMappingName", + "in": "path", + "description": "Load Test Mapping name", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/LoadTestMappingResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Load Test Mapping Resource": { + "$ref": "./examples/LoadTestMappings_Get.json" + } + } + }, + "put": { + "operationId": "LoadTestMappings_CreateOrUpdate", + "tags": [ + "LoadTestMappings" + ], + "description": "Create a LoadTestMappingResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "loadTestMappingName", + "in": "path", + "description": "Load Test Mapping name", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/LoadTestMappingResource" + } + } + ], + "responses": { + "200": { + "description": "Resource 'LoadTestMappingResource' update operation succeeded", + "schema": { + "$ref": "#/definitions/LoadTestMappingResource" + } + }, + "201": { + "description": "Resource 'LoadTestMappingResource' create operation succeeded", + "schema": { + "$ref": "#/definitions/LoadTestMappingResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a Load Test Mapping Resource": { + "$ref": "./examples/LoadTestMappings_CreateOrUpdate.json" + } + } + }, + "patch": { + "operationId": "LoadTestMappings_Update", + "tags": [ + "LoadTestMappings" + ], + "description": "Update a LoadTestMappingResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "loadTestMappingName", + "in": "path", + "description": "Load Test Mapping name", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/LoadTestMappingResourceUpdate" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/LoadTestMappingResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a load test mapping": { + "$ref": "./examples/LoadTestMappings_Update.json" + } + } + }, + "delete": { + "operationId": "LoadTestMappings_Delete", + "tags": [ + "LoadTestMappings" + ], + "description": "Delete a LoadTestMappingResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "loadTestMappingName", + "in": "path", + "description": "Load Test Mapping name", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Load Test Mapping Resource": { + "$ref": "./examples/LoadTestMappings_Delete.json" + } + } + } + }, + "/{resourceUri}/providers/Microsoft.LoadTestService/loadTestProfileMappings": { + "get": { + "operationId": "LoadTestProfileMappings_List", + "tags": [ + "LoadTestProfileMappings" + ], + "description": "List LoadTestProfileMappingResource resources by parent", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/LoadTestProfileMappingResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Load Test Profile Mappings by Source Resource Id": { + "$ref": "./examples/LoadTestProfileMappings_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/{resourceUri}/providers/Microsoft.LoadTestService/loadTestProfileMappings/{loadTestProfileMappingName}": { + "get": { + "operationId": "LoadTestProfileMappings_Get", + "tags": [ + "LoadTestProfileMappings" + ], + "description": "Get a LoadTestProfileMappingResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "loadTestProfileMappingName", + "in": "path", + "description": "Load Test Profile Mapping name", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/LoadTestProfileMappingResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a Load Test Profile Mapping Resource": { + "$ref": "./examples/LoadTestProfileMappings_Get.json" + } + } + }, + "put": { + "operationId": "LoadTestProfileMappings_CreateOrUpdate", + "tags": [ + "LoadTestProfileMappings" + ], + "description": "Create a LoadTestProfileMappingResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "loadTestProfileMappingName", + "in": "path", + "description": "Load Test Profile Mapping name", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/LoadTestProfileMappingResource" + } + } + ], + "responses": { + "200": { + "description": "Resource 'LoadTestProfileMappingResource' update operation succeeded", + "schema": { + "$ref": "#/definitions/LoadTestProfileMappingResource" + } + }, + "201": { + "description": "Resource 'LoadTestProfileMappingResource' create operation succeeded", + "schema": { + "$ref": "#/definitions/LoadTestProfileMappingResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a Load Test Profile Mappings resource": { + "$ref": "./examples/LoadTestProfileMappings_CreateOrUpdate.json" + } + } + }, + "patch": { + "operationId": "LoadTestProfileMappings_Update", + "tags": [ + "LoadTestProfileMappings" + ], + "description": "Update a LoadTestProfileMappingResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "loadTestProfileMappingName", + "in": "path", + "description": "Load Test Profile Mapping name", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/LoadTestProfileMappingResourceUpdate" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/LoadTestProfileMappingResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a Load Test Profile Mapping": { + "$ref": "./examples/LoadTestProfileMappings_Update.json" + } + } + }, + "delete": { + "operationId": "LoadTestProfileMappings_Delete", + "tags": [ + "LoadTestProfileMappings" + ], + "description": "Delete a LoadTestProfileMappingResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "#/parameters/Azure.ResourceManager.ResourceUriParameter" + }, + { + "name": "loadTestProfileMappingName", + "in": "path", + "description": "Load Test Profile Mapping name", + "required": true, + "type": "string", + "pattern": "^[A-Za-z0-9]+(-[A-Za-z0-9]+)*$" + } + ], + "responses": { + "200": { + "description": "Resource deleted successfully." + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a Load Test Profile Mapping Resource": { + "$ref": "./examples/LoadTestProfileMappings_Delete.json" + } + } + } + }, + "/providers/Microsoft.LoadTestService/operations": { + "get": { + "operationId": "Operations_List", + "tags": [ + "Operations" + ], + "description": "List the operations for the provider", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List the operations for the provider.": { + "$ref": "./examples/Operations_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.LoadTestService/loadTests": { + "get": { + "operationId": "LoadTests_ListBySubscription", + "tags": [ + "LoadTests" + ], + "description": "List LoadTestResource resources by subscription ID", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/LoadTestResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List LoadTestResource resources by subscription ID.": { + "$ref": "./examples/LoadTests_ListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.LoadTestService/locations/{location}/quotas": { + "get": { + "operationId": "Quotas_List", + "tags": [ + "Quotas" + ], + "description": "List quotas for a given subscription Id.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/QuotaResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List quotas for a given subscription Id.": { + "$ref": "./examples/Quotas_List.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.LoadTestService/locations/{location}/quotas/{quotaBucketName}": { + "get": { + "operationId": "Quotas_Get", + "tags": [ + "Quotas" + ], + "description": "Get the available quota for a quota bucket per region per subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "quotaBucketName", + "in": "path", + "description": "The quota name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/QuotaResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get the available quota for a quota bucket per region per subscription.": { + "$ref": "./examples/Quotas_Get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.LoadTestService/locations/{location}/quotas/{quotaBucketName}/checkAvailability": { + "post": { + "operationId": "Quotas_CheckAvailability", + "tags": [ + "Quotas" + ], + "description": "Check Quota Availability on quota bucket per region per subscription.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "quotaBucketName", + "in": "path", + "description": "The quota name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + }, + { + "name": "QuotaBucketRequest", + "in": "body", + "description": "The content of the action request", + "required": true, + "schema": { + "$ref": "#/definitions/QuotaBucketRequest" + }, + "x-ms-client-name": "body" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CheckQuotaAvailabilityResponse" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Check Quota Availability on quota bucket per region per subscription.": { + "$ref": "./examples/Quotas_CheckAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LoadTestService/loadTests": { + "get": { + "operationId": "LoadTests_ListByResourceGroup", + "tags": [ + "LoadTests" + ], + "description": "List LoadTestResource resources by resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/LoadTestResourceListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List LoadTestResource resources by resource group.": { + "$ref": "./examples/LoadTests_ListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LoadTestService/loadTests/{loadTestName}": { + "get": { + "operationId": "LoadTests_Get", + "tags": [ + "LoadTests" + ], + "description": "Get a LoadTestResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "loadTestName", + "in": "path", + "description": "Load Test name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/LoadTestResource" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a LoadTestResource.": { + "$ref": "./examples/LoadTests_Get.json" + } + } + }, + "put": { + "operationId": "LoadTests_CreateOrUpdate", + "tags": [ + "LoadTests" + ], + "description": "Create a LoadTestResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "loadTestName", + "in": "path", + "description": "Load Test name", + "required": true, + "type": "string" + }, + { + "name": "LoadTestResource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/LoadTestResource" + }, + "x-ms-client-name": "resource" + } + ], + "responses": { + "200": { + "description": "Resource 'LoadTestResource' update operation succeeded", + "schema": { + "$ref": "#/definitions/LoadTestResource" + } + }, + "201": { + "description": "Resource 'LoadTestResource' create operation succeeded", + "schema": { + "$ref": "#/definitions/LoadTestResource" + }, + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create a LoadTestResource": { + "$ref": "./examples/LoadTests_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "LoadTests_Update", + "tags": [ + "LoadTests" + ], + "description": "Update a LoadTestResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "loadTestName", + "in": "path", + "description": "Load Test name", + "required": true, + "type": "string" + }, + { + "name": "LoadTestResourcePatchRequestBody", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/LoadTestResourceUpdate" + }, + "x-ms-client-name": "properties" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/LoadTestResource" + } + }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Azure-AsyncOperation": { + "type": "string", + "description": "A link to the status monitor" + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Update a LoadTestResource.": { + "$ref": "./examples/LoadTests_Update.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "LoadTests_Delete", + "tags": [ + "LoadTests" + ], + "description": "Delete a LoadTestResource", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "loadTestName", + "in": "path", + "description": "Load Test name", + "required": true, + "type": "string" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete a LoadTestResource.": { + "$ref": "./examples/LoadTests_Delete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.LoadTestService/loadTests/{loadTestName}/outboundNetworkDependenciesEndpoints": { + "get": { + "operationId": "LoadTests_ListOutboundNetworkDependenciesEndpoints", + "tags": [ + "LoadTests" + ], + "description": "Lists the endpoints that agents may call as part of load testing.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "loadTestName", + "in": "path", + "description": "Load Test name", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/PagedOutboundEnvironmentEndpoint" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Lists the endpoints that agents may call as part of load testing.": { + "$ref": "./examples/LoadTests_ListOutboundNetworkDependenciesEndpoints.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "CheckQuotaAvailabilityResponse": { + "type": "object", + "description": "Check quota availability response object.", + "properties": { + "id": { + "type": "string", + "description": "Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}", + "readOnly": true + }, + "type": { + "type": "string", + "description": "The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"", + "readOnly": true + }, + "systemData": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData", + "description": "Azure Resource Manager metadata containing createdBy and modifiedBy information.", + "readOnly": true + }, + "name": { + "type": "string", + "description": "The name of the resource.", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/CheckQuotaAvailabilityResponseProperties", + "description": "Check quota availability response properties.", + "x-ms-client-flatten": true + } + }, + "required": [ + "id", + "type" + ] + }, + "CheckQuotaAvailabilityResponseProperties": { + "type": "object", + "description": "Check quota availability response properties.", + "properties": { + "isAvailable": { + "type": "boolean", + "description": "True/False indicating whether the quota request be granted based on availability." + }, + "availabilityStatus": { + "type": "string", + "description": "Message indicating additional details to add to quota support request." + } + } + }, + "EncryptionProperties": { + "type": "object", + "description": "Key and identity details for Customer Managed Key encryption of load test resource.", + "properties": { + "identity": { + "$ref": "#/definitions/EncryptionPropertiesIdentity", + "description": "All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault." + }, + "keyUrl": { + "type": "string", + "description": "key encryption key Url, versioned. Ex: https://contosovault.vault.azure.net/keys/contosokek/562a4bb76b524a1493a6afe8e536ee78 or https://contosovault.vault.azure.net/keys/contosokek." + } + } + }, + "EncryptionPropertiesIdentity": { + "type": "object", + "description": "All identity configuration for Customer-managed key settings defining which identity should be used to auth to Key Vault.", + "properties": { + "type": { + "$ref": "#/definitions/type", + "description": "Managed identity type to use for accessing encryption key Url." + }, + "resourceId": { + "type": "string", + "description": "User assigned identity to use for accessing key encryption key Url. Ex: /subscriptions/fa5fc227-a624-475e-b696-cdd604c735bc/resourceGroups//providers/Microsoft.ManagedIdentity/userAssignedIdentities/myId.", + "x-nullable": true + } + } + }, + "EndpointDependency": { + "type": "object", + "description": "A domain name and connection details used to access a dependency.", + "properties": { + "domainName": { + "type": "string", + "description": "The domain name of the dependency. Domain names may be fully qualified or may contain a * wildcard.", + "readOnly": true + }, + "description": { + "type": "string", + "description": "Human-readable supplemental information about the dependency and when it is applicable.", + "readOnly": true + }, + "endpointDetails": { + "type": "array", + "description": "The list of connection details for this endpoint.", + "items": { + "$ref": "#/definitions/EndpointDetail" + }, + "readOnly": true, + "x-ms-identifiers": [ + "port" + ] + } + }, + "required": [ + "domainName" + ] + }, + "EndpointDetail": { + "type": "object", + "description": "Details about the connection between the Batch service and the endpoint.", + "properties": { + "port": { + "type": "integer", + "format": "int32", + "description": "The port an endpoint is connected to.", + "readOnly": true + } + } + }, + "LoadTestMappingProperties": { + "type": "object", + "description": "Azure LoadTest mapping resource properties.", + "properties": { + "sourceResourceId": { + "type": "string", + "description": "Mapped source resource Id.", + "maxLength": 1024 + }, + "azureLoadTestingResourceId": { + "type": "string", + "description": "Mapped Azure Load Test resource Id.", + "maxLength": 1024 + }, + "testId": { + "type": "string", + "description": "Mapped Azure Load Test resource test-id.", + "maxLength": 256 + } + } + }, + "LoadTestMappingResource": { + "type": "object", + "description": "LoadTest mapping resource details", + "properties": { + "properties": { + "$ref": "#/definitions/LoadTestMappingProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "LoadTestMappingResourceListResult": { + "type": "object", + "description": "The response of a LoadTestMappingResource list operation.", + "properties": { + "value": { + "type": "array", + "description": "The LoadTestMappingResource items on this page", + "items": { + "$ref": "#/definitions/LoadTestMappingResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "LoadTestMappingResourceUpdate": { + "type": "object", + "description": "The type used for update operations of the LoadTestMappingResource.", + "properties": { + "properties": { + "$ref": "#/definitions/LoadTestMappingResourceUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "LoadTestMappingResourceUpdateProperties": { + "type": "object", + "description": "The updatable properties of the LoadTestMappingResource.", + "properties": { + "sourceResourceId": { + "type": "string", + "description": "Mapped source resource Id.", + "maxLength": 1024 + }, + "azureLoadTestingResourceId": { + "type": "string", + "description": "Mapped Azure Load Test resource Id.", + "maxLength": 1024 + }, + "testId": { + "type": "string", + "description": "Mapped Azure Load Test resource test-id.", + "maxLength": 256 + } + } + }, + "LoadTestProfileMappingProperties": { + "type": "object", + "description": "Azure LoadTest profile mapping resource properties.", + "properties": { + "sourceResourceId": { + "type": "string", + "description": "Mapped source resource Id.", + "maxLength": 1024 + }, + "azureLoadTestingResourceId": { + "type": "string", + "description": "Mapped Azure Load Test resource Id.", + "maxLength": 1024 + }, + "testProfileId": { + "type": "string", + "description": "Mapped Azure Load Test resource test-profile-id.", + "maxLength": 60 + } + } + }, + "LoadTestProfileMappingResource": { + "type": "object", + "description": "LoadTest profile mapping resource details", + "properties": { + "properties": { + "$ref": "#/definitions/LoadTestProfileMappingProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "LoadTestProfileMappingResourceListResult": { + "type": "object", + "description": "The response of a LoadTestProfileMappingResource list operation.", + "properties": { + "value": { + "type": "array", + "description": "The LoadTestProfileMappingResource items on this page", + "items": { + "$ref": "#/definitions/LoadTestProfileMappingResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "LoadTestProfileMappingResourceUpdate": { + "type": "object", + "description": "The type used for update operations of the LoadTestProfileMappingResource.", + "properties": { + "properties": { + "$ref": "#/definitions/LoadTestProfileMappingResourceUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "LoadTestProfileMappingResourceUpdateProperties": { + "type": "object", + "description": "The updatable properties of the LoadTestProfileMappingResource.", + "properties": { + "sourceResourceId": { + "type": "string", + "description": "Mapped source resource Id.", + "maxLength": 1024 + }, + "azureLoadTestingResourceId": { + "type": "string", + "description": "Mapped Azure Load Test resource Id.", + "maxLength": 1024 + }, + "testProfileId": { + "type": "string", + "description": "Mapped Azure Load Test resource test-profile-id.", + "maxLength": 60 + } + } + }, + "LoadTestProperties": { + "type": "object", + "description": "LoadTest resource properties.", + "properties": { + "description": { + "type": "string", + "description": "Description of the resource.", + "maxLength": 512 + }, + "provisioningState": { + "$ref": "#/definitions/ResourceState", + "description": "Resource provisioning state.", + "readOnly": true + }, + "dataPlaneURI": { + "type": "string", + "description": "Resource data plane URI.", + "maxLength": 2083, + "readOnly": true + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperties", + "description": "CMK Encryption property." + } + } + }, + "LoadTestResource": { + "type": "object", + "description": "LoadTest details.", + "properties": { + "properties": { + "$ref": "#/definitions/LoadTestProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + }, + "identity": { + "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The managed service identities assigned to this resource." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ] + }, + "LoadTestResourceListResult": { + "type": "object", + "description": "The response of a LoadTestResource list operation.", + "properties": { + "value": { + "type": "array", + "description": "The LoadTestResource items on this page", + "items": { + "$ref": "#/definitions/LoadTestResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "LoadTestResourceUpdate": { + "type": "object", + "description": "The type used for update operations of the LoadTestResource.", + "properties": { + "identity": { + "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity", + "description": "The managed service identities assigned to this resource." + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/LoadTestResourceUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "LoadTestResourceUpdateProperties": { + "type": "object", + "description": "The updatable properties of the LoadTestResource.", + "properties": { + "description": { + "type": "string", + "description": "Description of the resource.", + "maxLength": 512 + }, + "encryption": { + "$ref": "#/definitions/EncryptionProperties", + "description": "CMK Encryption property." + } + } + }, + "OutboundEnvironmentEndpoint": { + "type": "object", + "description": "A collection of related endpoints from the same service for which the Batch service requires outbound access.", + "properties": { + "category": { + "type": "string", + "description": "The type of service that Azure Load Testing connects to.", + "readOnly": true + }, + "endpoints": { + "type": "array", + "description": "The endpoints for this service to which the Batch service makes outbound calls.", + "items": { + "$ref": "#/definitions/EndpointDependency" + }, + "readOnly": true, + "x-ms-identifiers": [ + "domainName" + ] + } + } + }, + "PagedOutboundEnvironmentEndpoint": { + "type": "object", + "description": "Values returned by the List operation.", + "properties": { + "value": { + "type": "array", + "description": "The OutboundEnvironmentEndpoint items on this page", + "items": { + "$ref": "#/definitions/OutboundEnvironmentEndpoint" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "QuotaBucketRequest": { + "type": "object", + "description": "Request object of new quota for a quota bucket.", + "properties": { + "properties": { + "$ref": "#/definitions/QuotaBucketRequestProperties", + "description": "Request object of new quota for a quota bucket.", + "x-ms-client-flatten": true + } + } + }, + "QuotaBucketRequestProperties": { + "type": "object", + "description": "New quota request request properties.", + "properties": { + "currentUsage": { + "type": "integer", + "format": "int32", + "description": "Current quota usage of the quota bucket.", + "minimum": 0 + }, + "currentQuota": { + "type": "integer", + "format": "int32", + "description": "Current quota limit of the quota bucket.", + "minimum": 0 + }, + "newQuota": { + "type": "integer", + "format": "int32", + "description": "New quota limit of the quota bucket.", + "minimum": 0 + }, + "dimensions": { + "$ref": "#/definitions/QuotaBucketRequestPropertiesDimensions", + "description": "Dimensions for new quota request." + } + } + }, + "QuotaBucketRequestPropertiesDimensions": { + "type": "object", + "description": "Dimensions for new quota request.", + "properties": { + "subscriptionId": { + "type": "string", + "description": "Subscription Id dimension for new quota request of the quota bucket.", + "minLength": 1 + }, + "location": { + "type": "string", + "description": "Location dimension for new quota request of the quota bucket.", + "minLength": 1 + } + } + }, + "QuotaResource": { + "type": "object", + "description": "Quota bucket details object.", + "properties": { + "properties": { + "$ref": "#/definitions/QuotaResourceProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "QuotaResourceListResult": { + "type": "object", + "description": "The response of a QuotaResource list operation.", + "properties": { + "value": { + "type": "array", + "description": "The QuotaResource items on this page", + "items": { + "$ref": "#/definitions/QuotaResource" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "QuotaResourceProperties": { + "type": "object", + "description": "Quota bucket resource properties.", + "properties": { + "limit": { + "type": "integer", + "format": "int32", + "description": "Current quota limit of the quota bucket.", + "minimum": 0 + }, + "usage": { + "type": "integer", + "format": "int32", + "description": "Current quota usage of the quota bucket.", + "minimum": 0 + }, + "provisioningState": { + "$ref": "#/definitions/ResourceState", + "description": "Resource provisioning state.", + "readOnly": true + } + } + }, + "ResourceState": { + "type": "string", + "description": "Resources provisioning states.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Deleted" + ], + "x-ms-enum": { + "name": "ResourceState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Resource has been created." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Resource creation failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Resource creation was canceled." + }, + { + "name": "Deleted", + "value": "Deleted", + "description": "Deleted state." + } + ] + }, + "readOnly": true + }, + "type": { + "type": "string", + "description": "Managed identity type to use for accessing encryption key Url.", + "enum": [ + "SystemAssigned", + "UserAssigned" + ], + "x-ms-enum": { + "name": "type", + "modelAsString": true, + "values": [ + { + "name": "SystemAssigned", + "value": "SystemAssigned", + "description": "System assigned identity." + }, + { + "name": "UserAssigned", + "value": "UserAssigned", + "description": "User assigned identity." + } + ] + } + } + }, + "parameters": { + "Azure.ResourceManager.ResourceUriParameter": { + "name": "resourceUri", + "in": "path", + "description": "The fully qualified Azure Resource manager identifier of the resource.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method", + "x-ms-skip-url-encoding": true + } + } +} diff --git a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/stable/2022-12-01/loadtestservice.json b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/stable/2022-12-01/loadtestservice.json index 6a4534491abc..deefcea56e76 100644 --- a/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/stable/2022-12-01/loadtestservice.json +++ b/specification/loadtestservice/resource-manager/Microsoft.LoadTestService/stable/2022-12-01/loadtestservice.json @@ -481,6 +481,10 @@ "type": "string", "description": "A link to the status monitor" }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, "Retry-After": { "type": "integer", "format": "int32", @@ -769,11 +773,7 @@ "properties": { "$ref": "#/definitions/LoadTestProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "identity": { "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity", @@ -949,11 +949,7 @@ "properties": { "$ref": "#/definitions/QuotaResourceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/loadtestservice/resource-manager/readme.md b/specification/loadtestservice/resource-manager/readme.md index 16cc1f6f0221..b2cfdf070a07 100644 --- a/specification/loadtestservice/resource-manager/readme.md +++ b/specification/loadtestservice/resource-manager/readme.md @@ -30,6 +30,15 @@ openapi-subtype: rpaas tag: package-2022-12-01 ``` +### Tag: package-2023-12-01-preview + +These settings apply only when `--tag=package-2023-12-01` is specified on the command line. + +```yaml $(tag) == 'package-2023-12-01-preview' +input-file: + - Microsoft.LoadTestService/preview/2023-12-01-preview/loadtestservice.json +``` + ### Tag: package-2022-12-01 These settings apply only when `--tag=package-2022-12-01` is specified on the command line. diff --git a/specification/machinelearning/Azure.AI.ChatProtocol/models/common.tsp b/specification/machinelearning/Azure.AI.ChatProtocol/models/common.tsp index 681e4c5401e9..e1d096d3fa7d 100644 --- a/specification/machinelearning/Azure.AI.ChatProtocol/models/common.tsp +++ b/specification/machinelearning/Azure.AI.ChatProtocol/models/common.tsp @@ -33,9 +33,9 @@ union ChatRole { model ContextProperty { #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Protocol defines the type as Record" @doc(""" - Context allows the chat app to receive extra parameters from the client, such as temperature, functions, or - customer_info. These parameters are specific to the chat app and not understood by the generic clients. - """) + Context allows the chat app to receive extra parameters from the client, such as temperature, functions, or + customer_info. These parameters are specific to the chat app and not understood by the generic clients. + """) context?: Record; } @@ -43,11 +43,11 @@ model ContextProperty { model StateProperty { #suppress "@azure-tools/typespec-azure-core/no-unknown" "The protocol defines these as any (object/scalar) for now" @doc(""" - Field that allows the chat app to store and retrieve data, the structure of such data is dependant on the backend - being used. The client must send back the data in this field unchanged in subsequent requests, until the chat app - sends a new one. The data in this field can be used to implement stateful services, such as remembering previous - conversations or user preferences. - """) + Field that allows the chat app to store and retrieve data, the structure of such data is dependant on the backend + being used. The client must send back the data in this field unchanged in subsequent requests, until the chat app + sends a new one. The data in this field can be used to implement stateful services, such as remembering previous + conversations or user preferences. + """) sessionState?: unknown; } diff --git a/specification/machinelearning/Azure.AI.ChatProtocol/tspconfig.yaml b/specification/machinelearning/Azure.AI.ChatProtocol/tspconfig.yaml index 582f1e520dc4..ae4caf53f776 100644 --- a/specification/machinelearning/Azure.AI.ChatProtocol/tspconfig.yaml +++ b/specification/machinelearning/Azure.AI.ChatProtocol/tspconfig.yaml @@ -12,6 +12,7 @@ options: emitter-output-dir: "{project-root}/../" output-file: "{azure-resource-provider-folder}/Azure.AI.ChatProtocol/{version-status}/{version}/generated.json" azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" examples-directory: examples omit-unreachable-types: true "@azure-tools/typespec-csharp": diff --git a/specification/machinelearningservices/AzureAI.Assets/main.tsp b/specification/machinelearningservices/AzureAI.Assets/main.tsp index afdfc49a3a5b..561830ad433b 100644 --- a/specification/machinelearningservices/AzureAI.Assets/main.tsp +++ b/specification/machinelearningservices/AzureAI.Assets/main.tsp @@ -27,8 +27,8 @@ using Azure.Core.Traits; "Machinelearning Services Asset APIs", { @doc(""" -Supported Azure-AI asset endpoints. -""") + Supported Azure-AI asset endpoints. + """) endpoint: url, @doc("The ID of the target subscription.") diff --git a/specification/machinelearningservices/AzureAI.Assets/tspconfig.yaml b/specification/machinelearningservices/AzureAI.Assets/tspconfig.yaml index 3a8f06dc8c95..8b6fccf845f6 100644 --- a/specification/machinelearningservices/AzureAI.Assets/tspconfig.yaml +++ b/specification/machinelearningservices/AzureAI.Assets/tspconfig.yaml @@ -7,6 +7,7 @@ options: "@azure-tools/typespec-autorest": emitter-output-dir: "{project-root}/.." azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/azure-ai-assets.json" examples-directory: "{project-root}/examples" "@azure-tools/typespec-python": diff --git a/specification/maps/data-plane/Route/preview/1.0/route.json b/specification/maps/data-plane/Route/preview/1.0/route.json index d3ba2bceb1ca..301fe9e9d10e 100644 --- a/specification/maps/data-plane/Route/preview/1.0/route.json +++ b/specification/maps/data-plane/Route/preview/1.0/route.json @@ -610,87 +610,91 @@ "name": "sectionType", "x-ms-client-name": "FilterSectionType", "in": "query", - "description": "Specifies which of the section types is reported in the route response.

For example if sectionType = pedestrian the sections which are suited for pedestrians only are returned. Multiple types can be used. The default sectionType refers to the travelMode input. By default travelMode is set to car", - "type": "string", - "enum": [ - "carTrain", - "country", - "ferry", - "motorway", - "pedestrian", - "tollRoad", - "tollVignette", - "traffic", - "travelMode", - "tunnel", - "carpool", - "urban" - ], - "x-ms-enum": { - "name": "SectionType", - "modelAsString": true, - "values": [ - { - "value": "carTrain", - "name": "CarOrTrain", - "description": "Sections of the route that are cars or trains." - }, - { - "value": "country", - "name": "Country", - "description": "Sections indicating which countries/regions the route is in." - }, - { - "value": "ferry", - "name": "Ferry", - "description": "Sections of the route that are ferries." - }, - { - "value": "motorway", - "name": "Motorway", - "description": "Sections of the route that are motorways." - }, - { - "value": "pedestrian", - "name": "Pedestrian", - "description": "Sections of the route that are only suited for pedestrians." - }, - { - "value": "tollRoad", - "name": "TollRoad", - "description": "Sections of the route that require a toll to be payed." - }, - { - "value": "tollVignette", - "name": "TollVignette", - "description": "Sections of the route that require a toll vignette to be present." - }, - { - "value": "traffic", - "name": "Traffic", - "description": "Sections of the route that contain traffic information." - }, - { - "value": "travelMode", - "name": "TravelMode", - "description": "Sections in relation to the request parameter `travelMode`." - }, - { - "value": "tunnel", - "name": "Tunnel", - "description": "Sections of the route that are tunnels." - }, - { - "value": "carpool", - "name": "Carpool", - "description": "Sections of the route that require use of carpool (HOV/High Occupancy Vehicle) lanes." - }, - { - "value": "urban", - "name": "Urban", - "description": "Sections of the route that are located within urban areas." - } - ] + "description": "Specifies which of the section types is reported in the route response.

For example if sectionType = pedestrian the sections which are suited for pedestrians only are returned. Can be specified multiple times in one request, for example, '§ionType=carTrain§ionType=pedestrian§ionType=motorway'. The default sectionType refers to the travelMode input. By default travelMode is set to car", + "type": "array", + "collectionFormat": "multi", + "items": { + "type": "string", + "enum": [ + "carTrain", + "country", + "ferry", + "motorway", + "pedestrian", + "tollRoad", + "tollVignette", + "traffic", + "travelMode", + "tunnel", + "carpool", + "urban" + ], + "x-ms-enum": { + "name": "SectionType", + "modelAsString": true, + "values": [ + { + "value": "carTrain", + "name": "CarOrTrain", + "description": "Sections of the route that are cars or trains." + }, + { + "value": "country", + "name": "Country", + "description": "Sections indicating which countries/regions the route is in." + }, + { + "value": "ferry", + "name": "Ferry", + "description": "Sections of the route that are ferries." + }, + { + "value": "motorway", + "name": "Motorway", + "description": "Sections of the route that are motorways." + }, + { + "value": "pedestrian", + "name": "Pedestrian", + "description": "Sections of the route that are only suited for pedestrians." + }, + { + "value": "tollRoad", + "name": "TollRoad", + "description": "Sections of the route that require a toll to be paid." + }, + { + "value": "tollVignette", + "name": "TollVignette", + "description": "Sections of the route that require a toll vignette to be present." + }, + { + "value": "traffic", + "name": "Traffic", + "description": "Sections of the route that contain traffic information." + }, + { + "value": "travelMode", + "name": "TravelMode", + "description": "Sections in relation to the request parameter `travelMode`." + }, + { + "value": "tunnel", + "name": "Tunnel", + "description": "Sections of the route that are tunnels." + }, + { + "value": "carpool", + "name": "Carpool", + "description": "Sections of the route that require use of carpool (HOV/High Occupancy Vehicle) lanes." + }, + { + "value": "urban", + "name": "Urban", + "description": "Sections of the route that are located within urban areas." + } + ] + } }, "x-ms-parameter-location": "method" }, @@ -706,7 +710,7 @@ "name": "routeRepresentation", "x-ms-client-name": "routeRepresentationForBestOrder", "in": "query", - "description": "Specifies the representation of the set of routes provided as response. This parameter value can only be used in conjunction with computeBestOrder=true.", + "description": "Specifies the representation of the set of routes provided as response.", "type": "string", "enum": [ "polyline", @@ -727,7 +731,7 @@ }, { "value": "none", - "description": "Includes only the optimized waypoint indices but does not include the route geometry in the response." + "description": "Includes only the optimized waypoint indices but does not include the route geometry in the response. This parameter value can only be used in conjunction with computeBestOrder=true." } ] }, @@ -824,7 +828,7 @@ "RouteInstructionsType": { "name": "instructionsType", "in": "query", - "description": "If specified, guidance instructions will be returned. Note that the instructionsType parameter cannot be used in conjunction with routeRepresentation=none", + "description": "If specified, guidance instructions will be returned. Note that the instructionsType parameter cannot be used in conjunction with routeRepresentation=none.", "type": "string", "enum": [ "coded", @@ -2213,7 +2217,8 @@ }, "roundaboutExitNumber": { "description": "This indicates which exit to take at a roundabout.", - "type": "string", + "type": "integer", + "format": "int64", "readOnly": true }, "possibleCombineWithNext": { diff --git a/specification/maps/data-plane/Weather/stable/1.1/weather.json b/specification/maps/data-plane/Weather/stable/1.1/weather.json index 8840792349e5..47d5ab673171 100644 --- a/specification/maps/data-plane/Weather/stable/1.1/weather.json +++ b/specification/maps/data-plane/Weather/stable/1.1/weather.json @@ -243,7 +243,7 @@ "name": "query", "in": "query", "x-ms-client-name": "coordinates", - "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".", + "description": "The applicable query specified as a comma separated string composed by latitude followed by longitude e.g. \"47.641268,-122.125679\".\n\nWeather information is generally available for locations on land, bodies of water surrounded by land, and areas of the ocean that are within approximately 50 nautical miles of a coastline.", "required": true, "x-ms-parameter-location": "method", "type": "array", diff --git a/specification/migrate/resource-manager/readme.md b/specification/migrate/resource-manager/readme.md index 975618cb5dd2..c0c31959e15f 100644 --- a/specification/migrate/resource-manager/readme.md +++ b/specification/migrate/resource-manager/readme.md @@ -318,6 +318,7 @@ This is not used by Autorest itself. swagger-to-sdk: - repo: azure-sdk-for-net-track2 - repo: azure-sdk-for-go + - repo: azure-sdk-for-python - repo: azure-sdk-for-js - repo: azure-sdk-for-node - repo: azure-resource-manager-schemas @@ -327,3 +328,7 @@ swagger-to-sdk: ## Go See configuration in [readme.go.md](./readme.go.md) + +## Python + +See configuration in [readme.python.md](./readme.python.md) diff --git a/specification/securitydevops/resource-manager/readme.python.md b/specification/migrate/resource-manager/readme.python.md similarity index 64% rename from specification/securitydevops/resource-manager/readme.python.md rename to specification/migrate/resource-manager/readme.python.md index c0dbbb97a487..8d7ab467a695 100644 --- a/specification/securitydevops/resource-manager/readme.python.md +++ b/specification/migrate/resource-manager/readme.python.md @@ -6,13 +6,18 @@ Please also specify `--python-sdks-folder=; /** Creates a new firewall rule or updates an existing firewall rule on a mongo cluster. */ + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST REMOVE AT NEXT API VERSION UPDATE" #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "Need to support existing 202 response for PUT operations" + @Azure.Core.useFinalStateVia("azure-async-operation") createOrUpdate is ArmResourceCreateOrReplaceAsync< FirewallRule, Response = ArmAcceptedLroResponse<"Resource operation accepted."> | ArmResourceUpdatedResponse | ArmResourceCreatedResponse< diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp b/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp index 2949ec5c2c85..e024ef88aa50 100644 --- a/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/MongoCluster.tsp @@ -26,7 +26,12 @@ interface MongoClusters { /** Gets information about a mongo cluster. */ get is ArmResourceRead; /** Create or update a mongo cluster. Update overwrites all properties for the resource. To only modify some of the properties, use PATCH. */ - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + MongoCluster, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** Updates an existing mongo cluster. The request body can contain one to many of the properties present in the normal mongo cluster definition. */ update is ArmResourcePatchAsync; /** Deletes a mongo cluster. */ diff --git a/specification/mongocluster/DocumentDB.MongoCluster.Management/PrivateEndpointConnection.tsp b/specification/mongocluster/DocumentDB.MongoCluster.Management/PrivateEndpointConnection.tsp index 42bdf34f97de..e7656b6c355c 100644 --- a/specification/mongocluster/DocumentDB.MongoCluster.Management/PrivateEndpointConnection.tsp +++ b/specification/mongocluster/DocumentDB.MongoCluster.Management/PrivateEndpointConnection.tsp @@ -17,7 +17,9 @@ interface PrivateEndpointConnections { /** Get a specific private connection */ get is ArmResourceRead; /** Create a Private endpoint connection */ + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST REMOVE AT NEXT API VERSION UPDATE" #suppress "@azure-tools/typespec-azure-resource-manager/arm-put-operation-response-codes" "Need to support existing 202 response for PUT operations" + @Azure.Core.useFinalStateVia("azure-async-operation") create is ArmResourceCreateOrReplaceAsync< PrivateEndpointConnectionResource, Response = ArmAcceptedLroResponse<"Resource operation accepted."> | ArmResourceUpdatedResponse | ArmResourceCreatedResponse< diff --git a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/mongoCluster.json b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/mongoCluster.json index 8926b7ebe439..ea08773fcbe3 100644 --- a/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/mongoCluster.json +++ b/specification/mongocluster/resource-manager/Microsoft.DocumentDB/preview/2024-03-01-preview/mongoCluster.json @@ -1119,21 +1119,6 @@ } }, "definitions": { - "Azure.ResourceManager.PrivateEndpointConnection": { - "type": "object", - "description": "The private endpoint connection resource", - "properties": { - "properties": { - "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnectionProperties", - "description": "The private endpoint connection properties" - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" - } - ] - }, "ConnectionString": { "type": "object", "description": "Connection string for the mongo cluster", @@ -1181,11 +1166,7 @@ "properties": { "$ref": "#/definitions/FirewallRuleProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1262,11 +1243,7 @@ "properties": { "$ref": "#/definitions/MongoClusterProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1373,7 +1350,7 @@ "type": "array", "description": "List of private endpoint connections.", "items": { - "$ref": "#/definitions/Azure.ResourceManager.PrivateEndpointConnection" + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" }, "readOnly": true } @@ -1578,11 +1555,7 @@ "properties": { "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnectionProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1619,11 +1592,7 @@ "properties": { "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateLinkResourceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/mongocluster/resource-manager/readme.typescript.md b/specification/mongocluster/resource-manager/readme.typescript.md index cef5b59af00e..230cd137c5c0 100644 --- a/specification/mongocluster/resource-manager/readme.typescript.md +++ b/specification/mongocluster/resource-manager/readme.typescript.md @@ -4,6 +4,8 @@ These settings apply only when `--typescript` is specified on the command line. Please also specify `--typescript-sdks-folder=`. ``` yaml $(typescript) +modelerfour: + flatten-models: false typescript: azure-arm: true package-name: "@azure/arm-mongocluster" diff --git a/specification/monitor/Microsoft.Monitor/typespec/azureMonitorWorkspace.tsp b/specification/monitor/Microsoft.Monitor/typespec/azureMonitorWorkspace.tsp index f394158e6235..d02420de7cfc 100644 --- a/specification/monitor/Microsoft.Monitor/typespec/azureMonitorWorkspace.tsp +++ b/specification/monitor/Microsoft.Monitor/typespec/azureMonitorWorkspace.tsp @@ -9,7 +9,6 @@ using TypeSpec.Rest; using TypeSpec.Versioning; using Azure.Core; using Azure.ResourceManager; -using Azure.ResourceManager.Private; using OpenAPI; namespace Microsoft.Monitor; @@ -88,8 +87,13 @@ union PublicNetworkAccess { interface AzureMonitorWorkspaces { @doc("Returns the specific Azure Monitor workspace") get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("Create or update a workspace") - createOrUpdate is ArmResourceCreateOrUpdateAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + AzureMonitorWorkspace, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("Updates part of a workspace") update is ArmResourcePatchSync< AzureMonitorWorkspace, diff --git a/specification/monitor/Microsoft.Monitor/typespec/pipelineGroup.tsp b/specification/monitor/Microsoft.Monitor/typespec/pipelineGroup.tsp index ff9e1df1fac4..0ceb17c19270 100644 --- a/specification/monitor/Microsoft.Monitor/typespec/pipelineGroup.tsp +++ b/specification/monitor/Microsoft.Monitor/typespec/pipelineGroup.tsp @@ -16,7 +16,6 @@ using TypeSpec.Rest; using TypeSpec.Versioning; using Azure.Core; using Azure.ResourceManager; -using Azure.ResourceManager.Private; using OpenAPI; namespace Microsoft.Monitor; @@ -246,8 +245,13 @@ interface PipelineGroups { @doc("Returns the specific pipeline group instance.") get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("Create or update a pipeline group instance.") - createOrUpdate is ArmResourceCreateOrUpdateAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + PipelineGroup, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("Delete a pipeline group instance.") delete is ArmResourceDeleteWithoutOkAsync; diff --git a/specification/monitor/Microsoft.Monitor/typespec/service.tsp b/specification/monitor/Microsoft.Monitor/typespec/service.tsp index 0cffc4c28b64..3313dfeee219 100644 --- a/specification/monitor/Microsoft.Monitor/typespec/service.tsp +++ b/specification/monitor/Microsoft.Monitor/typespec/service.tsp @@ -24,6 +24,7 @@ namespace Microsoft.Monitor; @doc("Microsoft.Monitor Versions") enum Versions { @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v4) @doc("API Version 2023-10-01-preview") `2023-10-01-preview`, } diff --git a/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json b/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json index c15f4d78e7d5..9692991c5239 100644 --- a/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json +++ b/specification/monitor/resource-manager/Microsoft.Monitor/preview/2023-10-01-preview/azuremonitor.json @@ -59,20 +59,20 @@ "description": "List the operations for the provider", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" } ], "responses": { "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/OperationListResult" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/OperationListResult" } }, "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" } } }, @@ -95,10 +95,10 @@ "description": "Lists all workspaces in the specified subscription", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -111,7 +111,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" } } }, @@ -134,10 +134,10 @@ "description": "Lists all workspaces in the specified subscription", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" } ], "responses": { @@ -150,7 +150,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" } } }, @@ -173,13 +173,13 @@ "description": "Lists all workspaces in the specified resource group", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -192,7 +192,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" } } }, @@ -215,13 +215,13 @@ "description": "Returns the specific Azure Monitor workspace", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "azureMonitorWorkspaceName", @@ -242,7 +242,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" } } }, @@ -260,13 +260,13 @@ "description": "Create or update a workspace", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "azureMonitorWorkspaceName", @@ -309,7 +309,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" } } }, @@ -331,13 +331,13 @@ "description": "Updates part of a workspace", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "azureMonitorWorkspaceName", @@ -367,7 +367,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" } } }, @@ -385,13 +385,13 @@ "description": "Delete a workspace", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "azureMonitorWorkspaceName", @@ -423,7 +423,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" } } }, @@ -447,13 +447,13 @@ "description": "Lists all workspaces in the specified resource group", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" } ], "responses": { @@ -466,7 +466,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" } } }, @@ -489,13 +489,13 @@ "description": "Returns the specific pipeline group instance.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "pipelineGroupName", @@ -516,7 +516,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" } } }, @@ -534,13 +534,13 @@ "description": "Create or update a pipeline group instance.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "pipelineGroupName", @@ -583,7 +583,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" } } }, @@ -614,13 +614,13 @@ "description": "Updates a pipeline group instance", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "pipelineGroupName", @@ -664,7 +664,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" } } }, @@ -686,13 +686,13 @@ "description": "Delete a pipeline group instance.", "parameters": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ApiVersionParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ApiVersionParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/SubscriptionIdParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/SubscriptionIdParameter" }, { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/parameters/ResourceGroupNameParameter" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/parameters/ResourceGroupNameParameter" }, { "name": "pipelineGroupName", @@ -724,7 +724,7 @@ "default": { "description": "An unexpected error response.", "schema": { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ErrorResponse" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/ErrorResponse" } } }, @@ -741,21 +741,6 @@ } }, "definitions": { - "Azure.ResourceManager.PrivateEndpointConnection": { - "type": "object", - "description": "The private endpoint connection resource", - "properties": { - "properties": { - "$ref": "../../../../../common-types/resource-management/v4/privatelinks.json#/definitions/PrivateEndpointConnectionProperties", - "description": "The private endpoint connection properties" - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/ProxyResource" - } - ] - }, "AzureMonitorWorkspace": { "type": "object", "description": "An Azure Monitor Workspace definition.", @@ -763,16 +748,12 @@ "properties": { "$ref": "#/definitions/AzureMonitorWorkspaceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/TrackedResource" } ] }, @@ -871,7 +852,7 @@ "type": "array", "description": "List of private endpoint connections.", "items": { - "$ref": "#/definitions/Azure.ResourceManager.PrivateEndpointConnection" + "$ref": "../../../../../common-types/resource-management/v4/privatelinks.json#/definitions/PrivateEndpointConnection" }, "readOnly": true }, @@ -1254,11 +1235,7 @@ "properties": { "$ref": "#/definitions/PipelineGroupProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -1271,7 +1248,7 @@ }, "allOf": [ { - "$ref": "../../../../../common-types/resource-management/v3/types.json#/definitions/TrackedResource" + "$ref": "../../../../../common-types/resource-management/v4/types.json#/definitions/TrackedResource" } ] }, diff --git a/specification/mpcnetworkfunction/MpcNetworkFunction.Management/networkfunction.tsp b/specification/mpcnetworkfunction/MpcNetworkFunction.Management/networkfunction.tsp index ce9e0924f4f9..f320daa93bc3 100644 --- a/specification/mpcnetworkfunction/MpcNetworkFunction.Management/networkfunction.tsp +++ b/specification/mpcnetworkfunction/MpcNetworkFunction.Management/networkfunction.tsp @@ -57,7 +57,12 @@ model NetworkFunctionResourceProperties { @armResourceOperations(NetworkFunctionResource) interface NetworkFunctions { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + NetworkFunctionResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; updateTags is ArmTagsPatchSync; delete is ArmResourceDeleteSync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/mpcnetworkfunction/resource-manager/Microsoft.MobilePacketCore/preview/2023-05-15-preview/networkfunction.json b/specification/mpcnetworkfunction/resource-manager/Microsoft.MobilePacketCore/preview/2023-05-15-preview/networkfunction.json index 152b307e1d96..2c32de60fddc 100644 --- a/specification/mpcnetworkfunction/resource-manager/Microsoft.MobilePacketCore/preview/2023-05-15-preview/networkfunction.json +++ b/specification/mpcnetworkfunction/resource-manager/Microsoft.MobilePacketCore/preview/2023-05-15-preview/networkfunction.json @@ -458,11 +458,7 @@ "properties": { "$ref": "#/definitions/NetworkFunctionResourceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/AzureADAdministrator.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/AzureADAdministrator.json new file mode 100644 index 000000000000..22ae2ba6da1f --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/AzureADAdministrator.json @@ -0,0 +1,325 @@ +{ + "swagger": "2.0", + "info": { + "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.", + "version": "2023-12-30" + }, + "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}/administrators/{administratorName}": { + "put": { + "tags": [ + "AzureADAdministrators" + ], + "operationId": "AzureADAdministrators_CreateOrUpdate", + "x-ms-examples": { + "Create an azure ad administrator": { + "$ref": "./examples/AzureADAdministratorCreate.json" + } + }, + "description": "Creates or updates an existing Azure Active Directory administrator.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/AdministratorNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AzureADAdministrator" + }, + "description": "The required parameters for creating or updating an aad administrator." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureADAdministrator" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/AzureADAdministrator" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "AzureADAdministrators" + ], + "operationId": "AzureADAdministrators_Delete", + "x-ms-examples": { + "Delete an azure ad administrator": { + "$ref": "./examples/AzureADAdministratorDelete.json" + } + }, + "description": "Deletes an Azure AD Administrator.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/AdministratorNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "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": [ + "AzureADAdministrators" + ], + "operationId": "AzureADAdministrators_Get", + "x-ms-examples": { + "Get an azure ad administrator": { + "$ref": "./examples/AzureADAdministratorGet.json" + } + }, + "description": "Gets information about an azure ad administrator.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/AdministratorNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AzureADAdministrator" + } + }, + "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.DBforMySQL/flexibleServers/{serverName}/administrators": { + "get": { + "tags": [ + "AzureADAdministrators" + ], + "operationId": "AzureADAdministrators_ListByServer", + "x-ms-examples": { + "List Azure AD administrators in a server": { + "$ref": "./examples/AzureADAdministratorsListByServer.json" + } + }, + "description": "List all the AAD administrators in a given server.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AdministratorListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "AdministratorProperties": { + "type": "object", + "properties": { + "administratorType": { + "type": "string", + "description": "Type of the sever administrator.", + "enum": [ + "ActiveDirectory" + ], + "x-ms-enum": { + "name": "AdministratorType", + "modelAsString": true + } + }, + "login": { + "type": "string", + "description": "Login name of the server administrator." + }, + "sid": { + "type": "string", + "description": "SID (object ID) of the server administrator." + }, + "tenantId": { + "type": "string", + "description": "Tenant ID of the administrator." + }, + "identityResourceId": { + "type": "string", + "description": "The resource id of the identity used for AAD Authentication." + } + }, + "description": "The properties of an administrator." + }, + "AzureADAdministrator": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/AdministratorProperties", + "x-ms-client-flatten": true, + "description": "The properties of an administrator." + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "description": "Represents a Administrator." + }, + "AdministratorListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/AzureADAdministrator" + }, + "description": "The list of azure ad administrator of a server" + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A List of azure ad administrators." + } + }, + "parameters": { + "AdministratorNameParameter": { + "name": "administratorName", + "in": "path", + "required": true, + "type": "string", + "enum": [ + "ActiveDirectory" + ], + "x-ms-enum": { + "name": "AdministratorName", + "modelAsString": true + }, + "description": "The name of the Azure AD Administrator.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/examples/AzureADAdministratorCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/examples/AzureADAdministratorCreate.json new file mode 100644 index 000000000000..28a33c0f1b55 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/examples/AzureADAdministratorCreate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "mysqltestsvc4", + "administratorName": "ActiveDirectory", + "api-version": "2023-12-30", + "parameters": { + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "tenantId": "c12b7025-bfe2-46c1-b463-993b5e4cd467", + "identityResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/test-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-umi" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4/administrators/ActiveDirectory", + "name": "ActiveDirectory", + "type": "Microsoft.DBforMySQL/flexibleServers/administrators", + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "tenantId": "c12b7025-bfe2-46c1-b463-993b5e4cd467", + "identityResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/test-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-umi" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4/administrators/ActiveDirectory", + "name": "ActiveDirectory", + "type": "Microsoft.DBforMySQL/flexibleServers/administrators", + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "tenantId": "c12b7025-bfe2-46c1-b463-993b5e4cd467", + "identityResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/test-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-umi" + } + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/examples/AzureADAdministratorDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/examples/AzureADAdministratorDelete.json new file mode 100644 index 000000000000..eead4ea6971a --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/examples/AzureADAdministratorDelete.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "mysqltestsvc4", + "administratorName": "ActiveDirectory", + "api-version": "2023-12-30" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-12-30", + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-12-30" + } + }, + "204": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-12-30", + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-12-30" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/examples/AzureADAdministratorGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/examples/AzureADAdministratorGet.json new file mode 100644 index 000000000000..26056a05b5b5 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/examples/AzureADAdministratorGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "mysqltestsvc4", + "administratorName": "ActiveDirectory", + "api-version": "2023-12-30" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4/administrators/ActiveDirectory", + "name": "ActiveDirectory", + "type": "Microsoft.DBforMySQL/flexibleServers/administrators", + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "tenantId": "c12b7025-bfe2-46c1-b463-993b5e4cd467", + "identityResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/test-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-umi" + } + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/examples/AzureADAdministratorsListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/examples/AzureADAdministratorsListByServer.json new file mode 100644 index 000000000000..b3a2b45b15ee --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-12-30/examples/AzureADAdministratorsListByServer.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "resourceGroupName": "testrg", + "serverName": "mysqltestsvc4", + "api-version": "2023-12-30" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestsvc4/administrators/ActiveDirectory", + "name": "ActiveDirectory", + "type": "Microsoft.DBforMySQL/flexibleServers/administrators", + "properties": { + "administratorType": "ActiveDirectory", + "login": "bob@contoso.com", + "sid": "c6b82b90-a647-49cb-8a62-0d2d3cb7ac7c", + "tenantId": "c12b7025-bfe2-46c1-b463-993b5e4cd467", + "identityResourceId": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/test-group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-umi" + } + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/BackupAndExport.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/BackupAndExport.json new file mode 100644 index 000000000000..d6fdc32b708d --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/BackupAndExport.json @@ -0,0 +1,361 @@ +{ + "swagger": "2.0", + "consumes": [ + "application/json" + ], + "host": "management.azure.com", + "info": { + "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.", + "version": "2023-12-30" + }, + "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}/backupAndExport": { + "post": { + "tags": [ + "BackupAndExport" + ], + "operationId": "BackupAndExport_Create", + "x-ms-examples": { + "Create and Export Backup": { + "$ref": "./examples/BackupAndExport.json" + } + }, + "description": "Exports the backup of the given server by creating a backup if not existing.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BackupAndExportRequest" + }, + "description": "The required parameters for creating and exporting backup of the given server." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/BackupAndExportResponse" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to retrieve the final result after operation completes.", + "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": "../../../../../../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.DBforMySQL/flexibleServers/{serverName}/validateBackup": { + "post": { + "tags": [ + "BackupAndExport" + ], + "operationId": "BackupAndExport_ValidateBackup", + "x-ms-examples": { + "Validate Backup": { + "$ref": "./examples/ValidateBackup.json" + } + }, + "description": "Validates if backup can be performed for given server.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ValidateBackupResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + } + }, + "definitions": { + "BackupRequestBase": { + "description": "BackupRequestBase is the base for all backup request.", + "required": [ + "backupSettings" + ], + "type": "object", + "properties": { + "backupSettings": { + "$ref": "#/definitions/BackupSettings", + "description": "Backup Settings" + } + } + }, + "BackupAndExportRequest": { + "description": "BackupAndExport API Request", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/BackupRequestBase" + } + ], + "required": [ + "backupSettings", + "targetDetails" + ], + "properties": { + "targetDetails": { + "$ref": "#/definitions/BackupStoreDetails", + "description": "Backup Target Store Details" + } + } + }, + "BackupStoreDetails": { + "description": "Details about the target where the backup content will be stored.", + "required": [ + "objectType" + ], + "type": "object", + "properties": { + "objectType": { + "description": "Type of the specific object - used for deserializing", + "type": "string" + } + }, + "discriminator": "objectType" + }, + "FullBackupStoreDetails": { + "description": "FullBackupStoreDetails is used for scenarios where backup data is streamed/copied over to a storage destination.", + "type": "object", + "required": [ + "sasUriList" + ], + "allOf": [ + { + "$ref": "#/definitions/BackupStoreDetails" + } + ], + "properties": { + "sasUriList": { + "description": "SASUriList of storage containers where backup data is to be streamed/copied.", + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "BackupSettings": { + "description": "Backup Settings", + "type": "object", + "required": [ + "backupName" + ], + "properties": { + "backupName": { + "$ref": "../../../common-types/v1/common-types.json#/definitions/BackupName" + }, + "backupFormat": { + "description": "Backup Format for the current backup. (CollatedFormat is INTERNAL – DO NOT USE)", + "enum": [ + "CollatedFormat", + "Raw" + ], + "type": "string", + "x-ms-enum": { + "name": "BackupFormat", + "modelAsString": true + } + } + } + }, + "ValidateBackupResponseProperties": { + "description": "ValidateBackup Response Properties", + "type": "object", + "properties": { + "numberOfContainers": { + "format": "int32", + "description": "Estimated no of storage containers required for resource data to be backed up.", + "type": "integer" + } + } + }, + "BackupAndExportResponseProperties": { + "description": "BackupAndExport Response Properties", + "type": "object", + "properties": { + "datasourceSizeInBytes": { + "format": "int64", + "description": "Size of datasource in bytes", + "type": "integer" + }, + "dataTransferredInBytes": { + "format": "int64", + "description": "Data transferred in bytes", + "type": "integer" + }, + "backupMetadata": { + "description": "Metadata related to backup to be stored for restoring resource in key-value pairs.", + "type": "string" + } + } + }, + "BackupAndExportResponse": { + "type": "object", + "properties": { + "status": { + "description": "The operation status", + "type": "string", + "enum": [ + "Pending", + "InProgress", + "Succeeded", + "Failed", + "CancelInProgress", + "Canceled" + ], + "x-ms-enum": { + "name": "OperationStatus", + "modelAsString": false, + "values": [ + { + "value": "Pending", + "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": "CancelInProgress", + "description": "The cancellation in progress" + }, + { + "value": "Canceled", + "description": "The operation has been Canceled" + } + ] + } + }, + "startTime": { + "description": "Start time", + "type": "string", + "format": "date-time" + }, + "endTime": { + "description": "End time", + "type": "string", + "format": "date-time" + }, + "percentComplete": { + "description": "Operation progress (0-100).", + "type": "number", + "format": "double", + "minimum": 0, + "maximum": 100 + }, + "properties": { + "$ref": "#/definitions/BackupAndExportResponseProperties", + "x-ms-client-flatten": true, + "description": "The response properties of a backup and export operation." + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + ], + "description": "Represents BackupAndExport API Response" + }, + "ValidateBackupResponse": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ValidateBackupResponseProperties", + "x-ms-client-flatten": true, + "description": "The response properties of a pre backup operation." + } + }, + "description": "Represents ValidateBackup API Response" + } + }, + "produces": [ + "application/json" + ], + "schemes": [ + "https" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/Backups.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/Backups.json new file mode 100644 index 000000000000..7ac65cbf406b --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/Backups.json @@ -0,0 +1,236 @@ +{ + "swagger": "2.0", + "info": { + "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.", + "version": "2023-12-30" + }, + "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}/backups/{backupName}": { + "put": { + "tags": [ + "Backups" + ], + "operationId": "Backups_Put", + "x-ms-examples": { + "Create backup for a server": { + "$ref": "./examples/BackupPut.json" + } + }, + "description": "Create backup for a given server with specified backup name.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/BackupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerBackup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + }, + "get": { + "tags": [ + "Backups" + ], + "operationId": "Backups_Get", + "x-ms-examples": { + "Get a backup for a server": { + "$ref": "./examples/BackupGet.json" + } + }, + "description": "List all the backups for a given server.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/BackupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerBackup" + } + }, + "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.DBforMySQL/flexibleServers/{serverName}/backups": { + "get": { + "tags": [ + "Backups" + ], + "operationId": "Backups_ListByServer", + "x-ms-examples": { + "List backups for a server": { + "$ref": "./examples/BackupsListByServer.json" + } + }, + "description": "List all the backups for a given server.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerBackupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ServerBackupProperties": { + "type": "object", + "properties": { + "backupType": { + "type": "string", + "description": "Backup type." + }, + "completedTime": { + "type": "string", + "format": "date-time", + "description": "Backup completed time (ISO8601 format)." + }, + "source": { + "type": "string", + "description": "Backup source" + } + }, + "description": "The properties of a server backup." + }, + "ServerBackup": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ServerBackupProperties", + "x-ms-client-flatten": true, + "description": "The properties of a server backup." + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "description": "Server backup properties" + }, + "ServerBackupListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerBackup" + }, + "description": "The list of backups of a server." + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A list of server backups." + } + }, + "parameters": { + "BackupNameParameter": { + "name": "backupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the backup.", + "x-ms-parameter-location": "method", + "pattern": "^[-\\w\\._]+$" + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/LongRunningBackups.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/LongRunningBackups.json new file mode 100644 index 000000000000..ebb3a317ef7a --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/LongRunningBackups.json @@ -0,0 +1,323 @@ +{ + "swagger": "2.0", + "info": { + "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.", + "version": "2023-12-30" + }, + "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}/backupsV2/{backupName}": { + "put": { + "tags": [ + "backupsV2" + ], + "operationId": "LongRunningBackup_Create", + "x-ms-examples": { + "Create backup for a server": { + "$ref": "./examples/LongRunningBackup.json" + } + }, + "description": "Create backup for a given server with specified backup name.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/BackupNameParameter" + }, + { + "name": "parameters", + "in": "body", + "schema": { + "$ref": "#/definitions/ServerBackupV2" + }, + "description": "The required parameters for creating and exporting backup of the given server." + } + ], + "responses": { + "200": { + "description": "Successfully backup.", + "schema": { + "$ref": "#/definitions/ServerBackupV2" + } + }, + "201": { + "description": "Successfully backup.", + "schema": { + "$ref": "#/definitions/ServerBackupV2" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "description": "URL to retrieve the final result after operation completes.", + "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": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "backupsV2" + ], + "operationId": "LongRunningBackups_Get", + "x-ms-examples": { + "Get a backup for a server": { + "$ref": "./examples/LongRunningBackupGet.json" + } + }, + "description": "Get backup for a given server.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/BackupNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerBackupV2" + } + }, + "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.DBforMySQL/flexibleServers/{serverName}/backupsV2": { + "get": { + "tags": [ + "backupsV2" + ], + "operationId": "LongRunningBackups_List", + "x-ms-examples": { + "List backups for a server": { + "$ref": "./examples/LongRunningBackupsListByServer.json" + } + }, + "description": "List all the backups for a given server.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ServerBackupV2ListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ProvisioningState": { + "type": "string", + "readOnly": true, + "description": "The current provisioning state.", + "enum": [ + "Succeeded", + "Creating", + "Deleting", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "provisioningStateProperties": { + "type": "object", + "properties": { + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioning state of backup resource." + } + }, + "description": "The properties of a server backup." + }, + "ServerBackupPropertiesV2": { + "type": "object", + "properties": { + "backupNameV2": { + "type": "string", + "description": "Backup name" + }, + "backupType": { + "type": "string", + "enum": [ + "FULL" + ], + "x-ms-enum": { + "name": "backupType", + "modelAsString": true + } + }, + "completedTime": { + "type": "string", + "format": "date-time", + "description": "Backup completed time (ISO8601 format)." + }, + "source": { + "type": "string", + "description": "Backup source" + }, + "provisioningState": { + "$ref": "#/definitions/ProvisioningState", + "description": "The provisioning state of backup resource." + } + }, + "description": "The properties of a server backup." + }, + "ServerBackupV2": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ServerBackupPropertiesV2", + "x-ms-client-flatten": true, + "description": "The properties of a server backup." + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "description": "Server backup properties" + }, + "Provisioning": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/provisioningStateProperties", + "x-ms-client-flatten": true, + "description": "The properties of provisioning." + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "description": "Server backup properties" + }, + "ServerBackupV2ListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ServerBackupV2" + }, + "description": "The list of backups of a server." + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A list of server backups." + } + }, + "parameters": { + "BackupNameParameter": { + "name": "backupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the backup.", + "x-ms-parameter-location": "method", + "pattern": "^[-\\w\\._]+$" + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/BackupAndExport.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/BackupAndExport.json new file mode 100644 index 000000000000..55e56836bd39 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/BackupAndExport.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2023-12-30", + "serverName": "mysqltestserver", + "resourceGroupName": "TestGroup", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "targetDetails": { + "objectType": "FullBackupStoreDetails", + "sasUriList": [ + "sasuri1", + "sasuri2" + ] + }, + "backupSettings": { + "backupName": "customer-backup-name" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/cb9d743d-2140-4e73-b871-cd31abab1d2f/resourceGroups/mrgsumitkumatest1/providers/Microsoft.DBforMySQL/flexibleServers/servermysql-01/backupAndExport/custom-backup101", + "name": "custom-backup101", + "type": "Microsoft.DBforMySQL/flexibleServers/backupAndExport", + "status": "Failed", + "startTime": "2022-12-29T07:34:02.328326Z", + "endTime": "2022-12-29T07:37:05.6406008Z", + "percentComplete": 100, + "properties": { + "datasourceSizeInBytes": 1024, + "dataTransferredInBytes": 1024, + "backupMetadata": "{\"key1\":\"value1\",\"key2\":\"value2\"}" + }, + "error": { + "code": "AggregateException", + "message": "System.AggregateException: One or more errors occurred. (Mismatch in count of number of Commited-Blocks from service.)" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/BackupGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/BackupGet.json new file mode 100644 index 000000000000..11e97d5e876a --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/BackupGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "backupName": "daily_20210615T160516", + "serverName": "mysqltestserver", + "resourceGroupName": "TestGroup", + "api-version": "2023-12-30", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2021-06-15T16:05:19.902522+00:00" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backups/daily_20210615T160516", + "name": "daily_20210615T160516", + "type": "Microsoft.DBforMySQL/flexibleServers/backups" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/BackupPut.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/BackupPut.json new file mode 100644 index 000000000000..90b443700ef8 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/BackupPut.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "backupName": "mybackup", + "serverName": "mysqltestserver", + "resourceGroupName": "TestGroup", + "api-version": "2023-12-30", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2022-05-07T07:38:01.1498043+00:00" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backups/customer_20220507t073755_bb392c3b-17c6-4d3f-9742-8479ca87b3ac_mybackup", + "name": "customer_20220507t073755_bb392c3b-17c6-4d3f-9742-8479ca87b3ac_mybackup", + "type": "Microsoft.DBforMySQL/flexibleServers/backups" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/BackupsListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/BackupsListByServer.json new file mode 100644 index 000000000000..967776dc4364 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/BackupsListByServer.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "serverName": "mysqltestserver", + "resourceGroupName": "TestGroup", + "api-version": "2023-12-30", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2021-06-15T16:05:19.902522+00:00" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backups/daily_20210615T160516", + "name": "daily_20210615T160516", + "type": "Microsoft.DBforMySQL/flexibleServers/backups" + }, + { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2021-06-16T16:05:23.9243453+00:00" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backups/daily_20210616T160520", + "name": "daily_20210616T160520", + "type": "Microsoft.DBforMySQL/flexibleServers/backups" + }, + { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2021-06-17T16:05:28.1247488+00:00" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backups/daily_20210617T160525", + "name": "daily_20210617T160525", + "type": "Microsoft.DBforMySQL/flexibleServers/backups" + }, + { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2021-06-18T16:05:32.2736701+00:00" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backups/daily_20210618T160529", + "name": "daily_20210618T160529", + "type": "Microsoft.DBforMySQL/flexibleServers/backups" + }, + { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2021-06-19T16:05:36.8603354+00:00" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backups/daily_20210619T160533", + "name": "daily_20210619T160533", + "type": "Microsoft.DBforMySQL/flexibleServers/backups" + }, + { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2021-06-20T16:05:41.9200138+00:00" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backups/daily_20210620T160538", + "name": "daily_20210620T160538", + "type": "Microsoft.DBforMySQL/flexibleServers/backups" + }, + { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2021-06-21T16:05:48.8528447+00:00" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backups/daily_20210621T160543", + "name": "daily_20210621T160543", + "type": "Microsoft.DBforMySQL/flexibleServers/backups" + }, + { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2021-06-22T16:08:06.3121688+00:00" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backups/daily_20210622T160803", + "name": "daily_20210622T160803", + "type": "Microsoft.DBforMySQL/flexibleServers/backups" + }, + { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2021-06-22T21:08:10.5057354+00:00" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backups/daily_20210622T210807", + "name": "daily_20210622T210807", + "type": "Microsoft.DBforMySQL/flexibleServers/backups" + }, + { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2021-06-23T21:24:16.9401531+00:00" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backups/daily_20210623T212413", + "name": "daily_20210623T212413", + "type": "Microsoft.DBforMySQL/flexibleServers/backups" + }, + { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2021-06-24T06:13:31.4962137+00:00" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backups/daily_20210624T061328", + "name": "daily_20210624T061328", + "type": "Microsoft.DBforMySQL/flexibleServers/backups" + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/LongRunningBackup.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/LongRunningBackup.json new file mode 100644 index 000000000000..63e1a01d63b7 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/LongRunningBackup.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "serverName": "mysqltestserver", + "resourceGroupName": "TestGroup", + "api-version": "2023-12-30", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "backupName": "testback" + }, + "responses": { + "200": { + "body": { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2022-05-07T07:38:01.1498043+00:00", + "provisioningState": "Ready" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backupsV2/customer_20220507t073755_bb392c3b-17c6-4d3f-9742-8479ca87b3ac_mybackup", + "name": "customer_20220507t073755_bb392c3b-17c6-4d3f-9742-8479ca87b3ac_mybackup", + "type": "Microsoft.DBforMySQL/flexibleServers/backups" + } + }, + "201": { + "body": { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2022-05-07T07:38:01.1498043+00:00", + "provisioningState": "Ready" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backupsV2/customer_20220507t073755_bb392c3b-17c6-4d3f-9742-8479ca87b3ac_mybackup", + "name": "customer_20220507t073755_bb392c3b-17c6-4d3f-9742-8479ca87b3ac_mybackup", + "type": "Microsoft.DBforMySQL/flexibleServers/backups" + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationStatus/00000000-0000-0000-0000-000000000000?api-version=2023-06-01-preview" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/LongRunningBackupGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/LongRunningBackupGet.json new file mode 100644 index 000000000000..070f009ab376 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/LongRunningBackupGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "backupName": "daily_20210615T160516", + "serverName": "mysqltestserver", + "resourceGroupName": "TestGroup", + "api-version": "2023-12-30", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2021-06-15T16:05:19.902522+00:00", + "provisioningState": "Ready" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backupsV2/daily_20210615T160516", + "name": "daily_20210615T160516", + "type": "Microsoft.DBforMySQL/flexibleServers/backupsV2" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/LongRunningBackupsListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/LongRunningBackupsListByServer.json new file mode 100644 index 000000000000..1baa3e579276 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/LongRunningBackupsListByServer.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "serverName": "mysqltestserver", + "resourceGroupName": "TestGroup", + "api-version": "2023-12-30", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "backupType": "FULL", + "source": "Automatic", + "completedTime": "2021-06-15T16:05:19.902522+00:00", + "provisioningState": "Ready" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/backupsV2/daily_20210615T160516", + "name": "daily_20210615T160516", + "type": "Microsoft.DBforMySQL/flexibleServers/backupsV2" + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/ValidateBackup.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/ValidateBackup.json new file mode 100644 index 000000000000..d929d4d78c2d --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Backups/stable/2023-12-30/examples/ValidateBackup.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2023-12-30", + "serverName": "mysqltestserver", + "resourceGroupName": "TestGroup", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "properties": { + "numberOfContainers": 1 + } + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/Configurations.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/Configurations.json new file mode 100644 index 000000000000..233c5973cbea --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/Configurations.json @@ -0,0 +1,535 @@ +{ + "swagger": "2.0", + "info": { + "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.", + "version": "2023-12-30" + }, + "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}/configurations/{configurationName}": { + "put": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_CreateOrUpdate", + "x-ms-examples": { + "ConfigurationCreateOrUpdate": { + "$ref": "./examples/ConfigurationCreateOrUpdate.json" + } + }, + "description": "Updates a configuration of a server.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Configuration" + }, + "description": "The required parameters for updating a server configuration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "202": { + "description": "Accepted", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_Update", + "x-ms-examples": { + "Update a user configuration": { + "$ref": "./examples/ConfigurationUpdate.json" + } + }, + "description": "Updates a configuration of a server.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Configuration" + }, + "description": "The required parameters for updating a server configuration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "get": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_Get", + "x-ms-examples": { + "Get a configuration": { + "$ref": "./examples/ConfigurationGet.json" + } + }, + "description": "Gets information about a configuration of server.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Configuration" + } + }, + "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.DBforMySQL/flexibleServers/{serverName}/updateConfigurations": { + "post": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_BatchUpdate", + "x-ms-examples": { + "ConfigurationList": { + "$ref": "./examples/ConfigurationsBatchUpdate.json" + } + }, + "description": "Update a list of configurations in a given server.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConfigurationListForBatchUpdate" + }, + "description": "The parameters for updating a list of server configuration." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationListResult" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations": { + "get": { + "tags": [ + "Configurations" + ], + "operationId": "Configurations_ListByServer", + "x-ms-examples": { + "List all configurations for a server": { + "$ref": "./examples/ConfigurationsListByServer.json" + } + }, + "description": "List all the configurations in a given server.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/ConfigurationTagsParameter" + }, + { + "$ref": "#/parameters/ConfigurationKeywordParameter" + }, + { + "$ref": "#/parameters/ConfigurationPageParameter" + }, + { + "$ref": "#/parameters/ConfigurationPageSizeParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/ConfigurationListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "ConfigurationProperties": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Value of the configuration." + }, + "currentValue": { + "type": "string", + "description": "Current value of the configuration." + }, + "description": { + "type": "string", + "readOnly": true, + "description": "Description of the configuration." + }, + "documentationLink": { + "type": "string", + "readOnly": true, + "description": "The link used to get the document from community or Azure site." + }, + "defaultValue": { + "type": "string", + "readOnly": true, + "description": "Default value of the configuration." + }, + "dataType": { + "type": "string", + "readOnly": true, + "description": "Data type of the configuration." + }, + "allowedValues": { + "type": "string", + "readOnly": true, + "description": "Allowed values of the configuration." + }, + "source": { + "type": "string", + "description": "Source of the configuration.", + "enum": [ + "system-default", + "user-override" + ], + "x-ms-enum": { + "name": "ConfigurationSource", + "modelAsString": true + } + }, + "isReadOnly": { + "type": "string", + "readOnly": true, + "description": "If is the configuration read only.", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "name": "IsReadOnly", + "modelAsString": true + } + }, + "isConfigPendingRestart": { + "type": "string", + "readOnly": true, + "description": "If is the configuration pending restart or not.", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "name": "IsConfigPendingRestart", + "modelAsString": true + } + }, + "isDynamicConfig": { + "type": "string", + "readOnly": true, + "description": "If is the configuration dynamic.", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "name": "IsDynamicConfig", + "modelAsString": true + } + } + }, + "description": "The properties of a configuration." + }, + "Configuration": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/ConfigurationProperties", + "x-ms-client-flatten": true, + "description": "The properties of a configuration." + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "description": "Represents a Configuration." + }, + "ConfigurationListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Configuration" + }, + "description": "The list of server configurations." + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A list of server configurations." + }, + "ConfigurationForBatchUpdate": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "Name of the configuration." + }, + "properties": { + "type": "object", + "properties": { + "value": { + "type": "string", + "description": "Value of the configuration." + }, + "source": { + "type": "string", + "description": "Source of the configuration." + } + }, + "x-ms-client-flatten": true, + "description": "The properties can be updated for a configuration." + } + }, + "description": "Represents a Configuration." + }, + "ConfigurationListForBatchUpdate": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ConfigurationForBatchUpdate" + }, + "x-ms-identifiers": [], + "description": "The list of server configurations." + }, + "resetAllToDefault": { + "type": "string", + "description": "Whether to reset all server parameters to default.", + "enum": [ + "True", + "False" + ], + "x-ms-enum": { + "name": "ResetAllToDefault", + "modelAsString": true + } + } + }, + "description": "A list of server configurations to update." + } + }, + "parameters": { + "ConfigurationNameParameter": { + "name": "configurationName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server configuration.", + "x-ms-parameter-location": "method" + }, + "ConfigurationTagsParameter": { + "name": "tags", + "in": "query", + "required": false, + "type": "string", + "description": "The tags of the server configuration.", + "x-ms-parameter-location": "method" + }, + "ConfigurationKeywordParameter": { + "name": "keyword", + "in": "query", + "required": false, + "type": "string", + "description": "The keyword of the server configuration.", + "x-ms-parameter-location": "method" + }, + "ConfigurationPageParameter": { + "name": "page", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The page of the server configuration.", + "x-ms-parameter-location": "method" + }, + "ConfigurationPageSizeParameter": { + "name": "pageSize", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The pageSize of the server configuration.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/examples/ConfigurationCreateOrUpdate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/examples/ConfigurationCreateOrUpdate.json new file mode 100644 index 000000000000..0c024eec69cb --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/examples/ConfigurationCreateOrUpdate.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "configurationName": "event_scheduler", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2023-12-30", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "value": "off", + "source": "user-override" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "value": "ON", + "description": "Indicates the status of the Event Scheduler.", + "defaultValue": "OFF", + "dataType": "Enumeration", + "allowedValues": "ON,OFF,DISABLED", + "source": "user-override" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/servers/testserver/configurations/event_scheduler", + "name": "event_scheduler", + "type": "Microsoft.DBforMySQL/servers/configurations" + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/examples/ConfigurationGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/examples/ConfigurationGet.json new file mode 100644 index 000000000000..47a3f283d895 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/examples/ConfigurationGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "configurationName": "event_scheduler", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2023-12-30", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "properties": { + "value": "OFF", + "description": "Indicates the status of the Event Scheduler. It is always OFF for a replica server to keep the replication consistency.", + "defaultValue": "OFF", + "dataType": "Enumeration", + "allowedValues": "ON,OFF", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True", + "isReadOnly": "False" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/configurations/event_scheduler", + "name": "event_scheduler", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/examples/ConfigurationUpdate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/examples/ConfigurationUpdate.json new file mode 100644 index 000000000000..a58b78d4cd38 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/examples/ConfigurationUpdate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "serverName": "testserver", + "configurationName": "event_scheduler", + "resourceGroupName": "testrg", + "api-version": "2023-12-30", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "value": "on", + "source": "user-override" + } + } + }, + "responses": { + "200": { + "body": { + "properties": { + "value": "ON", + "description": "Indicates the status of the Event Scheduler. It is always OFF for a replica server to keep the replication consistency.", + "defaultValue": "OFF", + "dataType": "Enumeration", + "allowedValues": "ON,OFF", + "source": "user-override", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True", + "isReadOnly": "False" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/configurations/event_scheduler", + "name": "event_scheduler", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-12-30", + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-12-30" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/examples/ConfigurationsBatchUpdate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/examples/ConfigurationsBatchUpdate.json new file mode 100644 index 000000000000..89029817bb12 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/examples/ConfigurationsBatchUpdate.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "serverName": "mysqltestserver", + "resourceGroupName": "testrg", + "api-version": "2023-12-30", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "value": [ + { + "name": "event_scheduler", + "properties": { + "value": "OFF" + } + }, + { + "name": "div_precision_increment", + "properties": { + "value": "8" + } + } + ], + "resetAllToDefault": "False" + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "value": "ON", + "description": "Indicates the status of the Event Scheduler. It is always OFF for a replica server to keep the replication consistency.", + "defaultValue": "OFF", + "dataType": "Enumeration", + "allowedValues": "ON,OFF", + "source": "user-override", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True", + "isReadOnly": "False" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/configurations/event_scheduler", + "name": "event_scheduler", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "8", + "description": "Number of digits by which to increase the scale of the result of division operations.", + "defaultValue": "4", + "dataType": "Integer", + "allowedValues": "0-30", + "source": "user-override", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True", + "isReadOnly": "False" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/configurations/div_precision_increment", + "name": "div_precision_increment", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + } + ] + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-12-30", + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-12-30" + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/examples/ConfigurationsListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/examples/ConfigurationsListByServer.json new file mode 100644 index 000000000000..7cedc8744908 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-12-30/examples/ConfigurationsListByServer.json @@ -0,0 +1,146 @@ +{ + "parameters": { + "serverName": "mysqltestserver", + "resourceGroupName": "testrg", + "api-version": "2023-12-30", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "page": 1, + "pageSize": 8 + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "value": "OFF", + "description": "Tell the server to enable or disable archive engine.", + "defaultValue": "OFF", + "dataType": "Enumeration", + "allowedValues": "ON,OFF", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "False", + "isReadOnly": "True" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/configurations/archive", + "name": "archive", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "OFF", + "description": "Allow to audit the log.", + "defaultValue": "OFF", + "dataType": "Enumeration", + "allowedValues": "ON,OFF", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True", + "isReadOnly": "False" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/configurations/audit_log_enabled", + "name": "audit_log_enabled", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "CONNECTION", + "description": "Select the events to audit logs.", + "defaultValue": "CONNECTION", + "dataType": "Set", + "allowedValues": "DDL,DML_SELECT,DML_NONSELECT,DCL,ADMIN,DML,GENERAL,CONNECTION,TABLE_ACCESS", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True", + "isReadOnly": "False" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/configurations/audit_log_events", + "name": "audit_log_events", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "azure_superuser", + "description": "The comma-separated user list whose commands will not be in the audit logs.", + "defaultValue": "azure_superuser", + "dataType": "String", + "allowedValues": "", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True", + "isReadOnly": "False" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/configurations/audit_log_exclude_users", + "name": "audit_log_exclude_users", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "", + "description": "The comma-separated user list whose commands will be in the audit logs. It takes higher priority if the same user name is found in audit_log_exclude_users.", + "defaultValue": "", + "dataType": "String", + "allowedValues": "", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True", + "isReadOnly": "False" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/configurations/audit_log_include_users", + "name": "audit_log_include_users", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "ON", + "description": "Allow to audit the slow log.", + "defaultValue": "ON", + "dataType": "Enumeration", + "allowedValues": "ON,OFF", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True", + "isReadOnly": "True" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/configurations/audit_slow_log_enabled", + "name": "audit_slow_log_enabled", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "OFF", + "description": "Controls whether the server autogenerates SSL key and certificate files in the data directory, if they do not already exist.", + "defaultValue": "OFF", + "dataType": "Enumeration", + "allowedValues": "ON,OFF", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "False", + "isReadOnly": "True" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/configurations/auto_generate_certs", + "name": "auto_generate_certs", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + }, + { + "properties": { + "value": "1", + "description": "The auto_increment_increment is intended for use with source-to-source replication, and can be used to control the operation of AUTO_INCREMENT columns.", + "defaultValue": "1", + "dataType": "Integer", + "allowedValues": "1-65535", + "source": "system-default", + "isConfigPendingRestart": "False", + "isDynamicConfig": "True", + "isReadOnly": "False" + }, + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/testrg/providers/Microsoft.DBforMySQL/flexibleServers/mysqltestserver/configurations/auto_increment_increment", + "name": "auto_increment_increment", + "type": "Microsoft.DBforMySQL/flexibleServers/configurations" + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/Databases.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/Databases.json new file mode 100644 index 000000000000..35f4bdca4826 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/Databases.json @@ -0,0 +1,296 @@ +{ + "swagger": "2.0", + "info": { + "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.", + "version": "2023-12-30" + }, + "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}/databases/{databaseName}": { + "put": { + "tags": [ + "Databases" + ], + "operationId": "Databases_CreateOrUpdate", + "x-ms-examples": { + "Create a database": { + "$ref": "./examples/DatabaseCreate.json" + } + }, + "description": "Creates a new database or updates an existing database.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/Database" + }, + "description": "The required parameters for creating or updating a database." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Databases" + ], + "operationId": "Databases_Delete", + "x-ms-examples": { + "Delete a database": { + "$ref": "./examples/DatabaseDelete.json" + } + }, + "description": "Deletes a database.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "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 + }, + "get": { + "tags": [ + "Databases" + ], + "operationId": "Databases_Get", + "x-ms-examples": { + "Get a database": { + "$ref": "./examples/DatabaseGet.json" + } + }, + "description": "Gets information about a database.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/DatabaseNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/Database" + } + }, + "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.DBforMySQL/flexibleServers/{serverName}/databases": { + "get": { + "tags": [ + "Databases" + ], + "operationId": "Databases_ListByServer", + "x-ms-examples": { + "List databases in a server": { + "$ref": "./examples/DatabasesListByServer.json" + } + }, + "description": "List all the databases in a given server.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/DatabaseListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "DatabaseProperties": { + "type": "object", + "properties": { + "charset": { + "type": "string", + "description": "The charset of the database." + }, + "collation": { + "type": "string", + "description": "The collation of the database." + } + }, + "description": "The properties of a database." + }, + "Database": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/DatabaseProperties", + "x-ms-client-flatten": true, + "description": "The properties of a database." + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "description": "Represents a Database." + }, + "DatabaseListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/Database" + }, + "description": "The list of databases housed in a server" + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A List of databases." + } + }, + "parameters": { + "DatabaseNameParameter": { + "name": "databaseName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the database.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/examples/DatabaseCreate.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/examples/DatabaseCreate.json new file mode 100644 index 000000000000..52a0985f236f --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/examples/DatabaseCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "databaseName": "db1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2023-12-30", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff", + "parameters": { + "properties": { + "charset": "utf8", + "collation": "utf8_general_ci" + } + } + }, + "responses": { + "201": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/databases/db1", + "name": "db1", + "type": "Microsoft.DBforMySQL/flexibleServers/databases", + "properties": { + "charset": "utf8", + "collation": "utf8_general_ci" + } + } + }, + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/databases/db1", + "name": "db1", + "type": "Microsoft.DBforMySQL/flexibleServers/databases", + "properties": { + "charset": "utf8", + "collation": "utf8_general_ci" + } + } + }, + "202": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/examples/DatabaseDelete.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/examples/DatabaseDelete.json new file mode 100644 index 000000000000..f06bcd0c2aa0 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/examples/DatabaseDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "databaseName": "db1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2023-12-30", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/azureAsyncOperation/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-12-30", + "Location": "https://management.azure.com/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/providers/Microsoft.DBforMySQL/locations/southeastasia/operationResults/e276a03a-1770-4549-86f5-0edffae8997c?api-version=2023-12-30" + } + }, + "204": {} + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/examples/DatabaseGet.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/examples/DatabaseGet.json new file mode 100644 index 000000000000..b1bbd614f21c --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/examples/DatabaseGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "databaseName": "db1", + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2023-12-30", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/databases/db1", + "name": "db1", + "type": "Microsoft.DBforMySQL/flexibleServers/databases", + "properties": { + "charset": "utf8", + "collation": "utf8_general_ci" + } + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/examples/DatabasesListByServer.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/examples/DatabasesListByServer.json new file mode 100644 index 000000000000..57ecfa99d598 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-12-30/examples/DatabasesListByServer.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "serverName": "testserver", + "resourceGroupName": "TestGroup", + "api-version": "2023-12-30", + "subscriptionId": "ffffffff-ffff-ffff-ffff-ffffffffffff" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/databases/db1", + "name": "db1", + "type": "Microsoft.DBforMySQL/flexibleServers/databases", + "properties": { + "charset": "utf8", + "collation": "utf8_general_ci" + } + }, + { + "id": "/subscriptions/ffffffff-ffff-ffff-ffff-ffffffffffff/resourceGroups/TestGroup/providers/Microsoft.DBforMySQL/flexibleServers/testserver/databases/db2", + "name": "db2", + "type": "Microsoft.DBforMySQL/flexibleServers/databases", + "properties": { + "charset": "utf8", + "collation": "utf8_general_ci" + } + } + ] + } + } + } +} diff --git a/specification/mysql/resource-manager/Microsoft.DBforMySQL/Firewall/stable/2023-12-30/FirewallRules.json b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Firewall/stable/2023-12-30/FirewallRules.json new file mode 100644 index 000000000000..95a88cbc4150 --- /dev/null +++ b/specification/mysql/resource-manager/Microsoft.DBforMySQL/Firewall/stable/2023-12-30/FirewallRules.json @@ -0,0 +1,306 @@ +{ + "swagger": "2.0", + "info": { + "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.", + "version": "2023-12-30" + }, + "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}/firewallRules/{firewallRuleName}": { + "put": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_CreateOrUpdate", + "x-ms-examples": { + "Create a firewall rule": { + "$ref": "./examples/FirewallRuleCreate.json" + } + }, + "description": "Creates a new firewall rule or updates an existing firewall rule.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallRule" + }, + "description": "The required parameters for creating or updating a firewall rule." + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_Delete", + "x-ms-examples": { + "Delete a firewall rule": { + "$ref": "./examples/FirewallRuleDelete.json" + } + }, + "description": "Deletes a firewall rule.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "NoContent" + }, + "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 + }, + "get": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_Get", + "x-ms-examples": { + "Get a firewall rule": { + "$ref": "./examples/FirewallRuleGet.json" + } + }, + "description": "Gets information about a server firewall rule.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + }, + { + "$ref": "#/parameters/FirewallRuleNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FirewallRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules": { + "get": { + "tags": [ + "FirewallRules" + ], + "operationId": "FirewallRules_ListByServer", + "x-ms-examples": { + "List all firewall rules in a server": { + "$ref": "./examples/FirewallRulesListByServer.json" + } + }, + "description": "List all the firewall rules in a given server.", + "parameters": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../common-types/v1/common-types.json#/parameters/ServerNameParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/FirewallRuleListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "FirewallRuleProperties": { + "type": "object", + "properties": { + "startIpAddress": { + "type": "string", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", + "description": "The start IP address of the server firewall rule. Must be IPv4 format." + }, + "endIpAddress": { + "type": "string", + "pattern": "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$", + "description": "The end IP address of the server firewall rule. Must be IPv4 format." + } + }, + "required": [ + "startIpAddress", + "endIpAddress" + ], + "description": "The properties of a server firewall rule." + }, + "FirewallRule": { + "type": "object", + "properties": { + "properties": { + "$ref": "#/definitions/FirewallRuleProperties", + "x-ms-client-flatten": true, + "description": "The properties of a firewall rule." + } + }, + "allOf": [ + { + "$ref": "../../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "required": [ + "properties" + ], + "description": "Represents a server firewall rule." + }, + "FirewallRuleListResult": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/FirewallRule" + }, + "description": "The list of firewall rules in a server." + }, + "nextLink": { + "description": "The link used to get the next page of operations.", + "type": "string" + } + }, + "description": "A list of firewall rules." + } + }, + "parameters": { + "FirewallRuleNameParameter": { + "name": "firewallRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the server firewall rule.", + "x-ms-parameter-location": "method", + "pattern": "^[a-zA-Z0-9][-_a-zA-Z0-9]{0,79}(?://:." + }, + "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." + }, + "family": { + "type": "string", + "description": "Family of an application gateway SKU.", + "enum": [ + "Generation_1", + "Generation_2" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySkuFamily", + "modelAsString": true + } + } + }, + "description": "SKU of an application gateway." + }, + "ApplicationGatewaySslPolicy": { + "properties": { + "disabledSslProtocols": { + "type": "array", + "description": "Ssl protocols to be disabled on application gateway.", + "items": { + "type": "string", + "$ref": "#/definitions/ProtocolsEnum" + } + }, + "policyType": { + "type": "string", + "description": "Type of Ssl Policy.", + "enum": [ + "Predefined", + "Custom", + "CustomV2" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySslPolicyType", + "modelAsString": true + } + }, + "policyName": { + "$ref": "#/definitions/PolicyNameEnum", + "description": "Name of Ssl predefined policy." + }, + "cipherSuites": { + "type": "array", + "items": { + "$ref": "#/definitions/CipherSuitesEnum" + }, + "description": "Ssl cipher suites to be enabled in the specified order to application gateway." + }, + "minProtocolVersion": { + "$ref": "#/definitions/ProtocolsEnum", + "description": "Minimum version of Ssl protocol to be supported on application gateway." + } + }, + "description": "Application Gateway Ssl policy." + }, + "ApplicationGatewayClientAuthConfiguration": { + "properties": { + "verifyClientCertIssuerDN": { + "type": "boolean", + "description": "Verify client certificate issuer name on the application gateway." + }, + "verifyClientRevocation": { + "type": "string", + "description": "Verify client certificate revocation status.", + "enum": [ + "None", + "OCSP" + ], + "x-ms-enum": { + "name": "ApplicationGatewayClientRevocationOptions", + "modelAsString": true + } + } + }, + "description": "Application gateway client authentication configuration." + }, + "ApplicationGatewayIPConfigurationPropertiesFormat": { + "properties": { + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the subnet resource. A subnet from where application gateway gets its private address." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway IP configuration resource." + } + }, + "description": "Properties of IP configuration of an application gateway." + }, + "ApplicationGatewayIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayIPConfigurationPropertiesFormat", + "description": "Properties of the application gateway IP configuration." + }, + "name": { + "type": "string", + "description": "Name of the IP configuration that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed." + }, + "ApplicationGatewayAuthenticationCertificatePropertiesFormat": { + "properties": { + "data": { + "type": "string", + "description": "Certificate public data." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the authentication certificate resource." + } + }, + "description": "Authentication certificates properties of an application gateway." + }, + "ApplicationGatewayAuthenticationCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificatePropertiesFormat", + "description": "Properties of the application gateway authentication certificate." + }, + "name": { + "type": "string", + "description": "Name of the authentication certificate that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Authentication certificates of an application gateway." + }, + "ApplicationGatewayTrustedRootCertificatePropertiesFormat": { + "properties": { + "data": { + "type": "string", + "description": "Certificate public data." + }, + "keyVaultSecretId": { + "type": "string", + "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the trusted root certificate resource." + } + }, + "description": "Trusted Root certificates properties of an application gateway." + }, + "ApplicationGatewayTrustedRootCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayTrustedRootCertificatePropertiesFormat", + "description": "Properties of the application gateway trusted root certificate." + }, + "name": { + "type": "string", + "description": "Name of the trusted root certificate that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Trusted Root certificates of an application gateway." + }, + "ApplicationGatewayTrustedClientCertificatePropertiesFormat": { + "properties": { + "data": { + "type": "string", + "description": "Certificate public data." + }, + "validatedCertData": { + "readOnly": true, + "type": "string", + "description": "Validated certificate data." + }, + "clientCertIssuerDN": { + "readOnly": true, + "type": "string", + "description": "Distinguished name of client certificate issuer." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the trusted client certificate resource." + } + }, + "description": "Trusted client certificates properties of an application gateway." + }, + "ApplicationGatewayTrustedClientCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayTrustedClientCertificatePropertiesFormat", + "description": "Properties of the application gateway trusted client certificate." + }, + "name": { + "type": "string", + "description": "Name of the trusted client certificate that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Trusted client certificates of an application gateway." + }, + "ApplicationGatewaySslCertificatePropertiesFormat": { + "properties": { + "data": { + "type": "string", + "description": "Base-64 encoded pfx certificate. Only applicable in PUT Request." + }, + "password": { + "type": "string", + "description": "Password for the pfx file specified in data. Only applicable in PUT request." + }, + "publicCertData": { + "readOnly": true, + "type": "string", + "description": "Base-64 encoded Public cert data corresponding to pfx specified in data. Only applicable in GET request." + }, + "keyVaultSecretId": { + "type": "string", + "description": "Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 'Certificate' object stored in KeyVault." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the SSL certificate resource." + } + }, + "description": "Properties of SSL certificates of an application gateway." + }, + "ApplicationGatewaySslCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewaySslCertificatePropertiesFormat", + "description": "Properties of the application gateway SSL certificate." + }, + "name": { + "type": "string", + "description": "Name of the SSL certificate that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "SSL certificates of an application gateway." + }, + "ApplicationGatewayFrontendIPConfigurationPropertiesFormat": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "PrivateIPAddress of the network interface IP Configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the subnet resource." + }, + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the PublicIP resource." + }, + "privateLinkConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the application gateway private link configuration." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the frontend IP configuration resource." + } + }, + "description": "Properties of Frontend IP configuration of an application gateway." + }, + "ApplicationGatewayFrontendIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayFrontendIPConfigurationPropertiesFormat", + "description": "Properties of the application gateway frontend IP configuration." + }, + "name": { + "type": "string", + "description": "Name of the frontend IP configuration that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Frontend IP configuration of an application gateway." + }, + "ApplicationGatewayFrontendPortPropertiesFormat": { + "properties": { + "port": { + "type": "integer", + "format": "int32", + "description": "Frontend port." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the frontend port resource." + } + }, + "description": "Properties of Frontend port of an application gateway." + }, + "ApplicationGatewayFrontendPort": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayFrontendPortPropertiesFormat", + "description": "Properties of the application gateway frontend port." + }, + "name": { + "type": "string", + "description": "Name of the frontend port that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Frontend port of an application gateway." + }, + "ApplicationGatewayBackendAddress": { + "properties": { + "fqdn": { + "type": "string", + "description": "Fully qualified domain name (FQDN)." + }, + "ipAddress": { + "type": "string", + "description": "IP address." + } + }, + "description": "Backend address of an application gateway." + }, + "ApplicationGatewayBackendAddressPoolPropertiesFormat": { + "properties": { + "backendIPConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/NetworkInterfaceIPConfiguration" + }, + "description": "Collection of references to IPs defined in network interfaces." + }, + "backendAddresses": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendAddress" + }, + "description": "Backend addresses." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the backend address pool resource." + } + }, + "description": "Properties of Backend Address Pool of an application gateway." + }, + "ApplicationGatewayBackendAddressPool": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayBackendAddressPoolPropertiesFormat", + "description": "Properties of the application gateway backend address pool." + }, + "name": { + "type": "string", + "description": "Name of the backend address pool that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Backend Address Pool of an application gateway." + }, + "ApplicationGatewayBackendHttpSettingsPropertiesFormat": { + "properties": { + "port": { + "type": "integer", + "format": "int32", + "description": "The destination port on the backend." + }, + "protocol": { + "$ref": "#/definitions/ApplicationGatewayProtocol", + "description": "The protocol used to communicate with the backend." + }, + "cookieBasedAffinity": { + "type": "string", + "description": "Cookie based affinity.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ApplicationGatewayCookieBasedAffinity", + "modelAsString": true + } + }, + "requestTimeout": { + "type": "integer", + "format": "int32", + "description": "Request timeout in seconds. Application Gateway will fail the request if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 seconds." + }, + "probe": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Probe resource of an application gateway." + }, + "authenticationCertificates": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of references to application gateway authentication certificates." + }, + "trustedRootCertificates": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of references to application gateway trusted root certificates." + }, + "connectionDraining": { + "$ref": "#/definitions/ApplicationGatewayConnectionDraining", + "description": "Connection draining of the backend http settings resource." + }, + "hostName": { + "type": "string", + "description": "Host header to be sent to the backend servers." + }, + "pickHostNameFromBackendAddress": { + "type": "boolean", + "description": "Whether to pick host header should be picked from the host name of the backend server. Default value is false." + }, + "affinityCookieName": { + "type": "string", + "description": "Cookie name to use for the affinity cookie." + }, + "probeEnabled": { + "type": "boolean", + "description": "Whether the probe is enabled. Default value is false." + }, + "path": { + "type": "string", + "description": "Path which should be used as a prefix for all HTTP requests. Null means no path will be prefixed. Default value is null." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the backend HTTP settings resource." + } + }, + "description": "Properties of Backend address pool settings of an application gateway." + }, + "ApplicationGatewayBackendHttpSettings": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayBackendHttpSettingsPropertiesFormat", + "description": "Properties of the application gateway backend HTTP settings." + }, + "name": { + "type": "string", + "description": "Name of the backend http settings that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Backend address pool settings of an application gateway." + }, + "ApplicationGatewayBackendSettingsPropertiesFormat": { + "type": "object", + "properties": { + "port": { + "type": "integer", + "format": "int32", + "description": "The destination port on the backend." + }, + "protocol": { + "$ref": "#/definitions/ApplicationGatewayProtocol", + "description": "The protocol used to communicate with the backend." + }, + "timeout": { + "type": "integer", + "format": "int32", + "description": "Connection timeout in seconds. Application Gateway will fail the request if response is not received within ConnectionTimeout. Acceptable values are from 1 second to 86400 seconds." + }, + "probe": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Probe resource of an application gateway." + }, + "trustedRootCertificates": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of references to application gateway trusted root certificates." + }, + "hostName": { + "type": "string", + "description": "Server name indication to be sent to the backend servers for Tls protocol." + }, + "pickHostNameFromBackendAddress": { + "type": "boolean", + "description": "Whether to pick server name indication from the host name of the backend server for Tls protocol. Default value is false." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the backend HTTP settings resource." + } + }, + "description": "Properties of Backend address pool settings of an application gateway." + }, + "ApplicationGatewayBackendSettings": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayBackendSettingsPropertiesFormat", + "description": "Properties of the application gateway backend settings." + }, + "name": { + "type": "string", + "description": "Name of the backend settings that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Backend address pool settings of an application gateway." + }, + "ApplicationGatewaySslProfilePropertiesFormat": { + "properties": { + "trustedClientCertificates": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of references to application gateway trusted client certificates." + }, + "sslPolicy": { + "$ref": "#/definitions/ApplicationGatewaySslPolicy", + "description": "SSL policy of the application gateway resource." + }, + "clientAuthConfiguration": { + "$ref": "#/definitions/ApplicationGatewayClientAuthConfiguration", + "description": "Client authentication configuration of the application gateway resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the HTTP listener resource." + } + }, + "description": "Properties of SSL profile of an application gateway." + }, + "ApplicationGatewaySslProfile": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewaySslProfilePropertiesFormat", + "description": "Properties of the application gateway SSL profile." + }, + "name": { + "type": "string", + "description": "Name of the SSL profile that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "SSL profile of an application gateway." + }, + "ApplicationGatewayHttpListenerPropertiesFormat": { + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Frontend IP configuration resource of an application gateway." + }, + "frontendPort": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Frontend port resource of an application gateway." + }, + "protocol": { + "$ref": "#/definitions/ApplicationGatewayProtocol", + "description": "Protocol of the HTTP listener." + }, + "hostName": { + "type": "string", + "description": "Host name of HTTP listener." + }, + "sslCertificate": { + "$ref": "./network.json#/definitions/SubResource", + "description": "SSL certificate resource of an application gateway." + }, + "sslProfile": { + "$ref": "./network.json#/definitions/SubResource", + "description": "SSL profile resource of the application gateway." + }, + "requireServerNameIndication": { + "type": "boolean", + "description": "Applicable only if protocol is https. Enables SNI for multi-hosting." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the HTTP listener resource." + }, + "customErrorConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayCustomError" + }, + "description": "Custom error configurations of the HTTP listener." + }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the FirewallPolicy resource." + }, + "hostNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of Host names for HTTP Listener that allows special wildcard characters as well." + } + }, + "description": "Properties of HTTP listener of an application gateway." + }, + "ApplicationGatewayHttpListener": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayHttpListenerPropertiesFormat", + "description": "Properties of the application gateway HTTP listener." + }, + "name": { + "type": "string", + "description": "Name of the HTTP listener that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Http listener of an application gateway." + }, + "ApplicationGatewayListenerPropertiesFormat": { + "type": "object", + "properties": { + "frontendIPConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Frontend IP configuration resource of an application gateway." + }, + "frontendPort": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Frontend port resource of an application gateway." + }, + "protocol": { + "$ref": "#/definitions/ApplicationGatewayProtocol", + "description": "Protocol of the listener." + }, + "sslCertificate": { + "$ref": "./network.json#/definitions/SubResource", + "description": "SSL certificate resource of an application gateway." + }, + "sslProfile": { + "$ref": "./network.json#/definitions/SubResource", + "description": "SSL profile resource of the application gateway." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the listener resource." + }, + "hostNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of Server Name Indications(SNI) for TLS Multi-site Listener that allows special wildcard characters as well." + } + }, + "description": "Properties of listener of an application gateway." + }, + "ApplicationGatewayListener": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayListenerPropertiesFormat", + "description": "Properties of the application gateway listener." + }, + "name": { + "type": "string", + "description": "Name of the listener that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Listener of an application gateway." + }, + "ApplicationGatewayPathRulePropertiesFormat": { + "properties": { + "paths": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Path rules of URL path map." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend address pool resource of URL path map path rule." + }, + "backendHttpSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend http settings resource of URL path map path rule." + }, + "redirectConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Redirect configuration resource of URL path map path rule." + }, + "rewriteRuleSet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Rewrite rule set resource of URL path map path rule." + }, + "loadDistributionPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Load Distribution Policy resource of URL path map path rule." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the path rule resource." + }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the FirewallPolicy resource." + } + }, + "description": "Properties of path rule of an application gateway." + }, + "ApplicationGatewayPathRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPathRulePropertiesFormat", + "description": "Properties of the application gateway path rule." + }, + "name": { + "type": "string", + "description": "Name of the path rule that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Path rule of URL path map of an application gateway." + }, + "ApplicationGatewayProbePropertiesFormat": { + "properties": { + "protocol": { + "$ref": "#/definitions/ApplicationGatewayProtocol", + "description": "The protocol used for the probe." + }, + "host": { + "type": "string", + "description": "Host name to send the probe to." + }, + "path": { + "type": "string", + "description": "Relative path of probe. Valid path starts from '/'. Probe is sent to ://:." + }, + "interval": { + "type": "integer", + "format": "int32", + "description": "The probing interval in seconds. This is the time interval between two consecutive probes. Acceptable values are from 1 second to 86400 seconds." + }, + "timeout": { + "type": "integer", + "format": "int32", + "description": "The probe timeout in seconds. Probe marked as failed if valid response is not received with this timeout period. Acceptable values are from 1 second to 86400 seconds." + }, + "unhealthyThreshold": { + "type": "integer", + "format": "int32", + "description": "The probe retry count. Backend server is marked down after consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second to 20." + }, + "pickHostNameFromBackendHttpSettings": { + "type": "boolean", + "description": "Whether the host header should be picked from the backend http settings. Default value is false." + }, + "pickHostNameFromBackendSettings": { + "type": "boolean", + "description": "Whether the server name indication should be picked from the backend settings for Tls protocol. Default value is false." + }, + "minServers": { + "type": "integer", + "format": "int32", + "description": "Minimum number of servers that are always marked healthy. Default value is 0." + }, + "match": { + "$ref": "#/definitions/ApplicationGatewayProbeHealthResponseMatch", + "description": "Criterion for classifying a healthy probe response." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the probe resource." + }, + "port": { + "type": "integer", + "format": "int32", + "description": "Custom port which will be used for probing the backend servers. The valid value ranges from 1 to 65535. In case not set, port from http settings will be used. This property is valid for Basic, Standard_v2 and WAF_v2 only.", + "minimum": 1, + "maximum": 65535 + } + }, + "description": "Properties of probe of an application gateway." + }, + "ApplicationGatewayProbeHealthResponseMatch": { + "properties": { + "body": { + "type": "string", + "description": "Body that must be contained in the health response. Default value is empty." + }, + "statusCodes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Allowed ranges of healthy status codes. Default range of healthy status codes is 200-399." + } + }, + "description": "Application gateway probe health response match." + }, + "ApplicationGatewayProbe": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayProbePropertiesFormat", + "description": "Properties of the application gateway probe." + }, + "name": { + "type": "string", + "description": "Name of the probe that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Probe of the application gateway." + }, + "ApplicationGatewayRequestRoutingRulePropertiesFormat": { + "properties": { + "ruleType": { + "type": "string", + "description": "Rule type.", + "enum": [ + "Basic", + "PathBasedRouting" + ], + "x-ms-enum": { + "name": "ApplicationGatewayRequestRoutingRuleType", + "modelAsString": true + } + }, + "priority": { + "type": "integer", + "format": "int32", + "minimum": 1, + "exclusiveMinimum": false, + "maximum": 20000, + "exclusiveMaximum": false, + "description": "Priority of the request routing rule." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend address pool resource of the application gateway." + }, + "backendHttpSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend http settings resource of the application gateway." + }, + "httpListener": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Http listener resource of the application gateway." + }, + "urlPathMap": { + "$ref": "./network.json#/definitions/SubResource", + "description": "URL path map resource of the application gateway." + }, + "rewriteRuleSet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Rewrite Rule Set resource in Basic rule of the application gateway." + }, + "redirectConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Redirect configuration resource of the application gateway." + }, + "loadDistributionPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Load Distribution Policy resource of the application gateway." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the request routing rule resource." + } + }, + "description": "Properties of request routing rule of the application gateway." + }, + "ApplicationGatewayRequestRoutingRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayRequestRoutingRulePropertiesFormat", + "description": "Properties of the application gateway request routing rule." + }, + "name": { + "type": "string", + "description": "Name of the request routing rule that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Request routing rule of an application gateway." + }, + "ApplicationGatewayRoutingRulePropertiesFormat": { + "type": "object", + "properties": { + "ruleType": { + "type": "string", + "description": "Rule type.", + "enum": [ + "Basic", + "PathBasedRouting" + ], + "x-ms-enum": { + "name": "ApplicationGatewayRequestRoutingRuleType", + "modelAsString": true + } + }, + "priority": { + "type": "integer", + "format": "int32", + "minimum": 1, + "exclusiveMinimum": false, + "maximum": 20000, + "exclusiveMaximum": false, + "description": "Priority of the routing rule." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend address pool resource of the application gateway." + }, + "backendSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend settings resource of the application gateway." + }, + "listener": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Listener resource of the application gateway." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the request routing rule resource." + } + }, + "required": [ + "priority" + ], + "description": "Properties of routing rule of the application gateway." + }, + "ApplicationGatewayRoutingRule": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayRoutingRulePropertiesFormat", + "description": "Properties of the application gateway routing rule." + }, + "name": { + "type": "string", + "description": "Name of the routing rule that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Routing rule of an application gateway." + }, + "ApplicationGatewayRewriteRuleSet": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayRewriteRuleSetPropertiesFormat", + "description": "Properties of the application gateway rewrite rule set." + }, + "name": { + "type": "string", + "description": "Name of the rewrite rule set that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Rewrite rule set of an application gateway." + }, + "ApplicationGatewayRewriteRuleSetPropertiesFormat": { + "properties": { + "rewriteRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRewriteRule" + }, + "description": "Rewrite rules in the rewrite rule set." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the rewrite rule set resource." + } + }, + "description": "Properties of rewrite rule set of the application gateway." + }, + "ApplicationGatewayRewriteRule": { + "properties": { + "name": { + "type": "string", + "description": "Name of the rewrite rule that is unique within an Application Gateway." + }, + "ruleSequence": { + "type": "integer", + "description": "Rule Sequence of the rewrite rule that determines the order of execution of a particular rule in a RewriteRuleSet." + }, + "conditions": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRewriteRuleCondition" + }, + "description": "Conditions based on which the action set execution will be evaluated." + }, + "actionSet": { + "type": "object", + "$ref": "#/definitions/ApplicationGatewayRewriteRuleActionSet", + "description": "Set of actions to be done as part of the rewrite Rule." + } + }, + "description": "Rewrite rule of an application gateway." + }, + "ApplicationGatewayRewriteRuleCondition": { + "properties": { + "variable": { + "type": "string", + "description": "The condition parameter of the RewriteRuleCondition." + }, + "pattern": { + "type": "string", + "description": "The pattern, either fixed string or regular expression, that evaluates the truthfulness of the condition." + }, + "ignoreCase": { + "type": "boolean", + "description": "Setting this parameter to truth value with force the pattern to do a case in-sensitive comparison." + }, + "negate": { + "type": "boolean", + "description": "Setting this value as truth will force to check the negation of the condition given by the user." + } + }, + "description": "Set of conditions in the Rewrite Rule in Application Gateway." + }, + "ApplicationGatewayRewriteRuleActionSet": { + "properties": { + "requestHeaderConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayHeaderConfiguration" + }, + "description": "Request Header Actions in the Action Set." + }, + "responseHeaderConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayHeaderConfiguration" + }, + "description": "Response Header Actions in the Action Set." + }, + "urlConfiguration": { + "$ref": "#/definitions/ApplicationGatewayUrlConfiguration", + "description": "Url Configuration Action in the Action Set." + } + }, + "description": "Set of actions in the Rewrite Rule in Application Gateway." + }, + "ApplicationGatewayHeaderConfiguration": { + "properties": { + "headerName": { + "type": "string", + "description": "Header name of the header configuration." + }, + "headerValueMatcher": { + "type": "object", + "$ref": "#/definitions/HeaderValueMatcher", + "description": "An optional field under \"Rewrite Action\". It lets you capture and modify the value(s) of a specific header when multiple headers with the same name exist. Currently supported for Set-Cookie Response header only. For more details, visit https://aka.ms/appgwheadercrud" + }, + "headerValue": { + "type": "string", + "description": "Header value of the header configuration." + } + }, + "description": "Header configuration of the Actions set in Application Gateway." + }, + "HeaderValueMatcher": { + "type": "object", + "properties": { + "pattern": { + "type": "string", + "description": "The pattern, either fixed string or regular expression, that evaluates if a header value should be selected for rewrite." + }, + "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 in the pattern field." + } + }, + "description": "An optional field under \"Rewrite Action\". It lets you capture and modify the value(s) of a specific header when multiple headers with the same name exist. Currently supported for Set-Cookie Response header only. For more details, visit https://aka.ms/appgwheadercrud" + }, + "ApplicationGatewayUrlConfiguration": { + "properties": { + "modifiedPath": { + "type": "string", + "description": "Url path which user has provided for url rewrite. Null means no path will be updated. Default value is null." + }, + "modifiedQueryString": { + "type": "string", + "description": "Query string which user has provided for url rewrite. Null means no query string will be updated. Default value is null." + }, + "reroute": { + "type": "boolean", + "description": "If set as true, it will re-evaluate the url path map provided in path based request routing rules using modified path. Default value is false." + } + }, + "description": "Url configuration of the Actions set in Application Gateway." + }, + "ApplicationGatewayRedirectConfigurationPropertiesFormat": { + "properties": { + "redirectType": { + "type": "string", + "$ref": "#/definitions/RedirectTypeEnum", + "description": "HTTP redirection type." + }, + "targetListener": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to a listener to redirect the request to." + }, + "targetUrl": { + "type": "string", + "description": "Url to redirect the request to." + }, + "includePath": { + "type": "boolean", + "description": "Include path in the redirected url." + }, + "includeQueryString": { + "type": "boolean", + "description": "Include query string in the redirected url." + }, + "requestRoutingRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Request routing specifying redirect configuration." + }, + "urlPathMaps": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Url path maps specifying default redirect configuration." + }, + "pathRules": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Path rules specifying redirect configuration." + } + }, + "description": "Properties of redirect configuration of the application gateway." + }, + "ApplicationGatewayRedirectConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayRedirectConfigurationPropertiesFormat", + "description": "Properties of the application gateway redirect configuration." + }, + "name": { + "type": "string", + "description": "Name of the redirect configuration that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Redirect configuration of an application gateway." + }, + "ApplicationGatewayPrivateLinkConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateLinkConfigurationProperties", + "description": "Properties of the application gateway private link configuration." + }, + "name": { + "type": "string", + "description": "Name of the private link configuration that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Private Link Configuration on an application gateway." + }, + "ApplicationGatewayPrivateLinkConfigurationProperties": { + "properties": { + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkIpConfiguration" + }, + "description": "An array of application gateway private link ip configurations." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway private link configuration." + } + }, + "description": "Properties of private link configuration on an application gateway." + }, + "ApplicationGatewayPrivateLinkIpConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateLinkIpConfigurationProperties", + "description": "Properties of an application gateway private link ip configuration." + }, + "name": { + "type": "string", + "description": "The name of application gateway private link ip configuration." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "The resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "The application gateway private link ip configuration." + }, + "ApplicationGatewayPrivateLinkIpConfigurationProperties": { + "properties": { + "privateIPAddress": { + "type": "string", + "description": "The private IP address of the IP configuration." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the subnet resource." + }, + "primary": { + "type": "boolean", + "description": "Whether the ip configuration is primary or not." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway private link IP configuration." + } + }, + "description": "Properties of an application gateway private link IP configuration." + }, + "ApplicationGatewayPrivateLinkResource": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateLinkResourceProperties", + "description": "Properties of the application gateway private link resource." + }, + "name": { + "type": "string", + "description": "Name of the private link resource that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "PrivateLink Resource of an application gateway." + }, + "ApplicationGatewayPrivateLinkResourceProperties": { + "properties": { + "groupId": { + "description": "Group identifier of private link resource.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "Required member names of private link resource.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Required DNS zone names of the the private link resource." + } + }, + "description": "Properties of a private link resource." + }, + "ApplicationGatewayPrivateLinkResourceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkResource" + }, + "description": "List of private link resources of an application gateway." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListApplicationGatewayPrivateLinkResources API service call. Gets all private link resources for an application gateway." + }, + "ApplicationGatewayPrivateEndpointConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnectionProperties", + "description": "Properties of the application gateway private endpoint connection." + }, + "name": { + "type": "string", + "description": "Name of the private endpoint connection on an application gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Private Endpoint connection on an application gateway." + }, + "ApplicationGatewayPrivateEndpointConnectionProperties": { + "properties": { + "privateEndpoint": { + "readOnly": true, + "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint", + "description": "The resource of private end point." + }, + "privateLinkServiceConnectionState": { + "$ref": "./privateLinkService.json#/definitions/PrivateLinkServiceConnectionState", + "description": "A collection of information about the state of the connection between service consumer and provider." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway private endpoint connection resource." + }, + "linkIdentifier": { + "readOnly": true, + "type": "string", + "description": "The consumer link id." + } + }, + "description": "Properties of Private Link Resource of an application gateway." + }, + "ApplicationGatewayPrivateEndpointConnectionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnection" + }, + "description": "List of private endpoint connections on an application gateway." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListApplicationGatewayPrivateEndpointConnection API service call. Gets all private endpoint connections for an application gateway." + }, + "ApplicationGatewayPropertiesFormat": { + "properties": { + "sku": { + "$ref": "#/definitions/ApplicationGatewaySku", + "description": "SKU of the application gateway resource." + }, + "sslPolicy": { + "$ref": "#/definitions/ApplicationGatewaySslPolicy", + "description": "SSL policy of the application gateway resource." + }, + "operationalState": { + "readOnly": true, + "type": "string", + "description": "Operational state of the application gateway resource.", + "enum": [ + "Stopped", + "Starting", + "Running", + "Stopping" + ], + "x-ms-enum": { + "name": "ApplicationGatewayOperationalState", + "modelAsString": true + } + }, + "gatewayIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayIPConfiguration" + }, + "description": "Subnets of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "authenticationCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayAuthenticationCertificate" + }, + "description": "Authentication certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "trustedRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayTrustedRootCertificate" + }, + "description": "Trusted Root certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "trustedClientCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayTrustedClientCertificate" + }, + "description": "Trusted client certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "sslCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewaySslCertificate" + }, + "description": "SSL certificates of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "frontendIPConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFrontendIPConfiguration" + }, + "description": "Frontend IP addresses of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "frontendPorts": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFrontendPort" + }, + "description": "Frontend ports of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "probes": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayProbe" + }, + "description": "Probes of the application gateway resource." + }, + "backendAddressPools": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendAddressPool" + }, + "description": "Backend address pool of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "backendHttpSettingsCollection": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendHttpSettings" + }, + "description": "Backend http settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "backendSettingsCollection": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayBackendSettings" + }, + "description": "Backend settings of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "httpListeners": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayHttpListener" + }, + "description": "Http listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "listeners": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayListener" + }, + "description": "Listeners of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "sslProfiles": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewaySslProfile" + }, + "description": "SSL profiles of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "urlPathMaps": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayUrlPathMap" + }, + "description": "URL path map of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "requestRoutingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRequestRoutingRule" + }, + "description": "Request routing rules of the application gateway resource." + }, + "routingRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRoutingRule" + }, + "description": "Routing rules of the application gateway resource." + }, + "rewriteRuleSets": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRewriteRuleSet" + }, + "description": "Rewrite rules for the application gateway resource." + }, + "redirectConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayRedirectConfiguration" + }, + "description": "Redirect configurations of the application gateway resource. For default limits, see [Application Gateway limits](https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits)." + }, + "webApplicationFirewallConfiguration": { + "$ref": "#/definitions/ApplicationGatewayWebApplicationFirewallConfiguration", + "description": "Web application firewall configuration." + }, + "firewallPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the FirewallPolicy resource." + }, + "enableHttp2": { + "type": "boolean", + "description": "Whether HTTP2 is enabled on the application gateway resource." + }, + "enableFips": { + "type": "boolean", + "description": "Whether FIPS is enabled on the application gateway resource." + }, + "autoscaleConfiguration": { + "$ref": "#/definitions/ApplicationGatewayAutoscaleConfiguration", + "description": "Autoscale Configuration." + }, + "privateLinkConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateLinkConfiguration" + }, + "description": "PrivateLink configurations on application gateway." + }, + "privateEndpointConnections": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPrivateEndpointConnection" + }, + "description": "Private Endpoint connections on application gateway." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the application gateway resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the application gateway resource." + }, + "customErrorConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayCustomError" + }, + "description": "Custom error configurations of the application gateway resource." + }, + "forceFirewallPolicyAssociation": { + "type": "boolean", + "description": "If true, associates a firewall policy with an application gateway regardless whether the policy differs from the WAF Config." + }, + "loadDistributionPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayLoadDistributionPolicy" + }, + "description": "Load distribution policies of the application gateway resource." + }, + "globalConfiguration": { + "$ref": "#/definitions/ApplicationGatewayGlobalConfiguration", + "description": "Global Configuration." + }, + "defaultPredefinedSslPolicy": { + "$ref": "#/definitions/PolicyNameEnum", + "readOnly": true, + "description": "The default predefined SSL Policy applied on the application gateway resource." + } + }, + "description": "Properties of the application gateway." + }, + "ApplicationGateway": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayPropertiesFormat", + "description": "Properties of the application gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting where the resource needs to come from." + }, + "identity": { + "$ref": "./network.json#/definitions/ManagedServiceIdentity", + "description": "The identity of the application gateway, if configured." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Application gateway resource." + }, + "ApplicationGatewayListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGateway" + }, + "description": "List of an application gateways in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListApplicationGateways API service call." + }, + "ApplicationGatewayUrlPathMapPropertiesFormat": { + "properties": { + "defaultBackendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default backend address pool resource of URL path map." + }, + "defaultBackendHttpSettings": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default backend http settings resource of URL path map." + }, + "defaultRewriteRuleSet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default Rewrite rule set resource of URL path map." + }, + "defaultRedirectConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default redirect configuration resource of URL path map." + }, + "defaultLoadDistributionPolicy": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Default Load Distribution Policy resource of URL path map." + }, + "pathRules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayPathRule" + }, + "description": "Path rule of URL path map resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the URL path map resource." + } + }, + "description": "Properties of UrlPathMap of the application gateway." + }, + "ApplicationGatewayUrlPathMap": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayUrlPathMapPropertiesFormat", + "description": "Properties of the application gateway URL path map." + }, + "name": { + "type": "string", + "description": "Name of the URL path map that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "UrlPathMaps give a url path to the backend mapping information for PathBasedRouting." + }, + "ApplicationGatewayWebApplicationFirewallConfiguration": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether the web application firewall is enabled or not." + }, + "firewallMode": { + "type": "string", + "description": "Web application firewall mode.", + "enum": [ + "Detection", + "Prevention" + ], + "x-ms-enum": { + "name": "ApplicationGatewayFirewallMode", + "modelAsString": true + } + }, + "ruleSetType": { + "type": "string", + "description": "The type of the web application firewall rule set. Possible values are: 'OWASP'." + }, + "ruleSetVersion": { + "type": "string", + "description": "The version of the rule set type." + }, + "disabledRuleGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallDisabledRuleGroup" + }, + "description": "The disabled rule groups." + }, + "requestBodyCheck": { + "type": "boolean", + "description": "Whether allow WAF to check request Body." + }, + "maxRequestBodySize": { + "type": "integer", + "format": "int32", + "maximum": 128, + "exclusiveMaximum": false, + "minimum": 8, + "exclusiveMinimum": false, + "description": "Maximum request body size for WAF." + }, + "maxRequestBodySizeInKb": { + "type": "integer", + "format": "int32", + "maximum": 128, + "exclusiveMaximum": false, + "minimum": 8, + "exclusiveMinimum": false, + "description": "Maximum request body size in Kb for WAF." + }, + "fileUploadLimitInMb": { + "type": "integer", + "format": "int32", + "minimum": 0, + "exclusiveMinimum": false, + "description": "Maximum file upload size in Mb for WAF." + }, + "exclusions": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallExclusion" + }, + "description": "The exclusion list." + } + }, + "required": [ + "enabled", + "firewallMode", + "ruleSetType", + "ruleSetVersion" + ], + "description": "Application gateway web application firewall configuration." + }, + "ApplicationGatewayAutoscaleConfiguration": { + "properties": { + "minCapacity": { + "type": "integer", + "format": "int32", + "minimum": 0, + "exclusiveMinimum": false, + "description": "Lower bound on number of Application Gateway capacity." + }, + "maxCapacity": { + "type": "integer", + "format": "int32", + "minimum": 2, + "exclusiveMinimum": false, + "description": "Upper bound on number of Application Gateway capacity." + } + }, + "required": [ + "minCapacity" + ], + "description": "Application Gateway autoscale configuration." + }, + "ApplicationGatewayConnectionDraining": { + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether connection draining is enabled or not." + }, + "drainTimeoutInSec": { + "type": "integer", + "format": "int32", + "maximum": 3600, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false, + "description": "The number of seconds connection draining is active. Acceptable values are from 1 second to 3600 seconds." + } + }, + "required": [ + "enabled", + "drainTimeoutInSec" + ], + "description": "Connection draining allows open connections to a backend server to be active for a specified time after the backend server got removed from the configuration." + }, + "ApplicationGatewayFirewallDisabledRuleGroup": { + "properties": { + "ruleGroupName": { + "type": "string", + "description": "The name of the rule group that will be disabled." + }, + "rules": { + "type": "array", + "items": { + "type": "integer", + "format": "int32", + "x-nullable": false + }, + "description": "The list of rules that will be disabled. If null, all rules of the rule group will be disabled." + } + }, + "required": [ + "ruleGroupName" + ], + "description": "Allows to disable rules within a rule group or an entire rule group." + }, + "ApplicationGatewayAvailableServerVariablesResult": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Response for ApplicationGatewayAvailableServerVariables API service call." + }, + "ApplicationGatewayAvailableRequestHeadersResult": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Response for ApplicationGatewayAvailableRequestHeaders API service call." + }, + "ApplicationGatewayAvailableResponseHeadersResult": { + "type": "array", + "items": { + "type": "string" + }, + "description": "Response for ApplicationGatewayAvailableResponseHeaders API service call." + }, + "ApplicationGatewayFirewallExclusion": { + "properties": { + "matchVariable": { + "type": "string", + "description": "The variable to be excluded." + }, + "selectorMatchOperator": { + "type": "string", + "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to." + }, + "selector": { + "type": "string", + "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to." + } + }, + "required": [ + "matchVariable", + "selectorMatchOperator", + "selector" + ], + "description": "Allow to exclude some variable satisfy the condition for the WAF check." + }, + "ApplicationGatewayAvailableWafRuleSetsResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallRuleSet" + }, + "description": "The list of application gateway rule sets." + } + }, + "description": "Response for ApplicationGatewayAvailableWafRuleSets API service call." + }, + "ApplicationGatewayFirewallRuleSet": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayFirewallRuleSetPropertiesFormat", + "description": "Properties of the application gateway firewall rule set." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "A web application firewall rule set." + }, + "ApplicationGatewayFirewallRuleSetPropertiesFormat": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the web application firewall rule set." + }, + "ruleSetType": { + "type": "string", + "description": "The type of the web application firewall rule set." + }, + "ruleSetVersion": { + "type": "string", + "description": "The version of the web application firewall rule set type." + }, + "ruleGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallRuleGroup" + }, + "description": "The rule groups of the web application firewall rule set." + }, + "tiers": { + "type": "array", + "description": "Tier of an application gateway that support the rule set.", + "items": { + "type": "string", + "enum": [ + "Standard", + "WAF", + "Standard_v2", + "WAF_v2" + ], + "x-ms-enum": { + "name": "ApplicationGatewayTierTypes", + "modelAsString": true + } + } + } + }, + "required": [ + "ruleSetType", + "ruleSetVersion", + "ruleGroups" + ], + "description": "Properties of the web application firewall rule set." + }, + "ApplicationGatewayFirewallRuleGroup": { + "properties": { + "ruleGroupName": { + "type": "string", + "description": "The name of the web application firewall rule group." + }, + "description": { + "type": "string", + "description": "The description of the web application firewall rule group." + }, + "rules": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayFirewallRule" + }, + "description": "The rules of the web application firewall rule group." + } + }, + "required": [ + "ruleGroupName", + "rules" + ], + "description": "A web application firewall rule group." + }, + "ApplicationGatewayFirewallRule": { + "properties": { + "ruleId": { + "type": "integer", + "format": "int32", + "description": "The identifier of the web application firewall rule." + }, + "ruleIdString": { + "type": "string", + "description": "The string representation of the web application firewall rule identifier." + }, + "state": { + "type": "string", + "description": "The string representation of the web application firewall rule state.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "ApplicationGatewayWafRuleStateTypes", + "modelAsString": true + } + }, + "action": { + "type": "string", + "description": "The string representation of the web application firewall rule action.", + "enum": [ + "None", + "AnomalyScoring", + "Allow", + "Block", + "Log" + ], + "x-ms-enum": { + "name": "ApplicationGatewayWafRuleActionTypes", + "modelAsString": true + } + }, + "description": { + "type": "string", + "description": "The description of the web application firewall rule." + } + }, + "required": [ + "ruleId" + ], + "description": "A web application firewall rule." + }, + "ApplicationGatewayAvailableSslOptions": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayAvailableSslOptionsPropertiesFormat", + "description": "Properties of the application gateway available SSL options." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Response for ApplicationGatewayAvailableSslOptions API service call." + }, + "ApplicationGatewayAvailableSslOptionsPropertiesFormat": { + "properties": { + "predefinedPolicies": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of available Ssl predefined policy." + }, + "defaultPolicy": { + "$ref": "#/definitions/PolicyNameEnum", + "description": "Name of the Ssl predefined policy applied by default to application gateway." + }, + "availableCipherSuites": { + "type": "array", + "items": { + "$ref": "#/definitions/CipherSuitesEnum" + }, + "description": "List of available Ssl cipher suites." + }, + "availableProtocols": { + "type": "array", + "items": { + "$ref": "#/definitions/ProtocolsEnum" + }, + "description": "List of available Ssl protocols." + } + }, + "description": "Properties of ApplicationGatewayAvailableSslOptions." + }, + "ApplicationGatewayAvailableSslPredefinedPolicies": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewaySslPredefinedPolicy" + }, + "description": "List of available Ssl predefined policy." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ApplicationGatewayAvailableSslOptions API service call." + }, + "ApplicationGatewaySslPredefinedPolicy": { + "properties": { + "name": { + "type": "string", + "description": "Name of the Ssl predefined policy." + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewaySslPredefinedPolicyPropertiesFormat", + "description": "Properties of the application gateway SSL predefined policy." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "An Ssl predefined policy." + }, + "ApplicationGatewaySslPredefinedPolicyPropertiesFormat": { + "properties": { + "cipherSuites": { + "type": "array", + "items": { + "$ref": "#/definitions/CipherSuitesEnum" + }, + "description": "Ssl cipher suites to be enabled in the specified order for application gateway." + }, + "minProtocolVersion": { + "$ref": "#/definitions/ProtocolsEnum", + "description": "Minimum version of Ssl protocol to be supported on application gateway." + } + }, + "description": "Properties of ApplicationGatewaySslPredefinedPolicy." + }, + "ApplicationGatewayCustomError": { + "properties": { + "statusCode": { + "type": "string", + "description": "Status code of the application gateway custom error.", + "enum": [ + "HttpStatus400", + "HttpStatus403", + "HttpStatus404", + "HttpStatus405", + "HttpStatus408", + "HttpStatus500", + "HttpStatus502", + "HttpStatus503", + "HttpStatus504" + ], + "x-ms-enum": { + "name": "ApplicationGatewayCustomErrorStatusCode", + "modelAsString": true + } + }, + "customErrorPageUrl": { + "type": "string", + "description": "Error page URL of the application gateway custom error." + } + }, + "description": "Custom error of an application gateway." + }, + "PolicyNameEnum": { + "type": "string", + "description": "Ssl predefined policy name enums.", + "enum": [ + "AppGwSslPolicy20150501", + "AppGwSslPolicy20170401", + "AppGwSslPolicy20170401S", + "AppGwSslPolicy20220101", + "AppGwSslPolicy20220101S" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySslPolicyName", + "modelAsString": true + } + }, + "ProtocolsEnum": { + "type": "string", + "description": "Ssl protocol enums.", + "enum": [ + "TLSv1_0", + "TLSv1_1", + "TLSv1_2", + "TLSv1_3" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySslProtocol", + "modelAsString": true + } + }, + "CipherSuitesEnum": { + "type": "string", + "description": "Ssl cipher suites enums.", + "enum": [ + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "TLS_RSA_WITH_AES_128_GCM_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA256", + "TLS_RSA_WITH_AES_128_CBC_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA", + "TLS_RSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384" + ], + "x-ms-enum": { + "name": "ApplicationGatewaySslCipherSuite", + "modelAsString": true + } + }, + "RedirectTypeEnum": { + "type": "string", + "description": "Redirect type enum.", + "enum": [ + "Permanent", + "Found", + "SeeOther", + "Temporary" + ], + "x-ms-enum": { + "name": "ApplicationGatewayRedirectType", + "modelAsString": true + } + }, + "ApplicationGatewayProtocol": { + "type": "string", + "description": "Application Gateway protocol.", + "enum": [ + "Http", + "Https", + "Tcp", + "Tls" + ], + "x-ms-enum": { + "name": "ApplicationGatewayProtocol", + "modelAsString": true, + "values": [ + { + "value": "Http", + "description": "Supported for httpListeners and backendHttpSettingsCollection properties." + }, + { + "value": "Https", + "description": "Supported for httpListeners and backendHttpSettingsCollection properties." + }, + { + "value": "Tcp", + "description": "Supported for listeners and backendSettingsCollection properties." + }, + { + "value": "Tls", + "description": "Supported for listeners and backendSettingsCollection properties." + } + ] + } + }, + "ApplicationGatewayLoadDistributionPolicyPropertiesFormat": { + "properties": { + "loadDistributionTargets": { + "type": "array", + "items": { + "$ref": "#/definitions/ApplicationGatewayLoadDistributionTarget" + }, + "description": "Load Distribution Targets resource of an application gateway." + }, + "loadDistributionAlgorithm": { + "$ref": "#/definitions/ApplicationGatewayLoadDistributionAlgorithmEnum", + "description": "Load Distribution Targets resource of an application gateway." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the Load Distribution Policy resource." + } + }, + "description": "Properties of Load Distribution Policy of an application gateway." + }, + "ApplicationGatewayLoadDistributionPolicy": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayLoadDistributionPolicyPropertiesFormat", + "description": "Properties of the application gateway load distribution policy." + }, + "name": { + "type": "string", + "description": "Name of the load distribution policy that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Load Distribution Policy of an application gateway." + }, + "ApplicationGatewayLoadDistributionTargetPropertiesFormat": { + "properties": { + "weightPerServer": { + "type": "integer", + "format": "int32", + "maximum": 100, + "exclusiveMaximum": false, + "minimum": 1, + "exclusiveMinimum": false, + "description": "Weight per server. Range between 1 and 100." + }, + "backendAddressPool": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Backend address pool resource of the application gateway." + } + } + }, + "ApplicationGatewayLoadDistributionTarget": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ApplicationGatewayLoadDistributionTargetPropertiesFormat", + "description": "Properties of the application gateway load distribution target." + }, + "name": { + "type": "string", + "description": "Name of the load distribution policy that is unique within an Application Gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Type of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Load Distribution Target of an application gateway." + }, + "ApplicationGatewayLoadDistributionAlgorithmEnum": { + "type": "string", + "description": "Load Distribution Algorithm enums.", + "enum": [ + "RoundRobin", + "LeastConnections", + "IpHash" + ], + "x-ms-enum": { + "name": "ApplicationGatewayLoadDistributionAlgorithm", + "modelAsString": true + } + }, + "ApplicationGatewayGlobalConfiguration": { + "properties": { + "enableRequestBuffering": { + "type": "boolean", + "description": "Enable request buffering." + }, + "enableResponseBuffering": { + "type": "boolean", + "description": "Enable response buffering." + } + }, + "description": "Application Gateway global configuration." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/applicationGatewayWafDynamicManifests.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/applicationGatewayWafDynamicManifests.json new file mode 100644 index 000000000000..3fe983c8aaf0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.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/2024-01-01/applicationSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/applicationSecurityGroup.json new file mode 100644 index 000000000000..e687e7fbe1b3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/availableDelegations.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/availableDelegations.json new file mode 100644 index 000000000000..d2af404bf03c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.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/2024-01-01/availableServiceAliases.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/availableServiceAliases.json new file mode 100644 index 000000000000..67f186d21d57 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.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/2024-01-01/azureFirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/azureFirewall.json new file mode 100644 index 000000000000..26de624c5689 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/azureFirewall.json @@ -0,0 +1,1326 @@ +{ + "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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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" + }, + "FirewallPacketCaptureParameters": { + "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": "Azure Firewall Packet Capture Parameters." + }, + "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." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/azureFirewallFqdnTag.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/azureFirewallFqdnTag.json new file mode 100644 index 000000000000..d0c3af2a9015 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.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/2024-01-01/azureWebCategory.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/azureWebCategory.json new file mode 100644 index 000000000000..10d928c85c0f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.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/2024-01-01/bastionHost.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/bastionHost.json new file mode 100644 index 000000000000..adcb7970a24b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/bastionHost.json @@ -0,0 +1,1114 @@ +{ + "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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}": { + "delete": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_Delete", + "description": "Deletes the specified Bastion Host.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Bastion Host": { + "$ref": "./examples/BastionHostDelete.json" + }, + "Delete Developer Bastion Host": { + "$ref": "./examples/BastionHostDeveloperDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_Get", + "description": "Gets the specified Bastion Host.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns an BastionHost resource.", + "schema": { + "$ref": "#/definitions/BastionHost" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get Bastion Host": { + "$ref": "./examples/BastionHostGet.json" + }, + "Get Developer Bastion Host": { + "$ref": "./examples/BastionHostDeveloperGet.json" + }, + "Get Bastion Host With Zones": { + "$ref": "./examples/BastionHostGetWithZones.json" + } + } + }, + "put": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_CreateOrUpdate", + "description": "Creates or updates the specified Bastion Host.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BastionHost" + }, + "description": "Parameters supplied to the create or update Bastion Host operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting Bastion Host resource.", + "schema": { + "$ref": "#/definitions/BastionHost" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting Bastion Host resource.", + "schema": { + "$ref": "#/definitions/BastionHost" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Bastion Host": { + "$ref": "./examples/BastionHostPut.json" + }, + "Create Bastion Host With Zones": { + "$ref": "./examples/BastionHostPutWithZones.json" + }, + "Create Developer Bastion Host": { + "$ref": "./examples/BastionHostDeveloperPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_UpdateTags", + "description": "Updates Tags for BastionHost resource", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update BastionHost tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting BastionHost resource.", + "schema": { + "$ref": "#/definitions/BastionHost" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Patch Bastion Host": { + "$ref": "./examples/BastionHostPatch.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/bastionHosts": { + "get": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_List", + "description": "Lists all Bastion Hosts in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of Bastion Host resources.", + "schema": { + "$ref": "#/definitions/BastionHostListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Bastion Hosts for a given subscription": { + "$ref": "./examples/BastionHostListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts": { + "get": { + "tags": [ + "BastionHosts" + ], + "operationId": "BastionHosts_ListByResourceGroup", + "description": "Lists all Bastion Hosts in a resource group.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of BastionHost resources.", + "schema": { + "$ref": "#/definitions/BastionHostListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Bastion Hosts for a given resource group": { + "$ref": "./examples/BastionHostListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/createShareableLinks": { + "post": { + "tags": [ + "BastionHosts", + "BastionShareableLink" + ], + "operationId": "PutBastionShareableLink", + "description": "Creates a Bastion Shareable Links for all the VMs specified in the request.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BastionShareableLinkRequest" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of shareable links for the specified VMs, giving appropriate error messages as needed.", + "schema": { + "$ref": "#/definitions/BastionShareableLinkListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Create Bastion Shareable Links for the request VMs": { + "$ref": "./examples/BastionShareableLinkCreate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/deleteShareableLinks": { + "post": { + "tags": [ + "BastionHosts", + "BastionShareableLink" + ], + "operationId": "DeleteBastionShareableLink", + "description": "Deletes the Bastion Shareable Links for all the VMs specified in the request.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BastionShareableLinkRequest" + } + ], + "responses": { + "200": { + "description": "Success. The operation deleted the BastionShareableLinks associated with the VMs, if they existed. No return body." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete Bastion Shareable Links for the request VMs": { + "$ref": "./examples/BastionShareableLinkDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/deleteShareableLinksByToken": { + "post": { + "tags": [ + "BastionHosts", + "BastionShareableLink" + ], + "operationId": "DeleteBastionShareableLinkByToken", + "description": "Deletes the Bastion Shareable Links for all the tokens specified in the request.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BastionShareableLinkTokenRequest" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete Bastion Shareable Links for the request VMs": { + "$ref": "./examples/BastionShareableLinkDeleteByToken.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/getShareableLinks": { + "post": { + "tags": [ + "BastionHosts", + "BastionShareableLink" + ], + "operationId": "GetBastionShareableLink", + "description": "Return the Bastion Shareable Links for all the VMs specified in the request.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/BastionShareableLinkRequest" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of shareable links for the specified VMs, giving appropriate error messages as needed.", + "schema": { + "$ref": "#/definitions/BastionShareableLinkListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Returns the Bastion Shareable Links for the request VMs": { + "$ref": "./examples/BastionShareableLinkGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/getActiveSessions": { + "post": { + "tags": [ + "BastionHosts" + ], + "operationId": "GetActiveSessions", + "description": "Returns the list of currently active sessions on the Bastion.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of active sessions on the Bastion.", + "schema": { + "$ref": "#/definitions/BastionActiveSessionListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Returns a list of currently active sessions on the Bastion": { + "$ref": "./examples/BastionSessionsList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/disconnectActiveSessions": { + "post": { + "tags": [ + "BastionHosts" + ], + "operationId": "DisconnectActiveSessions", + "description": "Returns the list of currently active sessions on the Bastion.", + "parameters": [ + { + "$ref": "#/parameters/ResourceGroupName" + }, + { + "$ref": "#/parameters/BastionHostName" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "#/parameters/SessionIdsParameters" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of sessions with the state of deleted/failed/not found.", + "schema": { + "$ref": "#/definitions/BastionSessionDeleteResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Deletes the specified active session": { + "$ref": "./examples/BastionSessionDelete.json" + } + } + } + } + }, + "definitions": { + "Sku": { + "description": "The sku of this Bastion Host.", + "properties": { + "name": { + "type": "string", + "description": "The name of the sku of this Bastion Host.", + "enum": [ + "Basic", + "Standard", + "Developer", + "Premium" + ], + "default": "Standard", + "x-ms-enum": { + "name": "BastionHostSkuName", + "modelAsString": true + } + } + }, + "type": "object" + }, + "IPRule": { + "properties": { + "addressPrefix": { + "type": "string", + "description": "Specifies the IP or IP range in CIDR format. Only IPV4 address is allowed." + } + }, + "type": "object" + }, + "BastionHostIPConfigurationPropertiesFormat": { + "properties": { + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference of the subnet resource." + }, + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference of the PublicIP resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the bastion host IP configuration resource." + }, + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "Private IP allocation method." + } + }, + "required": [ + "subnet", + "publicIPAddress" + ], + "description": "Properties of IP configuration of an Bastion Host." + }, + "BastionHostIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BastionHostIPConfigurationPropertiesFormat", + "description": "Represents the ip configuration associated with the resource." + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Ip configuration type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration of an Bastion Host." + }, + "BastionHostPropertiesFormat": { + "properties": { + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionHostIPConfiguration" + }, + "description": "IP configuration of the Bastion Host resource." + }, + "dnsName": { + "type": "string", + "description": "FQDN for the endpoint on which bastion host is accessible." + }, + "virtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to an existing virtual network required for Developer Bastion Host only." + }, + "networkAcls": { + "properties": { + "ipRules": { + "type": "array", + "items": { + "description": "IP rule with specific IP or IP range in CIDR format.", + "$ref": "#/definitions/IPRule" + }, + "description": "Sets the IP ACL rules for Developer Bastion Host." + } + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the bastion host resource." + }, + "scaleUnits": { + "type": "integer", + "format": "int32", + "description": "The scale units for the Bastion Host resource.", + "minimum": 2, + "maximum": 50 + }, + "disableCopyPaste": { + "type": "boolean", + "default": false, + "description": "Enable/Disable Copy/Paste feature of the Bastion Host resource." + }, + "enableFileCopy": { + "type": "boolean", + "default": false, + "description": "Enable/Disable File Copy feature of the Bastion Host resource." + }, + "enableIpConnect": { + "type": "boolean", + "default": false, + "description": "Enable/Disable IP Connect feature of the Bastion Host resource." + }, + "enableShareableLink": { + "type": "boolean", + "default": false, + "description": "Enable/Disable Shareable Link of the Bastion Host resource." + }, + "enableTunneling": { + "type": "boolean", + "default": false, + "description": "Enable/Disable Tunneling feature of the Bastion Host resource." + }, + "enableKerberos": { + "type": "boolean", + "default": false, + "description": "Enable/Disable Kerberos feature of the Bastion Host resource." + }, + "enableSessionRecording": { + "type": "boolean", + "default": false, + "description": "Enable/Disable Session Recording feature of the Bastion Host resource." + } + }, + "description": "Properties of the Bastion Host." + }, + "BastionHost": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/BastionHostPropertiesFormat", + "description": "Represents the bastion host resource." + }, + "zones": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of availability zones denoting where the resource needs to come from." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "sku": { + "description": "The sku of this Bastion Host.", + "$ref": "#/definitions/Sku" + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Bastion Host resource." + }, + "BastionHostListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionHost" + }, + "description": "List of Bastion Hosts in a resource group." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListBastionHosts API service call." + }, + "BastionShareableLink": { + "properties": { + "vm": { + "$ref": "#/definitions/VM", + "description": "Reference of the virtual machine resource." + }, + "bsl": { + "type": "string", + "readOnly": true, + "description": "The unique Bastion Shareable Link to the virtual machine." + }, + "createdAt": { + "type": "string", + "readOnly": true, + "description": "The time when the link was created." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "Optional field indicating the warning or error message related to the vm in case of partial failure." + } + }, + "required": [ + "vm" + ], + "description": "Bastion Shareable Link." + }, + "BastionShareableLinkListRequest": { + "properties": { + "vms": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionShareableLink" + }, + "description": "List of VM references." + } + }, + "description": "Post request for Create/Delete/Get Bastion Shareable Link endpoints." + }, + "BastionShareableLinkTokenListRequest": { + "type": "object", + "properties": { + "tokens": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of Bastion Shareable Link Token." + } + }, + "description": "Post request for Delete Bastion Shareable Link By Token endpoint." + }, + "BastionShareableLinkListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionShareableLink" + }, + "description": "List of Bastion Shareable Links for the request." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for all the Bastion Shareable Link endpoints." + }, + "BastionActiveSession": { + "properties": { + "sessionId": { + "type": "string", + "readOnly": true, + "description": "A unique id for the session." + }, + "startTime": { + "type": "object", + "readOnly": true, + "description": "The time when the session started." + }, + "targetSubscriptionId": { + "type": "string", + "readOnly": true, + "description": "The subscription id for the target virtual machine." + }, + "resourceType": { + "type": "string", + "readOnly": true, + "description": "The type of the resource." + }, + "targetHostName": { + "type": "string", + "readOnly": true, + "description": "The host name of the target." + }, + "targetResourceGroup": { + "type": "string", + "readOnly": true, + "description": "The resource group of the target." + }, + "userName": { + "type": "string", + "readOnly": true, + "description": "The user name who is active on this session." + }, + "targetIpAddress": { + "type": "string", + "readOnly": true, + "description": "The IP Address of the target." + }, + "protocol": { + "type": "string", + "readOnly": true, + "description": "The protocol used to connect to the target.", + "enum": [ + "SSH", + "RDP" + ], + "x-ms-enum": { + "name": "BastionConnectProtocol", + "modelAsString": true + } + }, + "targetResourceId": { + "type": "string", + "readOnly": true, + "description": "The resource id of the target." + }, + "sessionDurationInMins": { + "type": "number", + "readOnly": true, + "description": "Duration in mins the session has been active." + } + }, + "description": "The session detail for a target." + }, + "BastionActiveSessionListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionActiveSession" + }, + "description": "List of active sessions on the bastion." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for GetActiveSessions." + }, + "BastionSessionState": { + "properties": { + "sessionId": { + "type": "string", + "readOnly": true, + "description": "A unique id for the session." + }, + "message": { + "type": "string", + "readOnly": true, + "description": "Used for extra information." + }, + "state": { + "type": "string", + "readOnly": true, + "description": "The state of the session. Disconnected/Failed/NotFound." + } + }, + "description": "The session state detail for a target." + }, + "BastionSessionDeleteResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BastionSessionState" + }, + "description": "List of sessions with their corresponding state." + }, + "nextLink": { + "type": "string", + "description": "The URL to get the next set of results." + } + }, + "description": "Response for DisconnectActiveSessions." + }, + "VM": { + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "Describes a Virtual Machine." + }, + "SessionIds": { + "properties": { + "sessionIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of session IDs." + } + }, + "description": "List of session IDs." + } + }, + "parameters": { + "ResourceGroupName": { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group.", + "x-ms-parameter-location": "method" + }, + "BastionShareableLinkRequest": { + "name": "bslRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BastionShareableLinkListRequest" + }, + "description": "Post request for Create/Delete/Get Bastion Shareable Link endpoints.", + "x-ms-parameter-location": "method" + }, + "BastionShareableLinkTokenRequest": { + "name": "bslTokenRequest", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/BastionShareableLinkTokenListRequest" + }, + "description": "Post request for Delete Bastion Shareable Link By Token endpoint.", + "x-ms-parameter-location": "method" + }, + "BastionHostName": { + "name": "bastionHostName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Bastion Host.", + "x-ms-parameter-location": "method" + }, + "SessionIdsParameters": { + "name": "sessionIds", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SessionIds" + }, + "description": "The list of sessionids to disconnect.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/checkDnsAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/checkDnsAvailability.json new file mode 100644 index 000000000000..a05576dc029d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.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/2024-01-01/cloudServiceNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/cloudServiceNetworkInterface.json new file mode 100644 index 000000000000..3b40c7f7e91e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/cloudServicePublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/cloudServicePublicIpAddress.json new file mode 100644 index 000000000000..232e9a1b47c2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/cloudServiceSwap.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/cloudServiceSwap.json new file mode 100644 index 000000000000..447be4da5371 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{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/2024-01-01/customIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/customIpPrefix.json new file mode 100644 index 000000000000..5e9898d894cd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/ddosCustomPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/ddosCustomPolicy.json new file mode 100644 index 000000000000..4d4fc3512fab --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/ddosCustomPolicy.json @@ -0,0 +1,310 @@ +{ + "swagger": "2.0", + "info": { + "title": "NetworkManagementClient", + "description": "The Microsoft Azure Network management API provides a RESTful set of web services that interact with Microsoft Azure Networks service to manage your network resources. The API has entities that capture the relationship between an end user and the Microsoft Azure Networks service.", + "version": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosCustomPolicies/{ddosCustomPolicyName}": { + "delete": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_Delete", + "description": "Deletes the specified DDoS custom policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Request successful. Resource does not exist." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously.", + "headers": { + "Location": { + "description": "The URL of the resource used to check the status of the asynchronous operation.", + "type": "string" + } + } + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Delete DDoS custom policy": { + "$ref": "./examples/DdosCustomPolicyDelete.json" + } + } + }, + "get": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_Get", + "description": "Gets information about the specified DDoS custom policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the specified DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get DDoS custom policy": { + "$ref": "./examples/DdosCustomPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_CreateOrUpdate", + "description": "Creates or updates a DDoS custom policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + }, + "description": "Parameters supplied to the create or update operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "Create DDoS custom policy": { + "$ref": "./examples/DdosCustomPolicyCreate.json" + } + } + }, + "patch": { + "tags": [ + "ddosCustomPolicies" + ], + "operationId": "DdosCustomPolicies_UpdateTags", + "description": "Update a DDoS custom policy tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "ddosCustomPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the DDoS custom policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update DDoS custom policy resource tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting DDoS custom policy resource.", + "schema": { + "$ref": "#/definitions/DdosCustomPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DDoS Custom policy Update tags": { + "$ref": "./examples/DdosCustomPolicyUpdateTags.json" + } + } + } + } + }, + "definitions": { + "DdosCustomPolicy": { + "description": "A DDoS custom policy in a resource group.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/DdosCustomPolicyPropertiesFormat", + "description": "Properties of the DDoS custom policy." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "DdosCustomPolicyPropertiesFormat": { + "properties": { + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the DDoS custom policy resource. It uniquely identifies the resource, even if the user changes its name or migrate the resource across subscriptions or resource groups." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the DDoS custom policy resource." + } + }, + "description": "DDoS custom policy properties." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/ddosProtectionPlan.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/ddosProtectionPlan.json new file mode 100644 index 000000000000..a1f6f2207766 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/dscpConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/dscpConfiguration.json new file mode 100644 index 000000000000..c81b3c92ad0d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/endpointService.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/endpointService.json new file mode 100644 index 000000000000..bdb1e3f97024 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.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/2024-01-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json new file mode 100644 index 000000000000..792e57dd7707 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableRequestHeadersGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "Accept-Charset" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json new file mode 100644 index 000000000000..4089adeb7bd1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableResponseHeadersGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "Access-Control-Allow-Origin" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableServerVariablesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableServerVariablesGet.json new file mode 100644 index 000000000000..e8b2f4b7ff16 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableServerVariablesGet.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "72f988bf-86f1-41af-91ab-2d7cd0dddd4" + }, + "responses": { + "200": { + "body": [ + "request_query" + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableSslOptionsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableSslOptionsGet.json new file mode 100644 index 000000000000..de84ed7a2cd6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableSslOptionsGet.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json new file mode 100644 index 000000000000..b829f92115aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPoliciesGet.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json new file mode 100644 index 000000000000..d6531414cf4d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableSslOptionsPredefinedPolicyGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json new file mode 100644 index 000000000000..d1ab37ee122b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayAvailableWafRuleSetsGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationGatewayBackendHealthGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayBackendHealthGet.json new file mode 100644 index 000000000000..e5ab9e7e7c2c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayBackendHealthGet.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayBackendHealthTest.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayBackendHealthTest.json new file mode 100644 index 000000000000..8e943e2ece01 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayBackendHealthTest.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayCreate.json new file mode 100644 index 000000000000..be43c4e70958 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayCreate.json @@ -0,0 +1,778 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayDelete.json new file mode 100644 index 000000000000..e3328d527226 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayGet.json new file mode 100644 index 000000000000..bb235ed777d9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayGet.json @@ -0,0 +1,389 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayList.json new file mode 100644 index 000000000000..e95b0fc50161 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayList.json @@ -0,0 +1,392 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayListAll.json new file mode 100644 index 000000000000..2246b4639a7a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayListAll.json @@ -0,0 +1,391 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json new file mode 100644 index 000000000000..f8327a8795e6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayPrivateEndpointConnectionDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": {}, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json new file mode 100644 index 000000000000..19d88ac03ab0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayPrivateEndpointConnectionGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json new file mode 100644 index 000000000000..9a0b166e2d27 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayPrivateEndpointConnectionList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json new file mode 100644 index 000000000000..5846bb4237fe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayPrivateEndpointConnectionUpdate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationGatewayPrivateLinkResourceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayPrivateLinkResourceList.json new file mode 100644 index 000000000000..c233de9f66e1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayPrivateLinkResourceList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationGatewayStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayStart.json new file mode 100644 index 000000000000..3a456e241538 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayStart.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayStop.json new file mode 100644 index 000000000000..3a456e241538 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayStop.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayUpdateTags.json new file mode 100644 index 000000000000..66fd7a13076c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationGatewayUpdateTags.json @@ -0,0 +1,148 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationSecurityGroupCreate.json new file mode 100644 index 000000000000..98c3914236f3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationSecurityGroupCreate.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationSecurityGroupDelete.json new file mode 100644 index 000000000000..5372605bd6d2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationSecurityGroupDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "applicationSecurityGroupName": "test-asg" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationSecurityGroupGet.json new file mode 100644 index 000000000000..d9bb99e3bd0a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationSecurityGroupGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationSecurityGroupList.json new file mode 100644 index 000000000000..ce321ac6a49b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationSecurityGroupList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationSecurityGroupListAll.json new file mode 100644 index 000000000000..138e699ef1b2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationSecurityGroupListAll.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ApplicationSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationSecurityGroupUpdateTags.json new file mode 100644 index 000000000000..9154a9e8b4ef --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ApplicationSecurityGroupUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AutoApprovedPrivateLinkServicesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AutoApprovedPrivateLinkServicesGet.json new file mode 100644 index 000000000000..8aa16a3f17a3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AutoApprovedPrivateLinkServicesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json new file mode 100644 index 000000000000..81c20c9a20ff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AutoApprovedPrivateLinkServicesResourceGroupGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AvailableDelegationsResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AvailableDelegationsResourceGroupGet.json new file mode 100644 index 000000000000..44d179838def --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AvailableDelegationsResourceGroupGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AvailableDelegationsSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AvailableDelegationsSubscriptionGet.json new file mode 100644 index 000000000000..4713fa5cf33b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AvailableDelegationsSubscriptionGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AvailablePrivateEndpointTypesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AvailablePrivateEndpointTypesGet.json new file mode 100644 index 000000000000..87394c07c7f8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AvailablePrivateEndpointTypesGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json new file mode 100644 index 000000000000..2e573bd9aaca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AvailablePrivateEndpointTypesResourceGroupGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AvailableServiceAliasesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AvailableServiceAliasesList.json new file mode 100644 index 000000000000..5903346535bd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AvailableServiceAliasesList.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AvailableServiceAliasesListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AvailableServiceAliasesListByResourceGroup.json new file mode 100644 index 000000000000..67552f7d5e85 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AvailableServiceAliasesListByResourceGroup.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallDelete.json new file mode 100644 index 000000000000..9de43b9b0bf3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azurefirewall" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallFqdnTagsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallFqdnTagsListBySubscription.json new file mode 100644 index 000000000000..c0f13686735a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallFqdnTagsListBySubscription.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallGet.json new file mode 100644 index 000000000000..8c529e33026d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallGet.json @@ -0,0 +1,177 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallGetWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallGetWithAdditionalProperties.json new file mode 100644 index 000000000000..0f3257d60b0e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallGetWithAdditionalProperties.json @@ -0,0 +1,179 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallGetWithIpGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallGetWithIpGroups.json new file mode 100644 index 000000000000..4174aaf21933 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallGetWithIpGroups.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallGetWithMgmtSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallGetWithMgmtSubnet.json new file mode 100644 index 000000000000..66df33280b6c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallGetWithMgmtSubnet.json @@ -0,0 +1,190 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallGetWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallGetWithZones.json new file mode 100644 index 000000000000..531e8492eb8f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallGetWithZones.json @@ -0,0 +1,181 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallListByResourceGroup.json new file mode 100644 index 000000000000..8fc8dfd9e599 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallListByResourceGroup.json @@ -0,0 +1,193 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallListBySubscription.json new file mode 100644 index 000000000000..10daf931b69c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallListBySubscription.json @@ -0,0 +1,192 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallListLearnedIPPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallListLearnedIPPrefixes.json new file mode 100644 index 000000000000..36fe9aec1138 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallListLearnedIPPrefixes.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallPacketCapture.json new file mode 100644 index 000000000000..ef6fa4397e1c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallPacketCapture.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "azureFirewallName": "azureFirewall1", + "parameters": { + "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=2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallPut.json new file mode 100644 index 000000000000..537c44d73f86 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallPut.json @@ -0,0 +1,497 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallPutInHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallPutInHub.json new file mode 100644 index 000000000000..4594c2e39f5b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallPutInHub.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallPutWithAdditionalProperties.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallPutWithAdditionalProperties.json new file mode 100644 index 000000000000..905351cf3ccb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallPutWithAdditionalProperties.json @@ -0,0 +1,507 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallPutWithIpGroups.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallPutWithIpGroups.json new file mode 100644 index 000000000000..01385ce0f9b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallPutWithIpGroups.json @@ -0,0 +1,505 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallPutWithMgmtSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallPutWithMgmtSubnet.json new file mode 100644 index 000000000000..b0bba862b837 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallPutWithMgmtSubnet.json @@ -0,0 +1,507 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallPutWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallPutWithZones.json new file mode 100644 index 000000000000..581ab399ea78 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallPutWithZones.json @@ -0,0 +1,509 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureFirewallUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallUpdateTags.json new file mode 100644 index 000000000000..6954c64f3c5a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureFirewallUpdateTags.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureWebCategoriesListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureWebCategoriesListBySubscription.json new file mode 100644 index 000000000000..56c8b5ceaab4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureWebCategoriesListBySubscription.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/AzureWebCategoryGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureWebCategoryGet.json new file mode 100644 index 000000000000..c3c81e516c66 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/AzureWebCategoryGet.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/BastionHostDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostDelete.json new file mode 100644 index 000000000000..7c2ef63df08b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/BastionHostDeveloperDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostDeveloperDelete.json new file mode 100644 index 000000000000..807fe84d7718 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostDeveloperDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg2", + "bastionHostName": "bastionhostdeveloper" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/bastionHosts/{bastionHostName}/operationResults/{operationId}?api-version={api-version}" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostDeveloperGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostDeveloperGet.json new file mode 100644 index 000000000000..982c1eaf117f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostDeveloperGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhostdeveloper'" + }, + "responses": { + "200": { + "body": { + "name": "bastionhostdeveloper'", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/bastionHosts/bastionhostdeveloper'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Developer" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "networkAcls": { + "ipRules": [ + { + "addressPrefix": "1.1.1.1/16" + } + ] + }, + "dnsName": "omnibrain.uswest.bastionglobal.azure.com", + "ipConfigurations": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostDeveloperPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostDeveloperPut.json new file mode 100644 index 000000000000..902a852059af --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostDeveloperPut.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg2", + "bastionHostName": "bastionhostdeveloper", + "sku": { + "name": "Developer" + }, + "parameters": { + "properties": { + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "networkAcls": { + "ipRules": [ + { + "addressPrefix": "1.1.1.1/16" + } + ] + }, + "ipConfigurations": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "bastionhostdeveloper", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/bastionHosts/bastionhostdeveloper'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Developer" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "omnibrain.uswest.bastionglobal.azure.com", + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "networkAcls": { + "ipRules": [ + { + "addressPrefix": "1.1.1.1/16" + } + ] + }, + "ipConfigurations": [] + } + } + }, + "201": { + "body": { + "name": "bastionhostdeveloper'", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/bastionHosts/bastionhostdeveloper'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Developer" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "omnibrain.uswest.bastionglobal.azure.com", + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "networkAcls": { + "ipRules": [ + { + "addressPrefix": "1.1.1.1/16" + } + ] + }, + "ipConfigurations": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostGet.json new file mode 100644 index 000000000000..9b01a15f8d4e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostGet.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant'" + }, + "responses": { + "200": { + "body": { + "name": "bastionhost'", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "sku": { + "name": "Standard" + }, + "zones": [], + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "enableSessionRecording": 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/2024-01-01/examples/BastionHostGetWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostGetWithZones.json new file mode 100644 index 000000000000..018f4237dfa8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostGetWithZones.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant'" + }, + "responses": { + "200": { + "body": { + "name": "bastionhost'", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "sku": { + "name": "Standard" + }, + "zones": [ + "1", + "2" + ], + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "enableSessionRecording": 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/2024-01-01/examples/BastionHostListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostListByResourceGroup.json new file mode 100644 index 000000000000..a135be124490 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostListByResourceGroup.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "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", + "sku": { + "name": "Standard" + }, + "zones": [], + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "enableSessionRecording": 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/vnet/subnets/AzureBastionSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + }, + { + "name": "bastionhost2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhost2", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Premium" + }, + "zones": [], + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "enableSessionRecording": true, + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhost2/bastionHostIpConfigurations/IpConf", + "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/AzureBastionSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName2" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostListBySubscription.json new file mode 100644 index 000000000000..2748884ce5b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostListBySubscription.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "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", + "sku": { + "name": "Standard" + }, + "zones": [], + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "enableSessionRecording": 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/vnet/subnets/AzureBastionSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + }, + { + "name": "bastionhostdeveloper", + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/bastionHosts/bastionhostdeveloper", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Developer" + }, + "properties": { + "provisioningState": "Succeeded", + "virtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "networkAcls": { + "ipRules": [ + { + "addressPrefix": "1.1.1.1/16" + } + ] + }, + "dnsName": "omnibrain.uswest.bastionglobal.azure.com", + "ipConfigurations": [] + } + }, + { + "name": "bastionhost3", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhost3", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Premium" + }, + "zones": [], + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "enableSessionRecording": true, + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhost3/bastionHostIpConfigurations/IpConf", + "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/vnet3/subnets/AzureBastionSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName3" + } + } + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostPatch.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostPatch.json new file mode 100644 index 000000000000..ad6feeb607c6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostPatch.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2024-01-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, + "enableSessionRecording": 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/2024-01-01/examples/BastionHostPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostPut.json new file mode 100644 index 000000000000..65e08e9e747b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostPut.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "sku": { + "name": "Standard" + }, + "zones": [], + "parameters": { + "properties": { + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "bastionhost", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "enableSessionRecording": 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, + "enableSessionRecording": 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/2024-01-01/examples/BastionHostPutWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostPutWithZones.json new file mode 100644 index 000000000000..6b04ef5a47a7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionHostPutWithZones.json @@ -0,0 +1,116 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "sku": { + "name": "Standard" + }, + "zones": [ + "1", + "2" + ], + "parameters": { + "properties": { + "ipConfigurations": [ + { + "name": "bastionHostIpConfiguration", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet2/subnets/BastionHostSubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/pipName" + } + } + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "bastionhost", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/bastionHosts/bastionhosttenant'", + "type": "Microsoft.Network/bastionHosts", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "sku": { + "name": "Standard" + }, + "properties": { + "provisioningState": "Succeeded", + "dnsName": "bst-9d89d361-100e-4c01-b92d-466548c476dc.bastion.azure.com", + "scaleUnits": 2, + "disableCopyPaste": false, + "enableTunneling": false, + "enableIpConnect": false, + "enableShareableLink": false, + "enableKerberos": false, + "enableSessionRecording": 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, + "enableSessionRecording": 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/2024-01-01/examples/BastionSessionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionSessionDelete.json new file mode 100644 index 000000000000..99a8a0acc625 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionSessionDelete.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/BastionSessionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionSessionsList.json new file mode 100644 index 000000000000..25c853dafab9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionSessionsList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/BastionShareableLinkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionShareableLinkCreate.json new file mode 100644 index 000000000000..17f5741bbe9d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionShareableLinkCreate.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "bslRequest": { + "vms": [ + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm2" + } + } + ] + } + }, + "responses": { + "200": { + "body": { + "value": [ + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm1" + }, + "bsl": "http://bst-bastionhostid.bastion.com/api/shareable-url/tokenvm1", + "createdAt": "2019-10-18T12:00:00.0000Z" + }, + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm2" + }, + "bsl": "http://bst-bastionhostid.bastion.com/api/shareable-url/tokenvm2", + "createdAt": "2019-10-17T12:00:00.0000Z" + } + ] + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/operationResults/{operationId}?api-version={api-version}" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionShareableLinkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionShareableLinkDelete.json new file mode 100644 index 000000000000..d018d07e301c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionShareableLinkDelete.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "bslRequest": { + "vms": [ + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm1" + } + }, + { + "vm": { + "id": "/subscriptions/subid/resourceGroups/rgx/providers/Microsoft.Compute/virtualMachines/vm2" + } + } + ] + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/operationResults/{operationId}?api-version={api-version}" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionShareableLinkDeleteByToken.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionShareableLinkDeleteByToken.json new file mode 100644 index 000000000000..2270d5c7103a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionShareableLinkDeleteByToken.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "bastionHostName": "bastionhosttenant", + "bslTokenRequest": { + "tokens": [ + "abcd1234-efgh-hijk-5678-abcdefgh1234", + "dcba4321-hgfe-kjih-8765-hgfedcba4321" + ] + } + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/operationResults/{operationId}?api-version={api-version}" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionShareableLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionShareableLinkGet.json new file mode 100644 index 000000000000..505d8edf7b1e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/BastionShareableLinkGet.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/CheckDnsNameAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CheckDnsNameAvailability.json new file mode 100644 index 000000000000..62658a78e118 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CheckDnsNameAvailability.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "location": "westus", + "domainNameLabel": "testdns" + }, + "responses": { + "200": { + "body": { + "available": false + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CheckPrivateLinkServiceVisibility.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CheckPrivateLinkServiceVisibility.json new file mode 100644 index 000000000000..da5fcdd759d0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CheckPrivateLinkServiceVisibility.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json new file mode 100644 index 000000000000..71984e816166 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CheckPrivateLinkServiceVisibilityByResourceGroup.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/CloudServiceNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServiceNetworkInterfaceGet.json new file mode 100644 index 000000000000..17acc67c1f47 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServiceNetworkInterfaceGet.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/CloudServiceNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServiceNetworkInterfaceList.json new file mode 100644 index 000000000000..cf879e8db4d2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServiceNetworkInterfaceList.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/CloudServicePublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServicePublicIpGet.json new file mode 100644 index 000000000000..76f3efb0768e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServicePublicIpGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "cloudServiceName": "cs1", + "resourceGroupName": "cs-tester", + "api-version": "2024-01-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/2024-01-01/examples/CloudServicePublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServicePublicIpListAll.json new file mode 100644 index 000000000000..669198a5fa59 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServicePublicIpListAll.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "cloudServiceName": "cs1", + "resourceGroupName": "cs-tester", + "api-version": "2024-01-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/2024-01-01/examples/CloudServiceRoleInstanceNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServiceRoleInstanceNetworkInterfaceList.json new file mode 100644 index 000000000000..6d094a16a9ab --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServiceRoleInstanceNetworkInterfaceList.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/CloudServiceRoleInstancePublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServiceRoleInstancePublicIpList.json new file mode 100644 index 000000000000..9da0bc6f83d2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServiceRoleInstancePublicIpList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "cloudServiceName": "cs1", + "resourceGroupName": "cs-tester", + "api-version": "2024-01-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/2024-01-01/examples/CloudServiceSwapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServiceSwapGet.json new file mode 100644 index 000000000000..40b4a05669f1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServiceSwapGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/CloudServiceSwapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServiceSwapList.json new file mode 100644 index 000000000000..155aaeb160fc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServiceSwapList.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/CloudServiceSwapPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServiceSwapPut.json new file mode 100644 index 000000000000..61067c0b0190 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CloudServiceSwapPut.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ConfigurationPolicyGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ConfigurationPolicyGroupDelete.json new file mode 100644 index 000000000000..aeeacf5b3755 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ConfigurationPolicyGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "configurationPolicyGroupName": "policyGroup1", + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ConfigurationPolicyGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ConfigurationPolicyGroupGet.json new file mode 100644 index 000000000000..c5d243d8584b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ConfigurationPolicyGroupGet.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "configurationPolicyGroupName": "policyGroup1", + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/ConfigurationPolicyGroupListByVpnServerConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ConfigurationPolicyGroupListByVpnServerConfiguration.json new file mode 100644 index 000000000000..7ad204ab3a89 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ConfigurationPolicyGroupListByVpnServerConfiguration.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "api-version": "2024-01-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/2024-01-01/examples/ConfigurationPolicyGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ConfigurationPolicyGroupPut.json new file mode 100644 index 000000000000..8874e01eb1e0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ConfigurationPolicyGroupPut.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "configurationPolicyGroupName": "policyGroup1", + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/CustomIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CustomIpPrefixCreateCustomizedValues.json new file mode 100644 index 000000000000..c85c32a562a5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CustomIpPrefixCreateCustomizedValues.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/CustomIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CustomIpPrefixDelete.json new file mode 100644 index 000000000000..adecbb57dacf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CustomIpPrefixDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "customIpPrefixName": "test-customipprefix" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CustomIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CustomIpPrefixGet.json new file mode 100644 index 000000000000..22c051ae26cd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CustomIpPrefixGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/CustomIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CustomIpPrefixList.json new file mode 100644 index 000000000000..2383dc262455 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CustomIpPrefixList.json @@ -0,0 +1,122 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/CustomIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CustomIpPrefixListAll.json new file mode 100644 index 000000000000..b7fffd660a5c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CustomIpPrefixListAll.json @@ -0,0 +1,264 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/CustomIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CustomIpPrefixUpdateTags.json new file mode 100644 index 000000000000..9abda083671e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/CustomIpPrefixUpdateTags.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/DdosCustomPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosCustomPolicyCreate.json new file mode 100644 index 000000000000..fd244baa19af --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosCustomPolicyCreate.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/DdosCustomPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosCustomPolicyDelete.json new file mode 100644 index 000000000000..09e8195945ff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosCustomPolicyDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ddosCustomPolicyName": "test-ddos-custom-policy", + "parameters": { + "properties": {} + } + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/SampleRG/providers/Microsoft.Network/locations/tempLocation/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosCustomPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosCustomPolicyGet.json new file mode 100644 index 000000000000..e244a3f20fcc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosCustomPolicyGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/DdosCustomPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosCustomPolicyUpdateTags.json new file mode 100644 index 000000000000..b05df9b4f862 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosCustomPolicyUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/DdosProtectionPlanCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosProtectionPlanCreate.json new file mode 100644 index 000000000000..3ccf32db0ba2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosProtectionPlanCreate.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/DdosProtectionPlanDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosProtectionPlanDelete.json new file mode 100644 index 000000000000..c68c614070d3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosProtectionPlanDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosProtectionPlanGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosProtectionPlanGet.json new file mode 100644 index 000000000000..86c0de735fa3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosProtectionPlanGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/DdosProtectionPlanList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosProtectionPlanList.json new file mode 100644 index 000000000000..3f3bbd2d02fd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosProtectionPlanList.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/DdosProtectionPlanListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosProtectionPlanListAll.json new file mode 100644 index 000000000000..3ab25016b8a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosProtectionPlanListAll.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/DdosProtectionPlanUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosProtectionPlanUpdateTags.json new file mode 100644 index 000000000000..a3d4b41075c5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DdosProtectionPlanUpdateTags.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/DefaultSecurityRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DefaultSecurityRuleGet.json new file mode 100644 index 000000000000..f1c075977610 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DefaultSecurityRuleGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2024-01-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/2024-01-01/examples/DefaultSecurityRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DefaultSecurityRuleList.json new file mode 100644 index 000000000000..1cccfb1eb1ff --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DefaultSecurityRuleList.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2024-01-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/2024-01-01/examples/DscpConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DscpConfigurationCreate.json new file mode 100644 index 000000000000..47b547108f02 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DscpConfigurationCreate.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/DscpConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DscpConfigurationDelete.json new file mode 100644 index 000000000000..b46bd2f60cc1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DscpConfigurationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "dscpConfigurationName": "mydscpConfig" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DscpConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DscpConfigurationGet.json new file mode 100644 index 000000000000..430404049929 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DscpConfigurationGet.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/DscpConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DscpConfigurationList.json new file mode 100644 index 000000000000..4101dcf8283c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DscpConfigurationList.json @@ -0,0 +1,167 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/DscpConfigurationListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DscpConfigurationListAll.json new file mode 100644 index 000000000000..0644cda9a567 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/DscpConfigurationListAll.json @@ -0,0 +1,166 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/EffectiveRoutesListForConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/EffectiveRoutesListForConnection.json new file mode 100644 index 000000000000..e8635e2638e5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/EffectiveRoutesListForConnection.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2024-01-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/2024-01-01/examples/EffectiveRoutesListForRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/EffectiveRoutesListForRouteTable.json new file mode 100644 index 000000000000..93bd177662b0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/EffectiveRoutesListForRouteTable.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2024-01-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/2024-01-01/examples/EffectiveRoutesListForVirtualHub.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/EffectiveRoutesListForVirtualHub.json new file mode 100644 index 000000000000..9c0ea656c891 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/EffectiveRoutesListForVirtualHub.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2024-01-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/2024-01-01/examples/EndpointServicesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/EndpointServicesList.json new file mode 100644 index 000000000000..3f3e11914253 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/EndpointServicesList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCircuitARPTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitARPTableList.json new file mode 100644 index 000000000000..a88e086ec673 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitARPTableList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitAuthorizationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitAuthorizationCreate.json new file mode 100644 index 000000000000..da9d9686e630 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitAuthorizationCreate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "authorizationName": "authorizatinName", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCircuitAuthorizationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitAuthorizationDelete.json new file mode 100644 index 000000000000..cff0a5d15024 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitAuthorizationDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitAuthorizationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitAuthorizationGet.json new file mode 100644 index 000000000000..3a61bcc3893b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitAuthorizationGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCircuitAuthorizationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitAuthorizationList.json new file mode 100644 index 000000000000..d597cd4c7ea2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitAuthorizationList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCircuitConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitConnectionCreate.json new file mode 100644 index 000000000000..48406964a443 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitConnectionCreate.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCircuitConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitConnectionDelete.json new file mode 100644 index 000000000000..458019c08d64 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitConnectionDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "circuitName": "ExpressRouteARMCircuitA", + "peeringName": "AzurePrivatePeering", + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitConnectionGet.json new file mode 100644 index 000000000000..4b70d797e82a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitConnectionGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "connectionName": "circuitConnectionUSAUS", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitConnectionList.json new file mode 100644 index 000000000000..c1d1896b0889 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitConnectionList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCircuitCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitCreate.json new file mode 100644 index 000000000000..bba440fe286c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitCreate.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json new file mode 100644 index 000000000000..25966790b747 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitCreateOnExpressRoutePort.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-01-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" + }, + "enableDirectPortRateLimit": false, + "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" + }, + "enableDirectPortRateLimit": false, + "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" + }, + "enableDirectPortRateLimit": false, + "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/2024-01-01/examples/ExpressRouteCircuitDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitDelete.json new file mode 100644 index 000000000000..70e6bb20ad18 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitGet.json new file mode 100644 index 000000000000..6144d95d8108 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCircuitListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitListByResourceGroup.json new file mode 100644 index 000000000000..6bc956b530f9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitListByResourceGroup.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCircuitListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitListBySubscription.json new file mode 100644 index 000000000000..4881569fe9cd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitListBySubscription.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCircuitPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitPeeringCreate.json new file mode 100644 index 000000000000..d84a7a215912 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitPeeringCreate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCircuitPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitPeeringDelete.json new file mode 100644 index 000000000000..0b872322c675 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitPeeringDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitPeeringGet.json new file mode 100644 index 000000000000..7a9172c887b1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitPeeringGet.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCircuitPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitPeeringList.json new file mode 100644 index 000000000000..17f84cfb397a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitPeeringList.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCircuitPeeringStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitPeeringStats.json new file mode 100644 index 000000000000..27d9099dc967 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitPeeringStats.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCircuitRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitRouteTableList.json new file mode 100644 index 000000000000..d1a95fc3e9c6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitRouteTableList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitRouteTableSummaryList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitRouteTableSummaryList.json new file mode 100644 index 000000000000..90e317c7b536 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitRouteTableSummaryList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitStats.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitStats.json new file mode 100644 index 000000000000..784b7af62965 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitStats.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "circuitName": "circuitName", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "primarybytesIn": 537408, + "primarybytesOut": 44032550, + "secondarybytesIn": 0, + "secondarybytesOut": 39002500 + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitUpdateTags.json new file mode 100644 index 000000000000..07f5cffe023c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCircuitUpdateTags.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteConnectionCreate.json new file mode 100644 index 000000000000..aba45479f8a6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteConnectionCreate.json @@ -0,0 +1,138 @@ +{ + "parameters": { + "expressRouteGatewayName": "gateway-2", + "resourceGroupName": "resourceGroupName", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteConnectionDelete.json new file mode 100644 index 000000000000..46af71fbacf5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "connectionName": "connectionName", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteConnectionGet.json new file mode 100644 index 000000000000..3adf8e195e23 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteConnectionGet.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteConnectionList.json new file mode 100644 index 000000000000..f91e10117079 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteConnectionList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json new file mode 100644 index 000000000000..d58681e11015 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionBgpPeeringCreate.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json new file mode 100644 index 000000000000..86bbeefd7813 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionBgpPeeringDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Azure-AsyncOperation": "" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json new file mode 100644 index 000000000000..2fa010cdcfa4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionBgpPeeringGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json new file mode 100644 index 000000000000..788ea94f0792 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionBgpPeeringList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCrossConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionGet.json new file mode 100644 index 000000000000..9a6adf4e2c82 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCrossConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionList.json new file mode 100644 index 000000000000..6c44ea317ffe --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "name": "" + }, + "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/2024-01-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json new file mode 100644 index 000000000000..4a27517fc831 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionListByResourceGroup.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCrossConnectionUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionUpdate.json new file mode 100644 index 000000000000..5ac50e5c5c35 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCrossConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionUpdateTags.json new file mode 100644 index 000000000000..39d546ce9021 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionUpdateTags.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteCrossConnectionsArpTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionsArpTable.json new file mode 100644 index 000000000000..c04d98bb2d1c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionsArpTable.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "age": 0, + "interface": "Microsoft", + "ipAddress": "192.116.14.254", + "macAddress": "885a.9269.9110" + } + ] + } + }, + "202": { + "headers": { + "Azure-AsyncOperation": "" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionsRouteTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionsRouteTable.json new file mode 100644 index 000000000000..c70675f3bc68 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionsRouteTable.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2024-01-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": { + "headers": { + "Azure-AsyncOperation": "" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json new file mode 100644 index 000000000000..8e331268e76a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteCrossConnectionsRouteTableSummary.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "peeringName": "AzurePrivatePeering", + "crossConnectionName": "", + "resourceGroupName": "CrossConnection-SiliconValley", + "devicePath": "primary", + "api-version": "2024-01-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": { + "headers": { + "Azure-AsyncOperation": "" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteGatewayCreate.json new file mode 100644 index 000000000000..66506245a65d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteGatewayCreate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "expressRouteGatewayName": "gateway-2", + "subscriptionId": "subid", + "resourceGroupName": "resourceGroupName", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteGatewayDelete.json new file mode 100644 index 000000000000..1613a8cac871 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "202": {}, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteGatewayGet.json new file mode 100644 index 000000000000..56e3793792d5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteGatewayGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteGatewayListByResourceGroup.json new file mode 100644 index 000000000000..eb1c48e0c884 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteGatewayListByResourceGroup.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteGatewayListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteGatewayListBySubscription.json new file mode 100644 index 000000000000..ad733e861d93 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteGatewayListBySubscription.json @@ -0,0 +1,73 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteGatewayUpdateTags.json new file mode 100644 index 000000000000..91b4b7d42180 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteGatewayUpdateTags.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "expressRouteGatewayName": "expressRouteGatewayName", + "resourceGroupName": "resourceGroupName", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteLinkGet.json new file mode 100644 index 000000000000..db143874783d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteLinkGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteLinkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteLinkList.json new file mode 100644 index 000000000000..98cc9440fb6c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteLinkList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRoutePortAuthorizationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortAuthorizationCreate.json new file mode 100644 index 000000000000..b870edfb279d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortAuthorizationCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "expressRoutePortName": "expressRoutePortName", + "resourceGroupName": "rg1", + "authorizationName": "authorizatinName", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRoutePortAuthorizationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortAuthorizationDelete.json new file mode 100644 index 000000000000..22203ddd57ae --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortAuthorizationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "expressRoutePortName": "expressRoutePortName", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid", + "authorizationName": "authorizationName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortAuthorizationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortAuthorizationGet.json new file mode 100644 index 000000000000..36ec8cfa4f45 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortAuthorizationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "expressRoutePortName": "expressRoutePortName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRoutePortAuthorizationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortAuthorizationList.json new file mode 100644 index 000000000000..e4a237d539b4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortAuthorizationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "expressRoutePortName": "expressRoutePortName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRoutePortCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortCreate.json new file mode 100644 index 000000000000..63e82b711ba4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortCreate.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRoutePortDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortDelete.json new file mode 100644 index 000000000000..e760dbdbee10 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-01-01", + "resourceGroupName": "rg1", + "expressRoutePortName": "portName" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortGet.json new file mode 100644 index 000000000000..909dbe773cd0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortGet.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRoutePortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortList.json new file mode 100644 index 000000000000..2faaa47d7c7a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortList.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRoutePortListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortListByResourceGroup.json new file mode 100644 index 000000000000..e5b015679101 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortListByResourceGroup.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRoutePortUpdateLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortUpdateLink.json new file mode 100644 index 000000000000..9ad2d1c69cc2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortUpdateLink.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRoutePortUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortUpdateTags.json new file mode 100644 index 000000000000..933876448c19 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortUpdateTags.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRoutePortsLocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortsLocationGet.json new file mode 100644 index 000000000000..effaf03bb0a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortsLocationGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRoutePortsLocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortsLocationList.json new file mode 100644 index 000000000000..e99cb97ed4c7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRoutePortsLocationList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-01-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/2024-01-01/examples/ExpressRouteProviderList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteProviderList.json new file mode 100644 index 000000000000..5e4d02b3fa5f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ExpressRouteProviderList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyDelete.json new file mode 100644 index 000000000000..eac12afdd01d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyDraftDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyDraftDelete.json new file mode 100644 index 000000000000..430b3d42c8d8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyDraftDelete.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyDraftDeploy.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyDraftDeploy.json new file mode 100644 index 000000000000..8140f23b6c71 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyDraftDeploy.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy" + }, + "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=2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyDraftGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyDraftGet.json new file mode 100644 index 000000000000..5ee5281df296 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyDraftGet.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2024-01-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", + "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" + }, + "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": [ + "*" + ] + } + ] + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyDraftPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyDraftPut.json new file mode 100644 index 000000000000..7d76257814cd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyDraftPut.json @@ -0,0 +1,281 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": { + "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" + }, + "intrusionDetection": { + "mode": "Alert", + "profile": "Balanced", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "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" + }, + "intrusionDetection": { + "mode": "Alert", + "profile": "Balanced", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + } + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "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" + }, + "intrusionDetection": { + "mode": "Alert", + "profile": "Balanced", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyGet.json new file mode 100644 index 000000000000..b7ee953f488f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyGet.json @@ -0,0 +1,123 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy" + }, + "responses": { + "200": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "size": "0.5MB", + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + } + ], + "insights": { + "isEnabled": true, + "retentionDays": 100, + "logAnalyticsResources": { + "workspaces": [ + { + "region": "westus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace1" + } + }, + { + "region": "eastus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace2" + } + } + ], + "defaultWorkspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/defaultWorkspace" + } + } + }, + "firewalls": [], + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "explicitProxy": { + "enableExplicitProxy": true, + "httpPort": 8087, + "httpsPort": 8087, + "enablePacFile": true, + "pacFilePort": 8087, + "pacFile": "https://tinawstorage.file.core.windows.net/?sv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacuptfx&se=2021-06-04T07:01:12Z&st=2021-06-03T23:01:12Z&sip=68.65.171.11&spr=https&sig=Plsa0RRVpGbY0IETZZOT6znOHcSro71LLTTbzquYPgs%3D" + }, + "sku": { + "tier": "Premium" + }, + "intrusionDetection": { + "mode": "Alert", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + }, + "transportSecurity": { + "certificateAuthority": { + "name": "clientcert", + "keyVaultSecretId": "https://kv/secret" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyListByResourceGroup.json new file mode 100644 index 000000000000..373f19fa9600 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyListByResourceGroup.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyListBySubscription.json new file mode 100644 index 000000000000..329057d79215 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyListBySubscription.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyNatRuleCollectionGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyNatRuleCollectionGroupGet.json new file mode 100644 index 000000000000..20cc966e1c2b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyNatRuleCollectionGroupGet.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyNatRuleCollectionGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyNatRuleCollectionGroupPut.json new file mode 100644 index 000000000000..88ba4888b7b0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyNatRuleCollectionGroupPut.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyPatch.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyPatch.json new file mode 100644 index 000000000000..87ca634593ea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyPatch.json @@ -0,0 +1,128 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "myResourceGroup", + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyPut.json new file mode 100644 index 000000000000..2a39bdb351ae --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyPut.json @@ -0,0 +1,344 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "parameters": { + "tags": { + "key1": "value1" + }, + "location": "West US", + "properties": { + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "insights": { + "isEnabled": true, + "retentionDays": 100, + "logAnalyticsResources": { + "workspaces": [ + { + "region": "westus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace1" + } + }, + { + "region": "eastus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace2" + } + } + ], + "defaultWorkspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/defaultWorkspace" + } + } + }, + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "explicitProxy": { + "enableExplicitProxy": true, + "httpPort": 8087, + "httpsPort": 8087, + "enablePacFile": true, + "pacFilePort": 8087, + "pacFile": "https://tinawstorage.file.core.windows.net/?sv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacuptfx&se=2021-06-04T07:01:12Z&st=2021-06-03T23:01:12Z&sip=68.65.171.11&spr=https&sig=Plsa0RRVpGbY0IETZZOT6znOHcSro71LLTTbzquYPgs%3D" + }, + "sku": { + "tier": "Premium" + }, + "intrusionDetection": { + "mode": "Alert", + "profile": "Balanced", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + }, + "transportSecurity": { + "certificateAuthority": { + "name": "clientcert", + "keyVaultSecretId": "https://kv/secret" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "size": "0.5MB", + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup2" + } + ], + "insights": { + "isEnabled": true, + "retentionDays": 100, + "logAnalyticsResources": { + "workspaces": [ + { + "region": "westus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace1" + } + }, + { + "region": "eastus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace2" + } + } + ], + "defaultWorkspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/defaultWorkspace" + } + } + }, + "firewalls": [], + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "explicitProxy": { + "enableExplicitProxy": true, + "httpPort": 8087, + "httpsPort": 8087, + "enablePacFile": true, + "pacFilePort": 8087, + "pacFile": "https://tinawstorage.file.core.windows.net/?sv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacuptfx&se=2021-06-04T07:01:12Z&st=2021-06-03T23:01:12Z&sip=68.65.171.11&spr=https&sig=Plsa0RRVpGbY0IETZZOT6znOHcSro71LLTTbzquYPgs%3D" + }, + "sku": { + "tier": "Premium" + }, + "intrusionDetection": { + "mode": "Alert", + "profile": "Balanced", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + }, + "transportSecurity": { + "certificateAuthority": { + "name": "clientcert", + "keyVaultSecretId": "https://kv/secret" + } + } + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "type": "Microsoft.Network/firewallPolicies", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "location": "West US", + "tags": { + "key1": "value1" + }, + "properties": { + "size": "0.5MB", + "provisioningState": "Succeeded", + "threatIntelMode": "Alert", + "threatIntelWhitelist": { + "ipAddresses": [ + "20.3.4.5" + ], + "fqdns": [ + "*.microsoft.com" + ] + }, + "ruleCollectionGroups": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup2" + } + ], + "insights": { + "isEnabled": true, + "retentionDays": 100, + "logAnalyticsResources": { + "workspaces": [ + { + "region": "westus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace1" + } + }, + { + "region": "eastus", + "workspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/workspace2" + } + } + ], + "defaultWorkspaceId": { + "id": "/subscriptions/subid/resourcegroups/rg1/providers/microsoft.operationalinsights/workspaces/defaultWorkspace" + } + } + }, + "firewalls": [], + "snat": { + "privateRanges": [ + "IANAPrivateRanges" + ] + }, + "sql": { + "allowSqlRedirect": true + }, + "dnsSettings": { + "servers": [ + "30.3.4.5" + ], + "enableProxy": true, + "requireProxyForNetworkRules": false + }, + "explicitProxy": { + "enableExplicitProxy": true, + "httpPort": 8087, + "httpsPort": 8087, + "enablePacFile": true, + "pacFilePort": 8087, + "pacFile": "https://tinawstorage.file.core.windows.net/?sv=2020-02-10&ss=bfqt&srt=sco&sp=rwdlacuptfx&se=2021-06-04T07:01:12Z&st=2021-06-03T23:01:12Z&sip=68.65.171.11&spr=https&sig=Plsa0RRVpGbY0IETZZOT6znOHcSro71LLTTbzquYPgs%3D" + }, + "sku": { + "tier": "Premium" + }, + "intrusionDetection": { + "mode": "Alert", + "profile": "Balanced", + "configuration": { + "signatureOverrides": [ + { + "id": "2525004", + "mode": "Deny" + } + ], + "bypassTrafficSettings": [ + { + "name": "bypassRule1", + "description": "Rule 1", + "protocol": "TCP", + "sourceAddresses": [ + "1.2.3.4" + ], + "destinationAddresses": [ + "5.6.7.8" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + }, + "transportSecurity": { + "certificateAuthority": { + "name": "clientcert", + "keyVaultSecretId": "https://kv/secret" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyQuerySignatureOverrides.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyQuerySignatureOverrides.json new file mode 100644 index 000000000000..300df1eec1cf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyQuerySignatureOverrides.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyQuerySignatureOverridesFilterValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyQuerySignatureOverridesFilterValues.json new file mode 100644 index 000000000000..163df3a7bde6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyQuerySignatureOverridesFilterValues.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyRuleCollectionGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupDelete.json new file mode 100644 index 000000000000..66cc19756f5d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyRuleCollectionGroupDraftDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupDraftDelete.json new file mode 100644 index 000000000000..9092c1055670 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupDraftDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "ruleCollectionGroupName": "ruleCollectionGroup1" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupDraftGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupDraftGet.json new file mode 100644 index 000000000000..1970eb1704e3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupDraftGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "properties": { + "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/2024-01-01/examples/FirewallPolicyRuleCollectionGroupDraftPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupDraftPut.json new file mode 100644 index 000000000000..06cc5e3d9985 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupDraftPut.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "api-version": "2024-01-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", + "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": [ + "*" + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "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": [ + "*" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupGet.json new file mode 100644 index 000000000000..5a2392726be8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupGet.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "size": "1.2MB", + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 200, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupList.json new file mode 100644 index 000000000000..b045c0d10b7f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyRuleCollectionGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupPut.json new file mode 100644 index 000000000000..299aff14856e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupPut.json @@ -0,0 +1,124 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "ruleCollectionGroupName": "ruleCollectionGroup1", + "parameters": { + "properties": { + "priority": 100, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 100, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "size": "1.2MB", + "provisioningState": "Succeeded", + "priority": 100, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 100, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "firewallPolicy", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "size": "1.2MB", + "provisioningState": "Succeeded", + "priority": 100, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "priority": 100, + "action": { + "type": "Deny" + }, + "rules": [ + { + "ruleType": "NetworkRule", + "name": "network-rule1", + "sourceAddresses": [ + "10.1.25.0/24" + ], + "destinationAddresses": [ + "*" + ], + "ipProtocols": [ + "TCP" + ], + "destinationPorts": [ + "*" + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithHttpHeadersToInsert.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithHttpHeadersToInsert.json new file mode 100644 index 000000000000..cc17420ffa0f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithHttpHeadersToInsert.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "e747cc13-97d4-4a79-b463-42d7f4e558f2", + "resourceGroupName": "rg1", + "firewallPolicyName": "firewallPolicy", + "ruleCollectionGroupName": "ruleCollectionGroup1", + "parameters": { + "properties": { + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Allow" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Insert trusted tenants header", + "protocols": [ + { + "protocolType": "Http", + "port": 80 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "fqdnTags": [ + "WindowsVirtualDesktop" + ], + "httpHeadersToInsert": [ + { + "headerName": "Restrict-Access-To-Tenants", + "headerValue": "contoso.com,fabrikam.onmicrosoft.com" + } + ] + } + ] + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Allow" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Insert trusted tenants header", + "protocols": [ + { + "protocolType": "Http", + "port": 80 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "fqdnTags": [ + "WindowsVirtualDesktop" + ], + "httpHeadersToInsert": [ + { + "headerName": "Restrict-Access-To-Tenants", + "headerValue": "contoso.com,fabrikam.onmicrosoft.com" + } + ] + } + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "ruleCollectionGroup1", + "id": "/subscriptions/e747cc13-97d4-4a79-b463-42d7f4e558f2/resourceGroups/rg1/providers/Microsoft.Network/firewallPolicies/firewallPolicy/ruleCollectionGroups/ruleCollectionGroup1", + "etag": "w/\\00000000-0000-0000-0000-000000000000\\", + "properties": { + "provisioningState": "Succeeded", + "priority": 110, + "ruleCollections": [ + { + "ruleCollectionType": "FirewallPolicyFilterRuleCollection", + "name": "Example-Filter-Rule-Collection", + "action": { + "type": "Allow" + }, + "rules": [ + { + "ruleType": "ApplicationRule", + "name": "rule1", + "description": "Insert trusted tenants header", + "protocols": [ + { + "protocolType": "Http", + "port": 80 + } + ], + "sourceAddresses": [ + "216.58.216.164", + "10.0.0.0/24" + ], + "fqdnTags": [ + "WindowsVirtualDesktop" + ], + "httpHeadersToInsert": [ + { + "headerName": "Restrict-Access-To-Tenants", + "headerValue": "contoso.com,fabrikam.onmicrosoft.com" + } + ] + } + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json new file mode 100644 index 000000000000..bd05c490b421 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json new file mode 100644 index 000000000000..bebafcd8c97f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json new file mode 100644 index 000000000000..10f73c1acf1c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json @@ -0,0 +1,119 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesGet.json new file mode 100644 index 000000000000..0376ba2c7853 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesGet.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "ruleCollectionGroupName": "ruleCollectionGroup1", + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesList.json new file mode 100644 index 000000000000..d3cf8508de45 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesList.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "firewallPolicyName": "firewallPolicy", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json new file mode 100644 index 000000000000..51a88539d444 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicySignatureOverridesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicySignatureOverridesGet.json new file mode 100644 index 000000000000..bb7f2bf9ad2e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicySignatureOverridesGet.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicySignatureOverridesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicySignatureOverridesList.json new file mode 100644 index 000000000000..4c592fc7e4e3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicySignatureOverridesList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicySignatureOverridesPatch.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicySignatureOverridesPatch.json new file mode 100644 index 000000000000..245cad9aa0e8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicySignatureOverridesPatch.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/FirewallPolicySignatureOverridesPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicySignatureOverridesPut.json new file mode 100644 index 000000000000..245cad9aa0e8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/FirewallPolicySignatureOverridesPut.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/GenerateExpressRoutePortsLOA.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/GenerateExpressRoutePortsLOA.json new file mode 100644 index 000000000000..d2daf43554ef --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/GenerateExpressRoutePortsLOA.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "subscriptionId": "subid", + "api-version": "2024-01-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/2024-01-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json new file mode 100644 index 000000000000..e983dbb4598c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/GenerateVirtualWanVpnServerConfigurationVpnProfile.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/GetApplicationGatewayWafDynamicManifests.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/GetApplicationGatewayWafDynamicManifests.json new file mode 100644 index 000000000000..d43626f03a9e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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/2024-01-01/examples/GetApplicationGatewayWafDynamicManifestsDefault.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/GetApplicationGatewayWafDynamicManifestsDefault.json new file mode 100644 index 000000000000..1cc8e34e1230 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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/2024-01-01/examples/GetInboundRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/GetInboundRoutes.json new file mode 100644 index 000000000000..1fd79b510610 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/GetInboundRoutes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2024-01-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/2024-01-01/examples/GetOutboundRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/GetOutboundRoutes.json new file mode 100644 index 000000000000..b2863f48ed0e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/GetOutboundRoutes.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2024-01-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/2024-01-01/examples/GetVirtualWanVpnServerConfigurations.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/GetVirtualWanVpnServerConfigurations.json new file mode 100644 index 000000000000..21f8dd5de979 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/GetVirtualWanVpnServerConfigurations.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/HubRouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubRouteTableDelete.json new file mode 100644 index 000000000000..898c27ca8cc6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubRouteTableDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubRouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubRouteTableGet.json new file mode 100644 index 000000000000..a74feff044a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubRouteTableGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/HubRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubRouteTableList.json new file mode 100644 index 000000000000..d2f603bc49b6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubRouteTableList.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/HubRouteTablePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubRouteTablePut.json new file mode 100644 index 000000000000..aab0d4de9888 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubRouteTablePut.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "routeTableName": "hubRouteTable1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/HubVirtualNetworkConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubVirtualNetworkConnectionDelete.json new file mode 100644 index 000000000000..9dbf403b7858 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubVirtualNetworkConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubVirtualNetworkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubVirtualNetworkConnectionGet.json new file mode 100644 index 000000000000..2ffda37e0115 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubVirtualNetworkConnectionGet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/HubVirtualNetworkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubVirtualNetworkConnectionList.json new file mode 100644 index 000000000000..d94f87e2bd26 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubVirtualNetworkConnectionList.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/HubVirtualNetworkConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubVirtualNetworkConnectionPut.json new file mode 100644 index 000000000000..d1a57d5304bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/HubVirtualNetworkConnectionPut.json @@ -0,0 +1,194 @@ +{ + "parameters": { + "connectionName": "connection1", + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/InboundNatRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/InboundNatRuleCreate.json new file mode 100644 index 000000000000..805e5dce4a85 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/InboundNatRuleCreate.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2024-01-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/2024-01-01/examples/InboundNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/InboundNatRuleDelete.json new file mode 100644 index 000000000000..25687b40d5c2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/InboundNatRuleDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2024-01-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=2024-01-01" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + } + }, + "204": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/InboundNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/InboundNatRuleGet.json new file mode 100644 index 000000000000..1a8dca67ed61 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/InboundNatRuleGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2024-01-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/2024-01-01/examples/InboundNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/InboundNatRuleList.json new file mode 100644 index 000000000000..09a152726985 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/InboundNatRuleList.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2024-01-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/2024-01-01/examples/InboundSecurityRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/InboundSecurityRuleGet.json new file mode 100644 index 000000000000..a8e2baa3823b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/InboundSecurityRuleGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "ruleCollectionName": "rule1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "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": { + "ruleType": "Permanent", + "provisioningState": "Succeeded", + "rules": [ + { + "name": "inboundRule1", + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22, + "destinationPortRanges": [ + "80-100" + ], + "appliesOn": [ + "slbip1" + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/InboundSecurityRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/InboundSecurityRulePut.json new file mode 100644 index 000000000000..a986f359d370 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/InboundSecurityRulePut.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "ruleCollectionName": "rule1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva", + "parameters": { + "properties": { + "ruleType": "Permanent", + "rules": [ + { + "name": "inboundRule1", + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22, + "destinationPortRanges": [ + "80-100" + ], + "appliesOn": [ + "slbip1" + ] + } + ] + } + } + }, + "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": { + "ruleType": "Permanent", + "provisioningState": "Succeeded", + "rules": [ + { + "name": "inboundRule1", + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22, + "destinationPortRanges": [ + "80-100" + ], + "appliesOn": [ + "slbip1" + ] + } + ] + } + } + }, + "201": { + "body": { + "name": "rule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva/InboundSecurityRules/rule1", + "etag": "W/\"72090554-7e3b-43f2-80ad-99a9020dcb11\"", + "properties": { + "ruleType": "Permanent", + "provisioningState": "Succeeded", + "rules": [ + { + "name": "inboundRule1", + "protocol": "TCP", + "sourceAddressPrefix": "50.20.121.5/32", + "destinationPortRange": 22, + "destinationPortRanges": [ + "80-100" + ], + "appliesOn": [ + "slbip1" + ] + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpAllocationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpAllocationCreate.json new file mode 100644 index 000000000000..0f2354c71849 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpAllocationCreate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/IpAllocationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpAllocationDelete.json new file mode 100644 index 000000000000..0d63d84370d8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpAllocationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "ipAllocationName": "test-ipallocation" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpAllocationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpAllocationGet.json new file mode 100644 index 000000000000..44ef91cf6c13 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpAllocationGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/IpAllocationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpAllocationList.json new file mode 100644 index 000000000000..220df4f9dd3b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpAllocationList.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/IpAllocationListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpAllocationListByResourceGroup.json new file mode 100644 index 000000000000..3ee27b80e775 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpAllocationListByResourceGroup.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/IpAllocationUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpAllocationUpdateTags.json new file mode 100644 index 000000000000..d7a871846ec2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpAllocationUpdateTags.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/IpGroupsCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpGroupsCreate.json new file mode 100644 index 000000000000..fd0769cd4806 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpGroupsCreate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/IpGroupsDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpGroupsDelete.json new file mode 100644 index 000000000000..c9fd4ff06c54 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpGroupsDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subId", + "resourceGroupName": "myResourceGroup", + "ipGroupsName": "ipGroups1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpGroupsGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpGroupsGet.json new file mode 100644 index 000000000000..78e4d6685d46 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpGroupsGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/IpGroupsListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpGroupsListByResourceGroup.json new file mode 100644 index 000000000000..815d75ee28f3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpGroupsListByResourceGroup.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/IpGroupsListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpGroupsListBySubscription.json new file mode 100644 index 000000000000..9c464615f17e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpGroupsListBySubscription.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/IpGroupsUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpGroupsUpdateTags.json new file mode 100644 index 000000000000..45220f15f13a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/IpGroupsUpdateTags.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "ipGroupsName": "ipGroups1", + "resourceGroupName": "myResourceGroup", + "api-version": "2024-01-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/2024-01-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json new file mode 100644 index 000000000000..534f81522980 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LBBackendAddressPoolListWithBackendAddressesPoolType.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2024-01-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/2024-01-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json new file mode 100644 index 000000000000..26f0e2b90e00 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LBBackendAddressPoolWithBackendAddressesGet.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2024-01-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/2024-01-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json new file mode 100644 index 000000000000..ca476c2e8c03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LBBackendAddressPoolWithBackendAddressesPut.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerBackendAddressPoolDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerBackendAddressPoolDelete.json new file mode 100644 index 000000000000..fdd8a148163a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerBackendAddressPoolDelete.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2024-01-01" + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + } + }, + "204": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerBackendAddressPoolGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerBackendAddressPoolGet.json new file mode 100644 index 000000000000..3d16a47758c9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerBackendAddressPoolGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "backendAddressPoolName": "backend", + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerBackendAddressPoolList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerBackendAddressPoolList.json new file mode 100644 index 000000000000..b897fffced70 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerBackendAddressPoolList.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreate.json new file mode 100644 index 000000000000..2016b6f52594 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreate.json @@ -0,0 +1,342 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json new file mode 100644 index 000000000000..6a29746fbbf3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateGatewayLoadBalancerConsumer.json @@ -0,0 +1,351 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json new file mode 100644 index 000000000000..2510a5110004 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithOneBackendPool.json @@ -0,0 +1,333 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Gateway" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "properties": { + "tunnelInterfaces": [ + { + "port": 15000, + "identifier": 900, + "protocol": "VXLAN", + "type": "Internal" + }, + { + "port": 15001, + "identifier": 901, + "protocol": "VXLAN", + "type": "Internal" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 0, + "backendPort": 0, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "All", + "loadDistribution": "Default", + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1 + } + } + ], + "inboundNatPools": [], + "outboundRules": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Gateway" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15000, + "identifier": 900, + "protocol": "VXLAN", + "type": "Internal" + }, + { + "port": 15001, + "identifier": 901, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Gateway" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15000, + "identifier": 900, + "protocol": "VXLAN", + "type": "Internal" + }, + { + "port": 15001, + "identifier": 901, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json new file mode 100644 index 000000000000..21e24a6ae954 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateGatewayLoadBalancerProviderWithTwoBackendPool.json @@ -0,0 +1,364 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "loadBalancerName": "lb", + "parameters": { + "location": "eastus", + "sku": { + "name": "Gateway" + }, + "properties": { + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "properties": { + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + } + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb1", + "properties": {} + }, + { + "name": "be-lb2", + "properties": {} + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 0, + "backendPort": 0, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "All", + "loadDistribution": "Default", + "backendAddressPool": {}, + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + } + } + } + ], + "probes": [ + { + "name": "probe-lb", + "properties": { + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1 + } + } + ], + "inboundNatPools": [], + "outboundRules": [] + } + } + }, + "responses": { + "200": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Gateway" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ], + "inboundNatRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/inboundNatRules/in-nat-rule" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15000, + "identifier": 900, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + }, + { + "name": "be-lb2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15001, + "identifier": 901, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 0, + "backendPort": 0, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + }, + "201": { + "body": { + "name": "lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb", + "type": "Microsoft.Network/loadBalancers", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "location": "eastus", + "sku": { + "name": "Gateway" + }, + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-00000000", + "frontendIPConfigurations": [ + { + "name": "fe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb", + "type": "Microsoft.Network/loadBalancers/frontendIPConfigurations", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "10.0.1.4", + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnetlb/subnets/subnetlb" + }, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "backendAddressPools": [ + { + "name": "be-lb1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15000, + "identifier": 900, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + }, + { + "name": "be-lb2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2", + "type": "Microsoft.Network/loadBalancers/backendAddressPools", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "tunnelInterfaces": [ + { + "port": 15001, + "identifier": 901, + "protocol": "VXLAN", + "type": "Internal" + } + ], + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "loadBalancingRules": [ + { + "name": "rulelb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb", + "type": "Microsoft.Network/loadBalancers/loadBalancingRules", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "frontendIPConfiguration": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/frontendIPConfigurations/fe-lb" + }, + "frontendPort": 80, + "backendPort": 80, + "enableFloatingIP": true, + "idleTimeoutInMinutes": 15, + "protocol": "Tcp", + "loadDistribution": "Default", + "backendAddressPools": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb1" + }, + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/backendAddressPools/be-lb2" + } + ], + "probe": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb" + }, + "disableOutboundSnat": false + } + } + ], + "probes": [ + { + "name": "probe-lb", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/probes/probe-lb", + "type": "Microsoft.Network/loadBalancers/probes", + "etag": "W/\"00000000-0000-0000-0000-00000000\"", + "properties": { + "provisioningState": "Succeeded", + "protocol": "Http", + "port": 80, + "requestPath": "healthcheck.aspx", + "intervalInSeconds": 15, + "numberOfProbes": 2, + "probeThreshold": 1, + "loadBalancingRules": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/loadBalancers/lb/loadBalancingRules/rulelb" + } + ] + } + } + ], + "outboundRules": [], + "inboundNatPools": [] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateGlobalTier.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateGlobalTier.json new file mode 100644 index 000000000000..f36e53cfa76c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateGlobalTier.json @@ -0,0 +1,317 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerCreateStandardSku.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateStandardSku.json new file mode 100644 index 000000000000..cef10be2be99 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateStandardSku.json @@ -0,0 +1,342 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerCreateWithInboundNatPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateWithInboundNatPool.json new file mode 100644 index 000000000000..317c8485b1e2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateWithInboundNatPool.json @@ -0,0 +1,180 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerCreateWithOutboundRules.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateWithOutboundRules.json new file mode 100644 index 000000000000..16dac99a5c84 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateWithOutboundRules.json @@ -0,0 +1,426 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerCreateWithSyncModePropertyOnPool.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateWithSyncModePropertyOnPool.json new file mode 100644 index 000000000000..9cd1923c7351 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateWithSyncModePropertyOnPool.json @@ -0,0 +1,355 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerCreateWithZones.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateWithZones.json new file mode 100644 index 000000000000..f0d098ab5d88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerCreateWithZones.json @@ -0,0 +1,351 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerDelete.json new file mode 100644 index 000000000000..57b606161d0e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerDelete.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + } + }, + "204": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerFrontendIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerFrontendIPConfigurationGet.json new file mode 100644 index 000000000000..f654345ad768 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerFrontendIPConfigurationGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "frontendIPConfigurationName": "frontend", + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerFrontendIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerFrontendIPConfigurationList.json new file mode 100644 index 000000000000..d2de0e406907 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerFrontendIPConfigurationList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "resourceGroupName": "testrg", + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerGet.json new file mode 100644 index 000000000000..6e3359baca66 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerGet.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerGetInboundNatRulePortMapping.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerGetInboundNatRulePortMapping.json new file mode 100644 index 000000000000..220f51cdce8c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerGetInboundNatRulePortMapping.json @@ -0,0 +1,163 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerList.json new file mode 100644 index 000000000000..1ab055f46de9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerList.json @@ -0,0 +1,162 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerListAll.json new file mode 100644 index 000000000000..2691518e35df --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerListAll.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerLoadBalancingRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerLoadBalancingRuleGet.json new file mode 100644 index 000000000000..cc1d43714276 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerLoadBalancingRuleGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "loadBalancingRuleName": "rule1", + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerLoadBalancingRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerLoadBalancingRuleList.json new file mode 100644 index 000000000000..4ee310b67c8a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerLoadBalancingRuleList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerNetworkInterfaceListSimple.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerNetworkInterfaceListSimple.json new file mode 100644 index 000000000000..5d0ee469de03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerNetworkInterfaceListSimple.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerNetworkInterfaceListVmss.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerNetworkInterfaceListVmss.json new file mode 100644 index 000000000000..ce048119e86f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerNetworkInterfaceListVmss.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerOutboundRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerOutboundRuleGet.json new file mode 100644 index 000000000000..a10211b2667c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerOutboundRuleGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "outboundRuleName": "rule1", + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerOutboundRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerOutboundRuleList.json new file mode 100644 index 000000000000..f8c60d3065a1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerOutboundRuleList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb1", + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerProbeGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerProbeGet.json new file mode 100644 index 000000000000..c80d723630f8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerProbeGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "probeName": "probe1", + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerProbeList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerProbeList.json new file mode 100644 index 000000000000..0adefe3453bf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerProbeList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "loadBalancerName": "lb", + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancerUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerUpdateTags.json new file mode 100644 index 000000000000..2e15dec8b14e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancerUpdateTags.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LoadBalancersSwapPublicIpAddresses.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancersSwapPublicIpAddresses.json new file mode 100644 index 000000000000..cde9f2bed8db --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LoadBalancersSwapPublicIpAddresses.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LocalNetworkGatewayCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LocalNetworkGatewayCreate.json new file mode 100644 index 000000000000..c5cef2e9fefa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LocalNetworkGatewayCreate.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LocalNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LocalNetworkGatewayDelete.json new file mode 100644 index 000000000000..9250b81630da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LocalNetworkGatewayDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LocalNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LocalNetworkGatewayGet.json new file mode 100644 index 000000000000..ebd4abe357ef --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LocalNetworkGatewayGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LocalNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LocalNetworkGatewayList.json new file mode 100644 index 000000000000..e2d542cc856d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LocalNetworkGatewayList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/LocalNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LocalNetworkGatewayUpdateTags.json new file mode 100644 index 000000000000..71c3b27c7fb7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/LocalNetworkGatewayUpdateTags.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/MigrateLoadBalancerToIPBased.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/MigrateLoadBalancerToIPBased.json new file mode 100644 index 000000000000..be1f711e8faa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/MigrateLoadBalancerToIPBased.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NatGatewayCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatGatewayCreateOrUpdate.json new file mode 100644 index 000000000000..f5a337e495aa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatGatewayCreateOrUpdate.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NatGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatGatewayDelete.json new file mode 100644 index 000000000000..31abcb10ffe2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatGatewayDelete.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "natGatewayName": "test-natGateway" + }, + "responses": { + "200": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + } + }, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + } + }, + "204": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/westus2/operationResults/00000000-0000-0000-0000-000000000000?api-version=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatGatewayGet.json new file mode 100644 index 000000000000..223aa8b32d7f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatGatewayGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NatGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatGatewayList.json new file mode 100644 index 000000000000..56b1fb065aed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatGatewayList.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NatGatewayListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatGatewayListAll.json new file mode 100644 index 000000000000..1bd0d65f9e39 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatGatewayListAll.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NatGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatGatewayUpdateTags.json new file mode 100644 index 000000000000..2dac52d44893 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatGatewayUpdateTags.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatRuleDelete.json new file mode 100644 index 000000000000..96a7ee54058f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatRuleGet.json new file mode 100644 index 000000000000..690b6a167f0d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatRuleGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "natRuleName": "natRule1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/NatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatRuleList.json new file mode 100644 index 000000000000..0ff22363080e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatRuleList.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2024-01-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/2024-01-01/examples/NatRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatRulePut.json new file mode 100644 index 000000000000..a0dacffd7ac2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NatRulePut.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/NetworkInterfaceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceCreate.json new file mode 100644 index 000000000000..370fe2c4ea1d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceCreate.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2024-01-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" + } + } + }, + { + "name": "ipconfig2", + "properties": { + "privateIPAddressPrefixLength": 28 + } + } + ] + }, + "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" + } + }, + { + "name": "ipconfig2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig2", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.16/28", + "privateIPAddressPrefixLength": 28, + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": false, + "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" + } + }, + { + "name": "ipconfig2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig2", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.16/28", + "privateIPAddressPrefixLength": 28, + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": false, + "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/2024-01-01/examples/NetworkInterfaceCreateGatewayLoadBalancerConsumer.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceCreateGatewayLoadBalancerConsumer.json new file mode 100644 index 000000000000..0f4753846067 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceCreateGatewayLoadBalancerConsumer.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkInterfaceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceDelete.json new file mode 100644 index 000000000000..53dca1c567c4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceEffectiveNSGList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceEffectiveNSGList.json new file mode 100644 index 000000000000..d5f090ff0bc8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceEffectiveNSGList.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceEffectiveRouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceEffectiveRouteTableList.json new file mode 100644 index 000000000000..ca52ac409a56 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceEffectiveRouteTableList.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceGet.json new file mode 100644 index 000000000000..bd7c51496363 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceGet.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2024-01-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" + } + }, + { + "name": "ipconfig2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig2", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.16/28", + "privateIPAddressPrefixLength": 28, + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": false, + "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/2024-01-01/examples/NetworkInterfaceIPConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceIPConfigurationGet.json new file mode 100644 index 000000000000..81cd1d48384c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceIPConfigurationGet.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "ipConfigurationName": "ipconfig1", + "api-version": "2024-01-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/2024-01-01/examples/NetworkInterfaceIPConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceIPConfigurationList.json new file mode 100644 index 000000000000..724cf53e7ac9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceIPConfigurationList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "nic1", + "api-version": "2024-01-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/2024-01-01/examples/NetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceList.json new file mode 100644 index 000000000000..22e904300c98 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceList.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2024-01-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" + } + }, + { + "name": "ipconfig2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkInterfaces/test-nic/ipConfigurations/ipconfig2", + "properties": { + "provisioningState": "Succeeded", + "privateIPAddress": "172.20.2.16/28", + "privateIPAddressPrefixLength": 28, + "privateIPAllocationMethod": "Dynamic", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/rg1-vnet/subnets/default" + }, + "primary": false, + "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/2024-01-01/examples/NetworkInterfaceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceListAll.json new file mode 100644 index 000000000000..574703cfd2a9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceListAll.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkInterfaceLoadBalancerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceLoadBalancerList.json new file mode 100644 index 000000000000..74516a579071 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceLoadBalancerList.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "nic1", + "api-version": "2024-01-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/2024-01-01/examples/NetworkInterfaceTapConfigurationCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceTapConfigurationCreate.json new file mode 100644 index 000000000000..c26859e82150 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceTapConfigurationCreate.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "tapConfigurationName": "tapconfiguration1", + "api-version": "2024-01-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/2024-01-01/examples/NetworkInterfaceTapConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceTapConfigurationDelete.json new file mode 100644 index 000000000000..5f08e8fc40a0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceTapConfigurationDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceTapConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceTapConfigurationGet.json new file mode 100644 index 000000000000..dda64ecbf7a5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceTapConfigurationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "networkInterfaceName": "mynic", + "tapConfigurationName": "tapconfiguration1", + "api-version": "2024-01-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/2024-01-01/examples/NetworkInterfaceTapConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceTapConfigurationList.json new file mode 100644 index 000000000000..7f42f28d5d52 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceTapConfigurationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkInterfaceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceUpdateTags.json new file mode 100644 index 000000000000..0aabb01e4db8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkInterfaceUpdateTags.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerActiveConnectivityConfigurationsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerActiveConnectivityConfigurationsList.json new file mode 100644 index 000000000000..b030deafe39c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerActiveConnectivityConfigurationsList.json @@ -0,0 +1,59 @@ +{ + "title": "Get Azure Virtual Network Manager Active Connectivity Configuration", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerActiveSecurityAdminRulesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerActiveSecurityAdminRulesList.json new file mode 100644 index 000000000000..0a0de4b52e3c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerActiveSecurityAdminRulesList.json @@ -0,0 +1,73 @@ +{ + "title": "Get Azure Virtual Network Manager Active Security Admin Rules", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerAdminRuleCollectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleCollectionDelete.json new file mode 100644 index 000000000000..d39181b01320 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleCollectionDelete.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleCollectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleCollectionGet.json new file mode 100644 index 000000000000..dc82af551de3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleCollectionGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerAdminRuleCollectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleCollectionList.json new file mode 100644 index 000000000000..ad282e70f6c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleCollectionList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleCollectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleCollectionPut.json new file mode 100644 index 000000000000..19901e72e944 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleCollectionPut.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerAdminRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleDelete.json new file mode 100644 index 000000000000..46c6d11819ee --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleDelete.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleGet.json new file mode 100644 index 000000000000..8efd99f56f8f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleGet.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerAdminRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleList.json new file mode 100644 index 000000000000..532d12361daa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRuleList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRulePut.json new file mode 100644 index 000000000000..ca7520c925e1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerAdminRulePut.json @@ -0,0 +1,127 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerCommitPost.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerCommitPost.json new file mode 100644 index 000000000000..4d8b7ca57f84 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerCommitPost.json @@ -0,0 +1,47 @@ +{ + "title": "Post Azure Virtual Network Manager Commit", + "parameters": { + "api-version": "2024-01-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=2024-01-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/2024-01-01/examples/NetworkManagerConnectionManagementGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionManagementGroupDelete.json new file mode 100644 index 000000000000..b7388b5eb96f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionManagementGroupDelete.json @@ -0,0 +1,12 @@ +{ + "title": "Delete Management Group Connection to Azure Virtual Network Manager", + "parameters": { + "api-version": "2024-01-01", + "managementGroupId": "managementGroupA", + "networkManagerConnectionName": "TestNMConnection" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionManagementGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionManagementGroupGet.json new file mode 100644 index 000000000000..1982f0399e45 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionManagementGroupGet.json @@ -0,0 +1,33 @@ +{ + "title": "Get Management Group Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerConnectionManagementGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionManagementGroupList.json new file mode 100644 index 000000000000..8de2e805163c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionManagementGroupList.json @@ -0,0 +1,37 @@ +{ + "title": "List Management Group Azure Virtual Network Manager Connections", + "parameters": { + "api-version": "2024-01-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=2024-01-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionManagementGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionManagementGroupPut.json new file mode 100644 index 000000000000..8702ee551387 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionManagementGroupPut.json @@ -0,0 +1,61 @@ +{ + "title": "Create/Update Management Group Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerConnectionSubscriptionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionSubscriptionDelete.json new file mode 100644 index 000000000000..cac88a64f43a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionSubscriptionDelete.json @@ -0,0 +1,12 @@ +{ + "title": "Delete Subscription Connection to Azure Virtual Network Manager", + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "networkManagerConnectionName": "TestNMConnection" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionSubscriptionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionSubscriptionGet.json new file mode 100644 index 000000000000..c374208a5355 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionSubscriptionGet.json @@ -0,0 +1,33 @@ +{ + "title": "Get Subscription Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerConnectionSubscriptionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionSubscriptionList.json new file mode 100644 index 000000000000..dd54c325e261 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionSubscriptionList.json @@ -0,0 +1,37 @@ +{ + "title": "List Subscription Azure Virtual Network Manager Connections", + "parameters": { + "api-version": "2024-01-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=2024-01-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionSubscriptionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionSubscriptionPut.json new file mode 100644 index 000000000000..b08981c4037b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectionSubscriptionPut.json @@ -0,0 +1,61 @@ +{ + "title": "Create/Update Subscription Azure Virtual Network Manager Connection", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerConnectivityConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectivityConfigurationDelete.json new file mode 100644 index 000000000000..94156d92d85d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectivityConfigurationDelete.json @@ -0,0 +1,20 @@ +{ + "title": "Get Azure Virtual Network Manager Connectivity Configuration", + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectivityConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectivityConfigurationGet.json new file mode 100644 index 000000000000..59757258a2a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectivityConfigurationGet.json @@ -0,0 +1,49 @@ +{ + "title": "Get Azure Virtual Network Manager Connectivity Configuration", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerConnectivityConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectivityConfigurationList.json new file mode 100644 index 000000000000..56db4ec4ea29 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectivityConfigurationList.json @@ -0,0 +1,53 @@ +{ + "title": "Get Azure Virtual Network Manager Connecitivity Configuration List", + "parameters": { + "api-version": "2024-01-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=2024-01-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectivityConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectivityConfigurationPut.json new file mode 100644 index 000000000000..1a739e3bf934 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerConnectivityConfigurationPut.json @@ -0,0 +1,108 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Connectivity Configuration", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerDefaultAdminRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerDefaultAdminRuleGet.json new file mode 100644 index 000000000000..7b972a887ee4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerDefaultAdminRuleGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerDefaultAdminRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerDefaultAdminRulePut.json new file mode 100644 index 000000000000..13101bb49f94 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerDefaultAdminRulePut.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerDelete.json new file mode 100644 index 000000000000..670b25e740ae --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerDelete.json @@ -0,0 +1,19 @@ +{ + "title": "Delete Azure Virtual Network Manager", + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerDeploymentStatusList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerDeploymentStatusList.json new file mode 100644 index 000000000000..d98c5ea9d908 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerDeploymentStatusList.json @@ -0,0 +1,51 @@ +{ + "title": "Post Azure Virtual Network Manager Deployment Status", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerEffectiveConnectivityConfigurationsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerEffectiveConnectivityConfigurationsList.json new file mode 100644 index 000000000000..f49bf6c77aa4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerEffectiveConnectivityConfigurationsList.json @@ -0,0 +1,54 @@ +{ + "title": "List Azure Virtual Network Manager Effective Configuration", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerEffectiveSecurityAdminRulesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerEffectiveSecurityAdminRulesList.json new file mode 100644 index 000000000000..89dbd8281646 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerEffectiveSecurityAdminRulesList.json @@ -0,0 +1,68 @@ +{ + "title": "List Azure Virtual Network Manager Effective Configuration", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerGet.json new file mode 100644 index 000000000000..058791547acb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerGet.json @@ -0,0 +1,40 @@ +{ + "title": "Get Azure Virtual Network Manager", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerGroupDelete.json new file mode 100644 index 000000000000..09aa228f4c13 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerGroupDelete.json @@ -0,0 +1,20 @@ +{ + "title": "Delete Azure Virtual Network Manager Group", + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerGroupGet.json new file mode 100644 index 000000000000..ec61e05a31a1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerGroupGet.json @@ -0,0 +1,32 @@ +{ + "title": "Get Azure Virtual Network Manager Network Group", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerGroupList.json new file mode 100644 index 000000000000..4525c7d887d9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerGroupList.json @@ -0,0 +1,36 @@ +{ + "title": "List Azure Virtual Network Manager Network Groups", + "parameters": { + "api-version": "2024-01-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=2024-01-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerGroupPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerGroupPut.json new file mode 100644 index 000000000000..dd09f6b33e81 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerGroupPut.json @@ -0,0 +1,63 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Network Group", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerList.json new file mode 100644 index 000000000000..89fcdef31135 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerList.json @@ -0,0 +1,45 @@ +{ + "title": "List Azure Virtual Network Manager", + "parameters": { + "api-version": "2024-01-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=2024-01-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerListAll.json new file mode 100644 index 000000000000..5f4f4501a578 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerListAll.json @@ -0,0 +1,44 @@ +{ + "title": "List Azure Virtual Network Manager in Subscription", + "parameters": { + "api-version": "2024-01-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=2024-01-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerPatch.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerPatch.json new file mode 100644 index 000000000000..a9df4a14de6a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerPatch.json @@ -0,0 +1,52 @@ +{ + "title": "Patch Managed Network Tags", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerPut.json new file mode 100644 index 000000000000..2fa9ebd6100b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerPut.json @@ -0,0 +1,91 @@ +{ + "title": "Create/Update Azure Virtual Network Manager", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerScopeConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerScopeConnectionDelete.json new file mode 100644 index 000000000000..309486e97f98 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerScopeConnectionDelete.json @@ -0,0 +1,15 @@ +{ + "title": "Delete Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerScopeConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerScopeConnectionGet.json new file mode 100644 index 000000000000..0344fdb817a3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerScopeConnectionGet.json @@ -0,0 +1,36 @@ +{ + "title": "Get Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerScopeConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerScopeConnectionList.json new file mode 100644 index 000000000000..4835cb8c5424 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerScopeConnectionList.json @@ -0,0 +1,40 @@ +{ + "title": "List Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerScopeConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerScopeConnectionPut.json new file mode 100644 index 000000000000..88f4eb8927b3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerScopeConnectionPut.json @@ -0,0 +1,66 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Scope Connection", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerSecurityAdminConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerSecurityAdminConfigurationDelete.json new file mode 100644 index 000000000000..57ca7e5b3a0e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerSecurityAdminConfigurationDelete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerSecurityAdminConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerSecurityAdminConfigurationGet.json new file mode 100644 index 000000000000..4b7d2bf93c1c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerSecurityAdminConfigurationGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerSecurityAdminConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerSecurityAdminConfigurationList.json new file mode 100644 index 000000000000..d622826b4331 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerSecurityAdminConfigurationList.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerSecurityAdminConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerSecurityAdminConfigurationPut.json new file mode 100644 index 000000000000..5407c56a8da3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerSecurityAdminConfigurationPut.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerStaticMemberDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerStaticMemberDelete.json new file mode 100644 index 000000000000..e0121740a18f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerStaticMemberDelete.json @@ -0,0 +1,15 @@ +{ + "title": "Delete Azure Virtual Network Manager Static Member", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerStaticMemberGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerStaticMemberGet.json new file mode 100644 index 000000000000..ca0d744850a0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerStaticMemberGet.json @@ -0,0 +1,31 @@ +{ + "title": "Get Azure Virtual Network Manager Static Member", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkManagerStaticMemberList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerStaticMemberList.json new file mode 100644 index 000000000000..2ccc2a0039a3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerStaticMemberList.json @@ -0,0 +1,37 @@ +{ + "title": "List Azure Virtual Network Manager Static Members", + "parameters": { + "api-version": "2024-01-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=2024-01-01&$skipToken=10" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerStaticMemberPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerStaticMemberPut.json new file mode 100644 index 000000000000..6d68e1696d7d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkManagerStaticMemberPut.json @@ -0,0 +1,64 @@ +{ + "title": "Create/Update Azure Virtual Network Manager Static Member", + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkProfileCreateConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkProfileCreateConfigOnly.json new file mode 100644 index 000000000000..5523c8d8c202 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkProfileCreateConfigOnly.json @@ -0,0 +1,110 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkProfileDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkProfileDelete.json new file mode 100644 index 000000000000..b5c729b4ede9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkProfileDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkProfileName": "networkProfile1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkProfileGetConfigOnly.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkProfileGetConfigOnly.json new file mode 100644 index 000000000000..1f6af62c4854 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkProfileGetConfigOnly.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkProfileGetWithContainerNic.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkProfileGetWithContainerNic.json new file mode 100644 index 000000000000..dd73565df083 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkProfileGetWithContainerNic.json @@ -0,0 +1,203 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkProfileList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkProfileList.json new file mode 100644 index 000000000000..091d96a65861 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkProfileList.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkProfileListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkProfileListAll.json new file mode 100644 index 000000000000..9d008e2728f0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkProfileListAll.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkProfileUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkProfileUpdateTags.json new file mode 100644 index 000000000000..12fa917540c2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkProfileUpdateTags.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkSecurityGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupCreate.json new file mode 100644 index 000000000000..62d13487fb15 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupCreate.json @@ -0,0 +1,235 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkSecurityGroupCreateWithRule.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupCreateWithRule.json new file mode 100644 index 000000000000..a1501ffc86a7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupCreateWithRule.json @@ -0,0 +1,282 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkSecurityGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupDelete.json new file mode 100644 index 000000000000..43c171c8dc54 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupDelete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkSecurityGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupGet.json new file mode 100644 index 000000000000..1572e2daa96d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupGet.json @@ -0,0 +1,136 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkSecurityGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupList.json new file mode 100644 index 000000000000..95e6b379beb8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupList.json @@ -0,0 +1,231 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkSecurityGroupListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupListAll.json new file mode 100644 index 000000000000..0ab788c2c8a0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupListAll.json @@ -0,0 +1,230 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkSecurityGroupRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupRuleCreate.json new file mode 100644 index 000000000000..85edb1ccc5ea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupRuleCreate.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkSecurityGroupRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupRuleDelete.json new file mode 100644 index 000000000000..d6321ee9467b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupRuleDelete.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkSecurityGroupRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupRuleGet.json new file mode 100644 index 000000000000..1dbc0d152c56 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupRuleGet.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkSecurityGroupRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupRuleList.json new file mode 100644 index 000000000000..3a1a1db69699 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupRuleList.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkSecurityGroupUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupUpdateTags.json new file mode 100644 index 000000000000..105bbd319e88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkSecurityGroupUpdateTags.json @@ -0,0 +1,130 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkVirtualApplianceConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceConnectionDelete.json new file mode 100644 index 000000000000..9ede5c169a83 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceConnectionDelete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "connectionName": "connection1", + "networkVirtualApplianceName": "nva1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceConnectionGet.json new file mode 100644 index 000000000000..e0f069f08da8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceConnectionGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "connectionName": "connection1", + "networkVirtualApplianceName": "nva1", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkVirtualAppliances/nva1/NetworkVirtualApplianceConnections/connection1", + "properties": { + "name": "connection1", + "asn": 64512, + "bgpPeerAddress": [ + "169.254.16.13", + "169.254.16.14" + ], + "tunnelIdentifier": 0, + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + }, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceConnectionList.json new file mode 100644 index 000000000000..8692d15f450c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceConnectionList.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "networkVirtualApplianceName": "nva1", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/NetworkVirtualAppliances/nva1/NetworkVirtualApplianceConnections/connection1", + "properties": { + "name": "connection1", + "asn": 64512, + "tunnelIdentifier": 0, + "bgpPeerAddress": [ + "169.254.16.13", + "169.254.16.14" + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + }, + "provisioningState": "Succeeded" + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceConnectionPut.json new file mode 100644 index 000000000000..b5bb723a16a6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceConnectionPut.json @@ -0,0 +1,118 @@ +{ + "parameters": { + "connectionName": "connection1", + "networkVirtualApplianceName": "nva1", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid", + "NetworkVirtualApplianceConnectionParameters": { + "properties": { + "name": "connection1", + "asn": 64512, + "tunnelIdentifier": 0, + "enableInternetSecurity": false, + "bgpPeerAddress": [ + "169.254.16.13", + "169.254.16.14" + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + } + } + } + }, + "responses": { + "200": { + "body": { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva1/networkVirtualApplianceConnections/connection1", + "properties": { + "name": "connection1", + "asn": 64512, + "tunnelIdentifier": 0, + "bgpPeerAddress": [ + "169.254.16.13", + "169.254.16.14" + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + }, + "provisioningState": "Updating" + } + } + }, + "201": { + "body": { + "name": "connection1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkVirtualAppliances/nva1/networkVirtualApplianceConnections/connection1", + "properties": { + "name": "connection1", + "asn": 64512, + "tunnelIdentifier": 0, + "bgpPeerAddress": [ + "169.254.16.13", + "169.254.16.14" + ], + "routingConfiguration": { + "associatedRouteTable": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + }, + "propagatedRouteTables": { + "labels": [ + "label1" + ], + "ids": [ + { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/hubRouteTables/hubRouteTable1" + } + ] + }, + "inboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap1" + }, + "outboundRouteMap": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/virtualHub1/routeMaps/routeMap2" + } + }, + "provisioningState": "Updating" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceDelete.json new file mode 100644 index 000000000000..22739ce8fd30 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceDelete.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceEmptyRestart.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceEmptyRestart.json new file mode 100644 index 000000000000..e312a6c6f6cc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceEmptyRestart.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva" + }, + "responses": { + "200": { + "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-11-01" + }, + "body": { + "instanceIds": [] + } + }, + "202": { + "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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceGet.json new file mode 100644 index 000000000000..15b93c893ad4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceGet.json @@ -0,0 +1,152 @@ +{ + "parameters": { + "api-version": "2024-01-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, + "additionalNics": [ + { + "name": "exrsdwan", + "hasPublicIp": true + } + ], + "internetIngressPublicIps": [ + { + "id": "/subscriptions/{{subscriptionId}}/resourceGroups/{{rg}}/providers/Microsoft.Network/publicIPAddresses/slbip" + } + ], + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "type": "PublicNic", + "properties": { + "ipConfigurations": [ + { + "name": "publicnicipconfig", + "properties": { + "primary": true + } + }, + { + "name": "publicnicipconfig-2", + "properties": { + "primary": false + } + } + ] + } + }, + { + "type": "PrivateNic", + "properties": { + "ipConfigurations": [ + { + "name": "privatenicipconfig", + "properties": { + "primary": true + } + }, + { + "name": "privatenicipconfig-2", + "properties": { + "primary": false + } + } + ] + } + } + ] + }, + "virtualApplianceNics": [ + { + "nicType": "PublicNic", + "name": "publicnicipconfig", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1", + "instanceName": "nva_0" + }, + { + "nicType": "PublicNic", + "name": "publicnicipconfig-2", + "publicIpAddress": "40.30.2.3", + "privateIpAddress": "192.168.12.2", + "instanceName": "nva_0" + }, + { + "nicType": "PrivateNic", + "name": "privatenicipconfig", + "publicIpAddress": "", + "privateIpAddress": "192.168.12.3", + "instanceName": "nva_0" + }, + { + "nicType": "PrivateNic", + "name": "privatenicipconfig-2", + "publicIpAddress": "", + "privateIpAddress": "192.168.12.4", + "instanceName": "nva_0" + }, + { + "nicType": "AdditionalNic", + "name": "exrsdwan", + "publicIpAddress": "4.231.25.19", + "privateIpAddress": "10.1.113.4", + "instanceName": "nva_0" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceListByResourceGroup.json new file mode 100644 index 000000000000..cccfacbff41d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceListByResourceGroup.json @@ -0,0 +1,150 @@ +{ + "parameters": { + "api-version": "2024-01-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, + "additionalNics": [ + { + "name": "exrsdwan", + "hasPublicIp": true + } + ], + "internetIngressPublicIps": [ + { + "id": "/subscriptions/{{subscriptionId}}/resourceGroups/{{rg}}/providers/Microsoft.Network/publicIPAddresses/slbip" + } + ], + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "type": "PublicNic", + "properties": { + "ipConfigurations": [ + { + "name": "publicnicipconfig", + "properties": { + "primary": true + } + }, + { + "name": "publicnicipconfig-2", + "properties": { + "primary": false + } + } + ] + } + }, + { + "type": "PrivateNic", + "properties": { + "ipConfigurations": [ + { + "name": "privatenicipconfig", + "properties": { + "primary": true + } + }, + { + "name": "privatenicipconfig-2", + "properties": { + "primary": false + } + } + ] + } + } + ] + }, + "virtualApplianceNics": [ + { + "nicType": "PublicNic", + "name": "publicnicipconfig", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1", + "instanceName": "nva_0" + }, + { + "nicType": "PublicNic", + "name": "publicnicipconfig-2", + "publicIpAddress": "40.30.2.3", + "privateIpAddress": "192.168.12.2", + "instanceName": "nva_0" + }, + { + "nicType": "PrivateNic", + "name": "privatenicipconfig", + "publicIpAddress": "", + "privateIpAddress": "192.168.12.3", + "instanceName": "nva_0" + }, + { + "nicType": "PrivateNic", + "name": "privatenicipconfig-2", + "publicIpAddress": "", + "privateIpAddress": "192.168.12.4", + "instanceName": "nva_0" + }, + { + "nicType": "AdditionalNic", + "name": "exrsdwan", + "publicIpAddress": "4.231.25.19", + "privateIpAddress": "10.1.113.4", + "instanceName": "nva_0" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceListBySubscription.json new file mode 100644 index 000000000000..e4d2a4a46388 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceListBySubscription.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "api-version": "2024-01-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, + "additionalNics": [ + { + "name": "exrsdwan", + "hasPublicIp": true + } + ], + "internetIngressPublicIps": [ + { + "id": "/subscriptions/{{subscriptionId}}/resourceGroups/{{rg}}/providers/Microsoft.Network/publicIPAddresses/slbip" + } + ], + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "type": "PublicNic", + "properties": { + "ipConfigurations": [ + { + "name": "publicnicipconfig", + "properties": { + "primary": true + } + }, + { + "name": "publicnicipconfig-2", + "properties": { + "primary": false + } + } + ] + } + }, + { + "type": "PrivateNic", + "properties": { + "ipConfigurations": [ + { + "name": "privatenicipconfig", + "properties": { + "primary": true + } + }, + { + "name": "privatenicipconfig-2", + "properties": { + "primary": false + } + } + ] + } + } + ] + }, + "virtualApplianceNics": [ + { + "nicType": "PublicNic", + "name": "publicnicipconfig", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1", + "instanceName": "nva_0" + }, + { + "nicType": "PublicNic", + "name": "publicnicipconfig-2", + "publicIpAddress": "40.30.2.3", + "privateIpAddress": "192.168.12.2", + "instanceName": "nva_0" + }, + { + "nicType": "PrivateNic", + "name": "privatenicipconfig", + "publicIpAddress": "", + "privateIpAddress": "192.168.12.3", + "instanceName": "nva_0" + }, + { + "nicType": "PrivateNic", + "name": "privatenicipconfig-2", + "publicIpAddress": "", + "privateIpAddress": "192.168.12.4", + "instanceName": "nva_0" + }, + { + "nicType": "AdditionalNic", + "name": "exrsdwan", + "publicIpAddress": "4.231.25.19", + "privateIpAddress": "10.1.113.4", + "instanceName": "nva_0" + } + ] + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualAppliancePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualAppliancePut.json new file mode 100644 index 000000000000..d1b0366ec693 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualAppliancePut.json @@ -0,0 +1,332 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva", + "parameters": { + "tags": { + "key1": "value1" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "location": "West US", + "properties": { + "nvaSku": { + "vendor": "Cisco SDWAN", + "bundledScaleUnit": "1", + "marketPlaceVersion": "12.1" + }, + "virtualHub": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualHubs/hub1" + }, + "bootStrapConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrbootstrapconfig" + ], + "cloudInitConfigurationBlobs": [ + "https://csrncvhdstorage1.blob.core.windows.net/csrncvhdstoragecont/csrcloudinitconfig" + ], + "virtualApplianceAsn": 10000, + "additionalNics": [ + { + "name": "exrsdwan", + "hasPublicIp": true + } + ], + "internetIngressPublicIps": [ + { + "id": "/subscriptions/{{subscriptionId}}/resourceGroups/{{rg}}/providers/Microsoft.Network/publicIPAddresses/slbip" + } + ], + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "type": "PublicNic", + "properties": { + "ipConfigurations": [ + { + "name": "publicnicipconfig", + "properties": { + "primary": true + } + }, + { + "name": "publicnicipconfig-2", + "properties": { + "primary": false + } + } + ] + } + }, + { + "type": "PrivateNic", + "properties": { + "ipConfigurations": [ + { + "name": "privatenicipconfig", + "properties": { + "primary": true + } + }, + { + "name": "privatenicipconfig-2", + "properties": { + "primary": false + } + } + ] + } + } + ] + } + } + } + }, + "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, + "additionalNics": [ + { + "name": "exrsdwan", + "hasPublicIp": true + } + ], + "internetIngressPublicIps": [ + { + "id": "/subscriptions/{{subscriptionId}}/resourceGroups/{{rg}}/providers/Microsoft.Network/publicIPAddresses/slbip" + } + ], + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "type": "PublicNic", + "properties": { + "ipConfigurations": [ + { + "name": "publicnicipconfig", + "properties": { + "primary": true + } + }, + { + "name": "publicnicipconfig-2", + "properties": { + "primary": false + } + } + ] + } + }, + { + "type": "PrivateNic", + "properties": { + "ipConfigurations": [ + { + "name": "privatenicipconfig", + "properties": { + "primary": true + } + }, + { + "name": "privatenicipconfig-2", + "properties": { + "primary": false + } + } + ] + } + } + ] + }, + "virtualApplianceNics": [ + { + "nicType": "PublicNic", + "name": "publicnicipconfig", + "publicIpAddress": "40.30.2.2", + "privateIpAddress": "192.168.12.1", + "instanceName": "nva_0" + }, + { + "nicType": "PublicNic", + "name": "publicnicipconfig-2", + "publicIpAddress": "40.30.2.3", + "privateIpAddress": "192.168.12.2", + "instanceName": "nva_0" + }, + { + "nicType": "PrivateNic", + "name": "privatenicipconfig", + "publicIpAddress": "", + "privateIpAddress": "192.168.12.3", + "instanceName": "nva_0" + }, + { + "nicType": "PrivateNic", + "name": "privatenicipconfig-2", + "publicIpAddress": "", + "privateIpAddress": "192.168.12.4", + "instanceName": "nva_0" + }, + { + "nicType": "AdditionalNic", + "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=2024-01-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, + "additionalNics": [ + { + "name": "exrsdwan", + "hasPublicIp": true + } + ], + "internetIngressPublicIps": [ + { + "id": "/subscriptions/{{subscriptionId}}/resourceGroups/{{rg}}/providers/Microsoft.Network/publicIPAddresses/slbip" + } + ], + "networkProfile": { + "networkInterfaceConfigurations": [ + { + "type": "PublicNic", + "properties": { + "ipConfigurations": [ + { + "name": "publicnicipconfig", + "properties": { + "primary": true + } + }, + { + "name": "publicnicipconfig-2", + "properties": { + "primary": false + } + } + ] + } + }, + { + "type": "PrivateNic", + "properties": { + "ipConfigurations": [ + { + "name": "privatenicipconfig", + "properties": { + "primary": true + } + }, + { + "name": "privatenicipconfig-2", + "properties": { + "primary": false + } + } + ] + } + } + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSaaSPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSaaSPut.json new file mode 100644 index 000000000000..e1619bd6d081 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSaaSPut.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkVirtualApplianceSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSiteDelete.json new file mode 100644 index 000000000000..77cf3e9de0f2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSiteDelete.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSiteGet.json new file mode 100644 index 000000000000..96357a229df5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSiteGet.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkVirtualApplianceSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSiteList.json new file mode 100644 index 000000000000..d50707688fdf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSiteList.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkVirtualApplianceSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSitePut.json new file mode 100644 index 000000000000..1492d4fbe04b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSitePut.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkVirtualApplianceSkuGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSkuGet.json new file mode 100644 index 000000000000..19fde36473dc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSkuGet.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkVirtualApplianceSkuList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSkuList.json new file mode 100644 index 000000000000..a5679181c50c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSkuList.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkVirtualApplianceSpecificRestart.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSpecificRestart.json new file mode 100644 index 000000000000..0458d2259516 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceSpecificRestart.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkVirtualApplianceName": "nva", + "instanceIds": [ + "0", + "1" + ] + }, + "responses": { + "200": { + "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-11-01" + }, + "body": { + "instanceIds": [ + "0", + "1" + ] + } + }, + "202": { + "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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceUpdateTags.json new file mode 100644 index 000000000000..c8e0bc0aca67 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkVirtualApplianceUpdateTags.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkWatcherAvailableProvidersListGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherAvailableProvidersListGet.json new file mode 100644 index 000000000000..fa1d6f13eda0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherAvailableProvidersListGet.json @@ -0,0 +1,71 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-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/2024-01-01/examples/NetworkWatcherAzureReachabilityReportGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherAzureReachabilityReportGet.json new file mode 100644 index 000000000000..d14675b91152 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherAzureReachabilityReportGet.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-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/2024-01-01/examples/NetworkWatcherConnectionMonitorCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorCreate.json new file mode 100644 index 000000000000..827e779bac84 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorCreate.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkWatcherConnectionMonitorCreateWithArcNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorCreateWithArcNetwork.json new file mode 100644 index 000000000000..e8cd6a3b867e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorCreateWithArcNetwork.json @@ -0,0 +1,215 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1", + "location": "centraluseuap", + "parameters": { + "properties": { + "endpoints": [ + { + "name": "vm1", + "resourceId": "/subscriptions/9cece3e3-0f7d-47ca-af0e-9772773f90b7/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/TESTVM", + "type": "AzureVM" + }, + { + "name": "bing", + "address": "bing.com", + "type": "ExternalAddress" + }, + { + "name": "google", + "address": "google.com", + "type": "ExternalAddress" + }, + { + "name": "ArcBasedNetwork", + "type": "AzureArcNetwork", + "subscriptionId": "9cece3e3-0f7d-47ca-af0e-9772773f90b7", + "locationDetails": { + "region": "eastus" + }, + "scope": { + "include": [ + { + "address": "172.21.128.0/20" + } + ] + } + } + ], + "testConfigurations": [ + { + "name": "testConfig1", + "testFrequencySec": 60, + "protocol": "Tcp", + "tcpConfiguration": { + "port": 80, + "disableTraceRoute": false + } + } + ], + "testGroups": [ + { + "name": "test1", + "disable": false, + "testConfigurations": [ + "testConfig1" + ], + "sources": [ + "vm1", + "ArcBasedNetwork" + ], + "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/9cece3e3-0f7d-47ca-af0e-9772773f90b7/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/TESTVM" + }, + { + "name": "ArcBasedNetwork", + "type": "AzureArcNetwork", + "subscriptionId": "9cece3e3-0f7d-47ca-af0e-9772773f90b7", + "locationDetails": { + "region": "eastus" + }, + "scope": { + "include": [ + { + "address": "172.21.128.0/20" + } + ] + } + }, + { + "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", + "ArcBasedNetwork" + ], + "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/9cece3e3-0f7d-47ca-af0e-9772773f90b7/resourceGroups/testRG/providers/Microsoft.Compute/virtualMachines/TESTVM" + }, + { + "name": "ArcBasedNetwork", + "type": "AzureArcNetwork", + "subscriptionId": "9cece3e3-0f7d-47ca-af0e-9772773f90b7", + "locationDetails": { + "region": "eastus" + }, + "scope": { + "include": [ + { + "address": "172.21.128.0/20" + } + ] + } + }, + { + "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", + "ArcBasedNetwork" + ], + "destinations": [ + "bing", + "google" + ] + } + ], + "outputs": [] + }, + "location": "centraluseuap", + "type": "Microsoft.Network/networkWatchers/connectionMonitors" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorDelete.json new file mode 100644 index 000000000000..e5d6c5e0ef7d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorGet.json new file mode 100644 index 000000000000..2a89d525f99b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkWatcherConnectionMonitorList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorList.json new file mode 100644 index 000000000000..78c355ae98c2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorList.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkWatcherConnectionMonitorQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorQuery.json new file mode 100644 index 000000000000..2c397ab67037 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorQuery.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-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/2024-01-01/examples/NetworkWatcherConnectionMonitorStart.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorStart.json new file mode 100644 index 000000000000..4021703dae63 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorStart.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorStop.json new file mode 100644 index 000000000000..4021703dae63 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorStop.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "connectionMonitorName": "cm1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json new file mode 100644 index 000000000000..8adbfe46798e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorUpdateTags.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkWatcherConnectionMonitorV2Create.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorV2Create.json new file mode 100644 index 000000000000..e1de24f23c06 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectionMonitorV2Create.json @@ -0,0 +1,206 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkWatcherConnectivityCheck.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectivityCheck.json new file mode 100644 index 000000000000..ecd9e68e5895 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherConnectivityCheck.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-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/2024-01-01/examples/NetworkWatcherCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherCreate.json new file mode 100644 index 000000000000..7c8ca143c7a5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherCreate.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkWatcherDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherDelete.json new file mode 100644 index 000000000000..00078411cfce --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherDelete.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1" + }, + "responses": { + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2024-01-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogConfigure.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogConfigure.json new file mode 100644 index 000000000000..493deb5a9098 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogConfigure.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2024-01-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 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + } + } + }, + "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 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", + "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" + } + } + } + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/configureFlowLog?api-version=2024-01-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 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", + "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogCreate.json new file mode 100644 index 000000000000..3cb4d6117834 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogCreate.json @@ -0,0 +1,97 @@ +{ + "parameters": { + "api-version": "2024-01-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 + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": {} + } + } + } + }, + "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", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", + "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" + } + } + }, + "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", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", + "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" + } + } + }, + "location": "centraluseuap" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogDelete.json new file mode 100644 index 000000000000..45fd16cce39f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "flowLogName": "fl" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogGet.json new file mode 100644 index 000000000000..bc17a3db436d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogGet.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2024-01-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", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", + "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogList.json new file mode 100644 index 000000000000..7332ba65e763 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogList.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "api-version": "2024-01-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", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", + "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" + } + } + } + }, + { + "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", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", + "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" + } + } + } + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogStatusQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogStatusQuery.json new file mode 100644 index 000000000000..31e80cb149da --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogStatusQuery.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2024-01-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 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", + "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" + } + } + } + } + }, + "202": { + "headers": { + "Location": "https:/management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/queryFlowLogStatus?api-version=2024-01-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 + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", + "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogUpdateTags.json new file mode 100644 index 000000000000..38a9555a0275 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherFlowLogUpdateTags.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2024-01-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", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id1": { + "clientId": "c16d15e1-f60a-40e4-8a05-df3d3f655c14", + "principalId": "e3858881-e40c-43bd-9cde-88da39c05023" + } + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherGet.json new file mode 100644 index 000000000000..267aa66e7e32 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkWatcherIpFlowVerify.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherIpFlowVerify.json new file mode 100644 index 000000000000..8ad8c4800034 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherIpFlowVerify.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + }, + "body": { + "access": "Allow", + "ruleName": "Rule1" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherList.json new file mode 100644 index 000000000000..1023788941e8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherList.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkWatcherListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherListAll.json new file mode 100644 index 000000000000..06daec5b35a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherListAll.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json new file mode 100644 index 000000000000..962ce5a7a6ca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherNetworkConfigurationDiagnostic.json @@ -0,0 +1,201 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-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/2024-01-01/examples/NetworkWatcherNextHopGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherNextHopGet.json new file mode 100644 index 000000000000..b1754af32b15 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherNextHopGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-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/2024-01-01/examples/NetworkWatcherPacketCaptureCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherPacketCaptureCreate.json new file mode 100644 index 000000000000..02d443251d99 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherPacketCaptureCreate.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkWatcherPacketCaptureDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherPacketCaptureDelete.json new file mode 100644 index 000000000000..fd3de8ef06bc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherPacketCaptureDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "204": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherPacketCaptureGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherPacketCaptureGet.json new file mode 100644 index 000000000000..e65f50a4fe88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherPacketCaptureGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkWatcherPacketCaptureQueryStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherPacketCaptureQueryStatus.json new file mode 100644 index 000000000000..70fc30427181 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherPacketCaptureQueryStatus.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-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/2024-01-01/examples/NetworkWatcherPacketCaptureStop.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherPacketCaptureStop.json new file mode 100644 index 000000000000..3ffec9976436 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherPacketCaptureStop.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "networkWatcherName": "nw1", + "packetCaptureName": "pc1" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "location": "https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/networkWatchers/nw1/operationresults/000000000000000000000==?api-version=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherPacketCapturesList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherPacketCapturesList.json new file mode 100644 index 000000000000..91e691b5af92 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherPacketCapturesList.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkWatcherSecurityGroupViewGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherSecurityGroupViewGet.json new file mode 100644 index 000000000000..63026f4c160b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherSecurityGroupViewGet.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-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/2024-01-01/examples/NetworkWatcherTopologyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherTopologyGet.json new file mode 100644 index 000000000000..2b7ab2b9e39f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherTopologyGet.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/NetworkWatcherTroubleshootGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherTroubleshootGet.json new file mode 100644 index 000000000000..8f3a2d228f4f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherTroubleshootGet.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-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/2024-01-01/examples/NetworkWatcherTroubleshootResultQuery.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherTroubleshootResultQuery.json new file mode 100644 index 000000000000..d0145bd9367a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherTroubleshootResultQuery.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-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/2024-01-01/examples/NetworkWatcherUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherUpdateTags.json new file mode 100644 index 000000000000..449d5a754c0c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/NetworkWatcherUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/OperationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/OperationList.json new file mode 100644 index 000000000000..fa1d39ec9516 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/OperationList.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2024-01-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/2024-01-01/examples/P2SVpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayDelete.json new file mode 100644 index 000000000000..beefb8a034ea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayGenerateVpnProfile.json new file mode 100644 index 000000000000..64e2dd6f9fae --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayGenerateVpnProfile.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/P2SVpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayGet.json new file mode 100644 index 000000000000..27f1026c00a7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayGet.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/P2SVpnGatewayGetConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayGetConnectionHealth.json new file mode 100644 index 000000000000..571cd6e0522a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayGetConnectionHealth.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json new file mode 100644 index 000000000000..133330f6c22a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayGetConnectionHealthDetailed.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "p2s-vpn-gateway-test", + "gatewayName": "p2svpngateway", + "api-version": "2024-01-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/2024-01-01/examples/P2SVpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayList.json new file mode 100644 index 000000000000..98ff5483641d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayList.json @@ -0,0 +1,203 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/P2SVpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayListByResourceGroup.json new file mode 100644 index 000000000000..3df93c4b252e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayListByResourceGroup.json @@ -0,0 +1,199 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/P2SVpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayPut.json new file mode 100644 index 000000000000..ab18f0076d7b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayPut.json @@ -0,0 +1,256 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/P2SVpnGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayReset.json new file mode 100644 index 000000000000..06d1647b2182 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayReset.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/P2SVpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayUpdateTags.json new file mode 100644 index 000000000000..aac1a69aaf8e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2SVpnGatewayUpdateTags.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "gatewayName": "p2sVpnGateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json new file mode 100644 index 000000000000..2d1dbff2ed4f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/P2sVpnGatewaysDisconnectP2sVpnConnections.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "p2s-vpn-gateway-test", + "p2sVpnGatewayName": "p2svpngateway", + "api-version": "2024-01-01", + "request": { + "vpnConnectionIds": [ + "vpnconnId1", + "vpnconnId2" + ] + } + }, + "responses": { + "200": {}, + "202": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PeerExpressRouteCircuitConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PeerExpressRouteCircuitConnectionGet.json new file mode 100644 index 000000000000..4172a7c5e36e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PeerExpressRouteCircuitConnectionGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "connectionName": "60aee347-e889-4a42-8c1b-0aae8b1e4013", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/PeerExpressRouteCircuitConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PeerExpressRouteCircuitConnectionList.json new file mode 100644 index 000000000000..43f370f277dd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PeerExpressRouteCircuitConnectionList.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/PrivateEndpointCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointCreate.json new file mode 100644 index 000000000000..282e1f001ec5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointCreate.json @@ -0,0 +1,165 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateEndpointCreateForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointCreateForManualApproval.json new file mode 100644 index 000000000000..cf564205ed73 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointCreateForManualApproval.json @@ -0,0 +1,161 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateEndpointCreateWithASG.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointCreateWithASG.json new file mode 100644 index 000000000000..c3da6185c4e6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointCreateWithASG.json @@ -0,0 +1,145 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateEndpointDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointDelete.json new file mode 100644 index 000000000000..3ca2d6508881 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointDnsZoneGroupCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointDnsZoneGroupCreate.json new file mode 100644 index 000000000000..738d9b32b151 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointDnsZoneGroupCreate.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateEndpointDnsZoneGroupDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointDnsZoneGroupDelete.json new file mode 100644 index 000000000000..bcc9ef6fa721 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointDnsZoneGroupDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "privateEndpointName": "testPe", + "privateDnsZoneGroupName": "testPdnsgroup" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointDnsZoneGroupGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointDnsZoneGroupGet.json new file mode 100644 index 000000000000..cd9a7566f941 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointDnsZoneGroupGet.json @@ -0,0 +1,68 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateEndpointDnsZoneGroupList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointDnsZoneGroupList.json new file mode 100644 index 000000000000..ba3f28f73f66 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointDnsZoneGroupList.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateEndpointGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointGet.json new file mode 100644 index 000000000000..72ac9e936541 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointGet.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateEndpointGetForManualApproval.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointGetForManualApproval.json new file mode 100644 index 000000000000..aa604e1f971f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointGetForManualApproval.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateEndpointGetWithASG.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointGetWithASG.json new file mode 100644 index 000000000000..d8348d1549b1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointGetWithASG.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateEndpointList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointList.json new file mode 100644 index 000000000000..a84d1fec2816 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointList.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateEndpointListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointListAll.json new file mode 100644 index 000000000000..abcb4229b7d5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateEndpointListAll.json @@ -0,0 +1,216 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateLinkServiceCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceCreate.json new file mode 100644 index 000000000000..375ba16d45ea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceCreate.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateLinkServiceDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceDelete.json new file mode 100644 index 000000000000..3f1ded81f475 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json new file mode 100644 index 000000000000..1dbc8dc8f5f0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceDeletePrivateEndpointConnection.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subId", + "resourceGroupName": "rg1", + "serviceName": "testPls", + "peConnectionName": "testPlePeConnection" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceGet.json new file mode 100644 index 000000000000..472caaaa9c8a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceGet.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json new file mode 100644 index 000000000000..6509bf3b96e7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceGetPrivateEndpointConnection.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateLinkServiceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceList.json new file mode 100644 index 000000000000..86349373ee77 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceList.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateLinkServiceListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceListAll.json new file mode 100644 index 000000000000..add9c1b18159 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceListAll.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json new file mode 100644 index 000000000000..94fa2dbfa40a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceListPrivateEndpointConnection.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json new file mode 100644 index 000000000000..304b61420748 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PrivateLinkServiceUpdatePrivateEndpointConnection.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PublicIpAddressCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressCreateCustomizedValues.json new file mode 100644 index 000000000000..f913554d9c73 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressCreateCustomizedValues.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PublicIpAddressCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressCreateDefaults.json new file mode 100644 index 000000000000..5923aa3fd84b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressCreateDefaults.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PublicIpAddressCreateDns.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressCreateDns.json new file mode 100644 index 000000000000..810ffcb6dc0f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressCreateDns.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PublicIpAddressCreateDnsWithDomainNameLabelScope.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressCreateDnsWithDomainNameLabelScope.json new file mode 100644 index 000000000000..9e0174f80b0b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressCreateDnsWithDomainNameLabelScope.json @@ -0,0 +1,66 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PublicIpAddressDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressDelete.json new file mode 100644 index 000000000000..ff3ce6c7d650 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressGet.json new file mode 100644 index 000000000000..5e754e23fe19 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PublicIpAddressGetDdosProtectionStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressGetDdosProtectionStatus.json new file mode 100644 index 000000000000..d140ef51ea37 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressGetDdosProtectionStatus.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressList.json new file mode 100644 index 000000000000..1b9dbd5aebce --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressList.json @@ -0,0 +1,90 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PublicIpAddressListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressListAll.json new file mode 100644 index 000000000000..6eb4f52ca65d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressListAll.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PublicIpAddressUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressUpdateTags.json new file mode 100644 index 000000000000..73d048574754 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpAddressUpdateTags.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PublicIpPrefixCreateCustomizedValues.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpPrefixCreateCustomizedValues.json new file mode 100644 index 000000000000..6471d352f3e7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpPrefixCreateCustomizedValues.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PublicIpPrefixCreateDefaults.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpPrefixCreateDefaults.json new file mode 100644 index 000000000000..a3609fea90cf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpPrefixCreateDefaults.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PublicIpPrefixDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpPrefixDelete.json new file mode 100644 index 000000000000..262c09b61662 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpPrefixDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "publicIpPrefixName": "test-ipprefix" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpPrefixGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpPrefixGet.json new file mode 100644 index 000000000000..15c1301bc144 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpPrefixGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PublicIpPrefixList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpPrefixList.json new file mode 100644 index 000000000000..a29066619b16 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpPrefixList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PublicIpPrefixListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpPrefixListAll.json new file mode 100644 index 000000000000..001b9a82a6f9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpPrefixListAll.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/PublicIpPrefixUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpPrefixUpdateTags.json new file mode 100644 index 000000000000..6360917e76dc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/PublicIpPrefixUpdateTags.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/QueryInboundNatRulePortMapping.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/QueryInboundNatRulePortMapping.json new file mode 100644 index 000000000000..225efe53bbd6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/QueryInboundNatRulePortMapping.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + }, + "body": { + "inboundNatRulePortMappings": [ + { + "inboundNatRuleName": "natRule", + "protocol": "Tcp", + "frontendPort": 3389, + "backendPort": 3389 + } + ] + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterCreate.json new file mode 100644 index 000000000000..423a9fff6031 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterCreate.json @@ -0,0 +1,95 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/RouteFilterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterDelete.json new file mode 100644 index 000000000000..f937aa3a8625 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterGet.json new file mode 100644 index 000000000000..3f84d54d488d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/RouteFilterList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterList.json new file mode 100644 index 000000000000..1c70ad40aec2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterList.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/RouteFilterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterListByResourceGroup.json new file mode 100644 index 000000000000..2af1f3e30673 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterListByResourceGroup.json @@ -0,0 +1,45 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/RouteFilterRuleCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterRuleCreate.json new file mode 100644 index 000000000000..373e4130f6d4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterRuleCreate.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "ruleName": "ruleName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/RouteFilterRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterRuleDelete.json new file mode 100644 index 000000000000..4cc4dae1b8af --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterRuleDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "ruleName": "ruleName", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterRuleGet.json new file mode 100644 index 000000000000..096d67c01a6d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterRuleGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "ruleName": "filterName", + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/RouteFilterRuleListByRouteFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterRuleListByRouteFilter.json new file mode 100644 index 000000000000..bf39959c1c80 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterRuleListByRouteFilter.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/RouteFilterUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterUpdateTags.json new file mode 100644 index 000000000000..f994c245c94e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteFilterUpdateTags.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "routeFilterName": "filterName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/RouteMapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteMapDelete.json new file mode 100644 index 000000000000..964f5ff02df5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteMapDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "routeMapName": "routeMap1", + "api-version": "2024-01-01" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteMapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteMapGet.json new file mode 100644 index 000000000000..da1ff22d97de --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteMapGet.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "routeMapName": "routeMap1", + "api-version": "2024-01-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/2024-01-01/examples/RouteMapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteMapList.json new file mode 100644 index 000000000000..5882831f2248 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteMapList.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "api-version": "2024-01-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/2024-01-01/examples/RouteMapPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteMapPut.json new file mode 100644 index 000000000000..1a7656bffa23 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteMapPut.json @@ -0,0 +1,139 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "virtualHub1", + "routeMapName": "routeMap1", + "api-version": "2024-01-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/2024-01-01/examples/RouteTableCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableCreate.json new file mode 100644 index 000000000000..200fd8ff2b27 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/RouteTableCreateWithRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableCreateWithRoute.json new file mode 100644 index 000000000000..8f75b271dbb9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableCreateWithRoute.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/RouteTableDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableDelete.json new file mode 100644 index 000000000000..fd174bbed676 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableGet.json new file mode 100644 index 000000000000..f9b808cf9415 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableGet.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/RouteTableList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableList.json new file mode 100644 index 000000000000..2b9da2d33edc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableList.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/RouteTableListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableListAll.json new file mode 100644 index 000000000000..461c81529dd0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableListAll.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/RouteTableRouteCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableRouteCreate.json new file mode 100644 index 000000000000..d04af17f14c2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableRouteCreate.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/RouteTableRouteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableRouteDelete.json new file mode 100644 index 000000000000..089f93305a0f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableRouteDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "routeTableName": "testrt", + "routeName": "route1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableRouteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableRouteGet.json new file mode 100644 index 000000000000..a841514980a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableRouteGet.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/RouteTableRouteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableRouteList.json new file mode 100644 index 000000000000..21cc82beda5b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableRouteList.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/RouteTableUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableUpdateTags.json new file mode 100644 index 000000000000..873c49a9c026 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RouteTableUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/RoutingIntentDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RoutingIntentDelete.json new file mode 100644 index 000000000000..9703569153d9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RoutingIntentDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routingIntentName": "Intent1", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RoutingIntentGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RoutingIntentGet.json new file mode 100644 index 000000000000..63f45808e688 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RoutingIntentGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "routingIntentName": "Intent1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/RoutingIntentList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RoutingIntentList.json new file mode 100644 index 000000000000..0014e5a5c80b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RoutingIntentList.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/RoutingIntentPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RoutingIntentPut.json new file mode 100644 index 000000000000..ec637ed8572e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/RoutingIntentPut.json @@ -0,0 +1,85 @@ +{ + "parameters": { + "routingIntentName": "Intent1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/SecurityPartnerProviderDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SecurityPartnerProviderDelete.json new file mode 100644 index 000000000000..9bdef47107a1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SecurityPartnerProviderDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "securityPartnerProviderName": "securityPartnerProvider" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SecurityPartnerProviderGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SecurityPartnerProviderGet.json new file mode 100644 index 000000000000..e15b444f31a9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SecurityPartnerProviderGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/SecurityPartnerProviderListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SecurityPartnerProviderListByResourceGroup.json new file mode 100644 index 000000000000..2237a224b4f6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SecurityPartnerProviderListByResourceGroup.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/SecurityPartnerProviderListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SecurityPartnerProviderListBySubscription.json new file mode 100644 index 000000000000..b788a5bcb14a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SecurityPartnerProviderListBySubscription.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/SecurityPartnerProviderPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SecurityPartnerProviderPut.json new file mode 100644 index 000000000000..8863f840790b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SecurityPartnerProviderPut.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/SecurityPartnerProviderUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SecurityPartnerProviderUpdateTags.json new file mode 100644 index 000000000000..57033edd285a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SecurityPartnerProviderUpdateTags.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ServiceCommunityList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceCommunityList.json new file mode 100644 index 000000000000..c856bc70d71f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceCommunityList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ServiceEndpointPolicyCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyCreate.json new file mode 100644 index 000000000000..71847d079bf2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyCreate.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ServiceEndpointPolicyCreateWithDefinition.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyCreateWithDefinition.json new file mode 100644 index 000000000000..242a8a91e5bb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyCreateWithDefinition.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ServiceEndpointPolicyDefinitionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyDefinitionCreate.json new file mode 100644 index 000000000000..4c835076037d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyDefinitionCreate.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ServiceEndpointPolicyDefinitionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyDefinitionDelete.json new file mode 100644 index 000000000000..b85fbe922720 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyDefinitionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "testPolicy", + "serviceEndpointPolicyDefinitionName": "testDefinition" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyDefinitionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyDefinitionGet.json new file mode 100644 index 000000000000..57dcb932a731 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyDefinitionGet.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ServiceEndpointPolicyDefinitionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyDefinitionList.json new file mode 100644 index 000000000000..42b4f345c5dc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyDefinitionList.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ServiceEndpointPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyDelete.json new file mode 100644 index 000000000000..7857a7d418fd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "serviceEndpointPolicyName": "serviceEndpointPolicy1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyGet.json new file mode 100644 index 000000000000..22e60b9cac76 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyGet.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ServiceEndpointPolicyList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyList.json new file mode 100644 index 000000000000..49d43b56510f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyList.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ServiceEndpointPolicyListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyListAll.json new file mode 100644 index 000000000000..4ca5f69ee46e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyListAll.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ServiceEndpointPolicyUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyUpdateTags.json new file mode 100644 index 000000000000..c5b848047634 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceEndpointPolicyUpdateTags.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ServiceTagInformationListResult.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceTagInformationListResult.json new file mode 100644 index 000000000000..6cdb0af56782 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceTagInformationListResult.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ServiceTagInformationListResultWithNoAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceTagInformationListResultWithNoAddressPrefixes.json new file mode 100644 index 000000000000..b6e0f42fcc4c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceTagInformationListResultWithNoAddressPrefixes.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ServiceTagInformationListResultWithTagname.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceTagInformationListResultWithTagname.json new file mode 100644 index 000000000000..9563db3881d2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceTagInformationListResultWithTagname.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/ServiceTagsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceTagsList.json new file mode 100644 index 000000000000..8e44cb6b25ba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/ServiceTagsList.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/SubnetCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetCreate.json new file mode 100644 index 000000000000..e989a9c5b0c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetCreate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2024-01-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/2024-01-01/examples/SubnetCreateServiceEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetCreateServiceEndpoint.json new file mode 100644 index 000000000000..6e99dd60a60d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetCreateServiceEndpoint.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2024-01-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/2024-01-01/examples/SubnetCreateServiceEndpointNetworkIdentifier.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetCreateServiceEndpointNetworkIdentifier.json new file mode 100644 index 000000000000..b6b0183ce494 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetCreateServiceEndpointNetworkIdentifier.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2024-01-01", + "subscriptionId": "subid", + "subnetParameters": { + "properties": { + "addressPrefix": "10.0.0.0/16", + "serviceEndpoints": [ + { + "service": "Microsoft.Storage", + "networkIdentifier": { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/publicIPAddresses/test-ip" + } + } + ] + } + } + }, + "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", + "networkIdentifier": { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "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", + "networkIdentifier": { + "id": "/subscriptions/subid/resourceGroups/subnet-test/providers/Microsoft.Network/publicIPAddresses/test-ip" + }, + "locations": [ + "eastus2(stage)", + "usnorth(stage)" + ], + "provisioningState": "Succeeded" + } + ], + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetCreateWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetCreateWithDelegation.json new file mode 100644 index 000000000000..c245af41e0d6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetCreateWithDelegation.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2024-01-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/2024-01-01/examples/SubnetCreateWithSharingScope.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetCreateWithSharingScope.json new file mode 100644 index 000000000000..d74b6ac38015 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetCreateWithSharingScope.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2024-01-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", + "sharingScope": "Tenant", + "defaultOutboundAccess": false + } + } + }, + "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", + "sharingScope": "Tenant", + "defaultOutboundAccess": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetDelete.json new file mode 100644 index 000000000000..665cc0dc8403 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetGet.json new file mode 100644 index 000000000000..ec88f492954d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetGet.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2024-01-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/2024-01-01/examples/SubnetGetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetGetWithDelegation.json new file mode 100644 index 000000000000..953755fd0ef5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetGetWithDelegation.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2024-01-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/2024-01-01/examples/SubnetGetWithSharingScope.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetGetWithSharingScope.json new file mode 100644 index 000000000000..bcd712bbeed3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetGetWithSharingScope.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subnetName": "subnet1", + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2024-01-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", + "sharingScope": "Tenant", + "defaultOutboundAccess": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetList.json new file mode 100644 index 000000000000..842d96ae30c7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetList.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "virtualNetworkName": "vnetname", + "resourceGroupName": "subnet-test", + "api-version": "2024-01-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/2024-01-01/examples/SubnetPrepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetPrepareNetworkPolicies.json new file mode 100644 index 000000000000..70eda19730ce --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetPrepareNetworkPolicies.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetUnprepareNetworkPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetUnprepareNetworkPolicies.json new file mode 100644 index 000000000000..272235ab7a4c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/SubnetUnprepareNetworkPolicies.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/UsageList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/UsageList.json new file mode 100644 index 000000000000..ee673923bd60 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/UsageList.json @@ -0,0 +1,265 @@ +{ + "parameters": { + "location": "westus", + "api-version": "2024-01-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/2024-01-01/examples/UsageListSpacedLocation.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/UsageListSpacedLocation.json new file mode 100644 index 000000000000..18f8e932cf1c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/UsageListSpacedLocation.json @@ -0,0 +1,335 @@ +{ + "parameters": { + "location": "West US", + "api-version": "2024-01-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/2024-01-01/examples/VirtualHubBgpConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubBgpConnectionDelete.json new file mode 100644 index 000000000000..acef833fee5d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubBgpConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "connectionName": "conn1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubBgpConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubBgpConnectionGet.json new file mode 100644 index 000000000000..6ad635a60076 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubBgpConnectionGet.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualHubBgpConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubBgpConnectionList.json new file mode 100644 index 000000000000..76d0a08a65f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubBgpConnectionList.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualHubBgpConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubBgpConnectionPut.json new file mode 100644 index 000000000000..61d2d3855288 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubBgpConnectionPut.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualHubDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubDelete.json new file mode 100644 index 000000000000..1b3b1091442a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubGet.json new file mode 100644 index 000000000000..9b56513871e3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubGet.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VirtualHubIpConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubIpConfigurationDelete.json new file mode 100644 index 000000000000..dfa47a0f8316 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubIpConfigurationDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "ipConfigName": "ipconfig1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualHubName": "hub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubIpConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubIpConfigurationGet.json new file mode 100644 index 000000000000..db0bbef888b5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubIpConfigurationGet.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualHubIpConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubIpConfigurationList.json new file mode 100644 index 000000000000..597b9c6c2a28 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubIpConfigurationList.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualHubIpConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubIpConfigurationPut.json new file mode 100644 index 000000000000..d25c32115123 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubIpConfigurationPut.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualHubList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubList.json new file mode 100644 index 000000000000..690a60abde27 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubList.json @@ -0,0 +1,140 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualHubListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubListByResourceGroup.json new file mode 100644 index 000000000000..5fe02c73de90 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubListByResourceGroup.json @@ -0,0 +1,141 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualHubPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubPut.json new file mode 100644 index 000000000000..86b5bdf78708 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubPut.json @@ -0,0 +1,83 @@ +{ + "parameters": { + "virtualHubName": "virtualHub2", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VirtualHubRouteTableV2Delete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubRouteTableV2Delete.json new file mode 100644 index 000000000000..02f67d6074e4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubRouteTableV2Delete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid", + "virtualHubName": "virtualHub1" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubRouteTableV2Get.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubRouteTableV2Get.json new file mode 100644 index 000000000000..1e3770aae0d6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubRouteTableV2Get.json @@ -0,0 +1,47 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VirtualHubRouteTableV2List.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubRouteTableV2List.json new file mode 100644 index 000000000000..7cad10cab2b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubRouteTableV2List.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "virtualHubName": "virtualHub1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VirtualHubRouteTableV2Put.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubRouteTableV2Put.json new file mode 100644 index 000000000000..7e573a83c1a5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubRouteTableV2Put.json @@ -0,0 +1,113 @@ +{ + "parameters": { + "routeTableName": "virtualHubRouteTable1a", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VirtualHubUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubUpdateTags.json new file mode 100644 index 000000000000..85c0571564ed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualHubUpdateTags.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "virtualHubName": "virtualHub2", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkCheckIPAddressAvailability.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCheckIPAddressAvailability.json new file mode 100644 index 000000000000..1ab515aed3e7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCheckIPAddressAvailability.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreate.json new file mode 100644 index 000000000000..c1d679d1e436 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreate.json @@ -0,0 +1,59 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json new file mode 100644 index 000000000000..865de4fc62d4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreateServiceEndpointPolicy.json @@ -0,0 +1,126 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkCreateServiceEndpoints.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreateServiceEndpoints.json new file mode 100644 index 000000000000..fd0168535f03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreateServiceEndpoints.json @@ -0,0 +1,111 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkCreateSubnet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreateSubnet.json new file mode 100644 index 000000000000..8a4af37ac870 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreateSubnet.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json new file mode 100644 index 000000000000..3345b4cab926 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreateSubnetWithAddressPrefixes.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkCreateSubnetWithDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreateSubnetWithDelegation.json new file mode 100644 index 000000000000..d8bc9d338782 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreateSubnetWithDelegation.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkCreateWithBgpCommunities.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreateWithBgpCommunities.json new file mode 100644 index 000000000000..e45e31be76ca --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreateWithBgpCommunities.json @@ -0,0 +1,93 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkCreateWithEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreateWithEncryption.json new file mode 100644 index 000000000000..7ae354f8735d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkCreateWithEncryption.json @@ -0,0 +1,94 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkDelete.json new file mode 100644 index 000000000000..2f82fd3d5d24 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionCreate.json new file mode 100644 index 000000000000..2bbdc2d99689 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionCreate.json @@ -0,0 +1,189 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGatewayConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionDelete.json new file mode 100644 index 000000000000..eb62d54a07b6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionGet.json new file mode 100644 index 000000000000..84c2cefe435e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionGet.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGatewayConnectionGetIkeSas.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionGetIkeSas.json new file mode 100644 index 000000000000..fca5c1e9d79d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionGetIkeSas.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json new file mode 100644 index 000000000000..21e030e6e557 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionGetSharedKey.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayConnectionName": "connS2S" + }, + "responses": { + "200": { + "body": { + "id": "", + "value": "AzureAbc123" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionReset.json new file mode 100644 index 000000000000..2143bf3b2b4d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionReset.json @@ -0,0 +1,15 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json new file mode 100644 index 000000000000..98a1316afdfa --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionResetSharedKey.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json new file mode 100644 index 000000000000..574bd9221f42 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionSetSharedKey.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json new file mode 100644 index 000000000000..920f3f7d5fdd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionStartPacketCapture.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..6c61871f9d70 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json new file mode 100644 index 000000000000..8bd5ec1ea831 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionStopPacketCapture.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json new file mode 100644 index 000000000000..f6c87284289f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionUpdateTags.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-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/2024-01-01/examples/VirtualNetworkGatewayConnectionsList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionsList.json new file mode 100644 index 000000000000..86c37e622d5f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayConnectionsList.json @@ -0,0 +1,117 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayDelete.json new file mode 100644 index 000000000000..7f3c5ac7838f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json new file mode 100644 index 000000000000..cc56e5eaf031 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGenerateVpnClientPackage.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json new file mode 100644 index 000000000000..0d41ef9c537a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGenerateVpnProfile.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGet.json new file mode 100644 index 000000000000..8acddbb2b3dc --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGet.json @@ -0,0 +1,134 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json new file mode 100644 index 000000000000..e65673e98787 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGetAdvertisedRoutes.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json new file mode 100644 index 000000000000..dbbf3b420c88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGetBGPPeerStatus.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json new file mode 100644 index 000000000000..13f6c6add438 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json new file mode 100644 index 000000000000..4deeb61d887a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json new file mode 100644 index 000000000000..6fd2beeaed13 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "resourceGroupName": "p2s-vnet-test", + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayLearnedRoutes.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayLearnedRoutes.json new file mode 100644 index 000000000000..dbbf3b420c88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayLearnedRoutes.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": { + "body": {} + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayList.json new file mode 100644 index 000000000000..876f2b8a8db9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayList.json @@ -0,0 +1,224 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGatewayNatRuleDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayNatRuleDelete.json new file mode 100644 index 000000000000..65de21b5d6b9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayNatRuleDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "virtualNetworkGatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayNatRuleGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayNatRuleGet.json new file mode 100644 index 000000000000..1465a66b61ac --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayNatRuleGet.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "virtualNetworkGatewayName": "gateway1", + "natRuleName": "natRule1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGatewayNatRuleList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayNatRuleList.json new file mode 100644 index 000000000000..2870d6f3d508 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayNatRuleList.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "virtualNetworkGatewayName": "gateway1", + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGatewayNatRulePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayNatRulePut.json new file mode 100644 index 000000000000..8c5e2d43c9b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayNatRulePut.json @@ -0,0 +1,80 @@ +{ + "parameters": { + "natRuleName": "natRule1", + "virtualNetworkGatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayReset.json new file mode 100644 index 000000000000..874c4331c059 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayReset.json @@ -0,0 +1,81 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-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/2024-01-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json new file mode 100644 index 000000000000..4b5ddd137f3e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayResetVpnClientSharedKey.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json new file mode 100644 index 000000000000..b9abb0611d09 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json @@ -0,0 +1,37 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-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/2024-01-01/examples/VirtualNetworkGatewayStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayStartPacketCapture.json new file mode 100644 index 000000000000..39f7b7adb5ce --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayStartPacketCapture.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..8733d4e6ca17 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayStopPacketCapture.json new file mode 100644 index 000000000000..f505f81f3d88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayStopPacketCapture.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json new file mode 100644 index 000000000000..cf5a974fe2e4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewaySupportedVpnDevice.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "vpngw" + }, + "responses": { + "200": { + "body": "" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayUpdate.json new file mode 100644 index 000000000000..82319faf654f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayUpdate.json @@ -0,0 +1,352 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayUpdateTags.json new file mode 100644 index 000000000000..51cb6a041558 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayUpdateTags.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": { + "body": { + "name": "vpngw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/vpngw", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "westus", + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity1": {} + } + }, + "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/2024-01-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json new file mode 100644 index 000000000000..82871ee56737 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json new file mode 100644 index 000000000000..d49489d3cc03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "vpn-gateway-test", + "virtualNetworkGatewayName": "vpngateway", + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewaysListConnections.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewaysListConnections.json new file mode 100644 index 000000000000..9b414863ffe3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGatewaysListConnections.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "testrg", + "virtualNetworkGatewayName": "test-vpn-gateway-1", + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGet.json new file mode 100644 index 000000000000..fa48ef33a446 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGet.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGetDdosProtectionStatus.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGetDdosProtectionStatus.json new file mode 100644 index 000000000000..b1b181d3aa62 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGetDdosProtectionStatus.json @@ -0,0 +1,33 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGetResourceNavigationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGetResourceNavigationLinks.json new file mode 100644 index 000000000000..4d4020c56b1b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGetResourceNavigationLinks.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGetServiceAssociationLinks.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGetServiceAssociationLinks.json new file mode 100644 index 000000000000..541c59da0061 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGetServiceAssociationLinks.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGetWithServiceAssociationLink.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGetWithServiceAssociationLink.json new file mode 100644 index 000000000000..b49af49986c0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGetWithServiceAssociationLink.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkGetWithSubnetDelegation.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGetWithSubnetDelegation.json new file mode 100644 index 000000000000..4cf0b95313cd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkGetWithSubnetDelegation.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkList.json new file mode 100644 index 000000000000..ed7cfc3259e9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkList.json @@ -0,0 +1,64 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkListAll.json new file mode 100644 index 000000000000..c2da6daffa00 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkListAll.json @@ -0,0 +1,63 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkListUsage.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkListUsage.json new file mode 100644 index 000000000000..84745113e1ef --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkListUsage.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "virtualNetworkName": "vnetName", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringCreate.json new file mode 100644 index 000000000000..6b8805606a44 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringCreate.json @@ -0,0 +1,86 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkPeeringCreateWithRemoteVirtualNetworkEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringCreateWithRemoteVirtualNetworkEncryption.json new file mode 100644 index 000000000000..e9a22f1f76a4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringCreateWithRemoteVirtualNetworkEncryption.json @@ -0,0 +1,82 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringDelete.json new file mode 100644 index 000000000000..ab6faf737b73 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringDelete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringGet.json new file mode 100644 index 000000000000..0895c187fc0f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringGet.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkPeeringGetWithRemoteVirtualNetworkEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringGetWithRemoteVirtualNetworkEncryption.json new file mode 100644 index 000000000000..1131308f3f6a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringGetWithRemoteVirtualNetworkEncryption.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringList.json new file mode 100644 index 000000000000..acfc9b9e8c28 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringList.json @@ -0,0 +1,76 @@ +{ + "parameters": { + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json new file mode 100644 index 000000000000..bf3132e0239c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json @@ -0,0 +1,72 @@ +{ + "parameters": { + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkPeeringSync.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringSync.json new file mode 100644 index 000000000000..4544236b624e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkPeeringSync.json @@ -0,0 +1,87 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "syncRemoteAddressSpace": "true", + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkScalableGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkScalableGatewayGet.json new file mode 100644 index 000000000000..a13f6cfb8fe6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkScalableGatewayGet.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "ergw" + }, + "responses": { + "200": { + "body": { + "name": "ergw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/ipConfigurations/default", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Static", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule1", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "EgressSnat", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule2", + "etag": "W/\"00ae2b69-88e7-4b3a-b66a-cfa2244e0801\"", + "properties": { + "provisioningState": "Succeeded", + "type": "Static", + "mode": "IngressSnat", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "ErGwScale", + "tier": "ErGwScale", + "capacity": 2 + }, + "autoScaleConfiguration": { + "bounds": { + "min": 2, + "max": 3 + } + }, + "gatewayType": "ExpressRoute", + "vpnType": "PolicyBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "enablePrivateIpAddress": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "vpnClientConfiguration": null, + "bgpSettings": null, + "customRoutes": null, + "allowVirtualWanTraffic": false, + "allowRemoteVnetTraffic": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkScalableGatewayUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkScalableGatewayUpdate.json new file mode 100644 index 000000000000..d7721e299db1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkScalableGatewayUpdate.json @@ -0,0 +1,269 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualNetworkGatewayName": "ergw", + "parameters": { + "properties": { + "ipConfigurations": [ + { + "properties": { + "privateIPAllocationMethod": "Static", + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + }, + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + } + }, + "name": "gwipconfig1" + } + ], + "gatewayType": "ExpressRoute", + "vpnType": "PolicyBased", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule1", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule2", + "properties": { + "type": "Static", + "mode": "IngressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "ErGwScale", + "tier": "ErGwScale" + }, + "vpnClientConfiguration": null, + "bgpSettings": null, + "allowVirtualWanTraffic": false, + "allowRemoteVnetTraffic": false + }, + "location": "centralus" + } + }, + "responses": { + "200": { + "body": { + "name": "ergw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/ipConfigurations/default", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule1", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule2", + "properties": { + "type": "Static", + "mode": "IngressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "ErGwScale", + "tier": "ErGwScale", + "capacity": 0 + }, + "autoScaleConfiguration": { + "bounds": { + "min": 2, + "max": 3 + } + }, + "gatewayType": "ExpressRoute", + "vpnType": "PolicyBased", + "vpnGatewayGeneration": "None", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "vpnClientConfiguration": null, + "bgpSettings": null, + "customRoutes": null, + "allowVirtualWanTraffic": false, + "allowRemoteVnetTraffic": false + } + } + }, + "201": { + "body": { + "name": "ergw", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "type": "Microsoft.Network/virtualNetworkGateways", + "location": "centralus", + "properties": { + "provisioningState": "Succeeded", + "resourceGuid": "00000000-0000-0000-0000-000000000000", + "ipConfigurations": [ + { + "name": "gwipconfig1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/ipConfigurations/default", + "etag": "W/\"00000000-0000-0000-0000-000000000000\"", + "properties": { + "provisioningState": "Succeeded", + "privateIPAllocationMethod": "Static", + "publicIPAddress": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/gwpip" + }, + "subnet": { + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/GatewaySubnet" + } + } + } + ], + "natRules": [ + { + "name": "natRule1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule1", + "properties": { + "type": "Static", + "mode": "EgressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "10.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "50.0.0.0/24" + } + ] + } + }, + { + "name": "natRule2", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/virtualNetworkGateways/ergw/natRules/natRule2", + "properties": { + "type": "Static", + "mode": "IngressSnat", + "ipConfigurationId": "", + "internalMappings": [ + { + "addressSpace": "20.10.0.0/24" + } + ], + "externalMappings": [ + { + "addressSpace": "30.0.0.0/24" + } + ] + } + } + ], + "enableBgpRouteTranslationForNat": false, + "sku": { + "name": "ErGwScale", + "tier": "ErGwScale", + "capacity": 2 + }, + "autoScaleConfiguration": { + "bounds": { + "min": 2, + "max": 3 + } + }, + "gatewayType": "ExpressRoute", + "vpnType": "PolicyBased", + "enableBgp": false, + "activeActive": false, + "disableIPSecReplayProtection": false, + "enablePrivateIpAddress": false, + "vpnClientConfiguration": null, + "bgpSettings": null, + "customRoutes": null, + "allowVirtualWanTraffic": false, + "allowRemoteVnetTraffic": false + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkSubnetPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkSubnetPeeringCreate.json new file mode 100644 index 000000000000..29b40f78eb7b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkSubnetPeeringCreate.json @@ -0,0 +1,145 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2024-01-01", + "subscriptionId": "subid", + "VirtualNetworkPeeringParameters": { + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "peerCompleteVnets": false, + "enableOnlyIPv6Peering": false, + "localSubnetNames": [ + "Subnet1", + "Subnet4" + ], + "remoteSubnetNames": [ + "Subnet2" + ] + } + } + }, + "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, + "peerCompleteVnets": false, + "enableOnlyIPv6Peering": false, + "localSubnetNames": [ + "Subnet1", + "Subnet4" + ], + "remoteSubnetNames": [ + "Subnet2" + ], + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8", + "2001:2001::/64" + ] + }, + "localAddressSpace": { + "addressPrefixes": [ + "212.0.0.0/16", + "13.0.0.0/8", + "2002:2002::/64" + ] + }, + "localVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "212.0.0.0/16", + "13.0.0.0/8", + "2002:2002::/64" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8", + "2001:2001::/64" + ] + }, + "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, + "peerCompleteVnets": false, + "enableOnlyIPv6Peering": false, + "localSubnetNames": [ + "Subnet1", + "Subnet4" + ], + "remoteSubnetNames": [ + "Subnet2" + ], + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8", + "2001:2001::/64" + ] + }, + "localAddressSpace": { + "addressPrefixes": [ + "212.0.0.0/16", + "13.0.0.0/8", + "2002:2002::/64" + ] + }, + "localVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "212.0.0.0/16", + "13.0.0.0/8", + "2002:2002::/64" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8", + "2001:2001::/64" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkSubnetPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkSubnetPeeringGet.json new file mode 100644 index 000000000000..d99be4a12392 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkSubnetPeeringGet.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2024-01-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, + "localSubnetNames": [ + "Subnet1" + ], + "remoteSubnetNames": [ + "Subnet2" + ], + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8", + "2001:2001::/64" + ] + }, + "localAddressSpace": { + "addressPrefixes": [ + "212.0.0.0/16", + "2002:2002::/64" + ] + }, + "localVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "212.0.0.0/16", + "2002:2002::/64" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8", + "2001:2001::/64" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "peerCompleteVnets": false, + "enableOnlyIPv6Peering": false, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkSubnetPeeringSync.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkSubnetPeeringSync.json new file mode 100644 index 000000000000..91618d800953 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkSubnetPeeringSync.json @@ -0,0 +1,133 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "syncRemoteAddressSpace": "true", + "api-version": "2024-01-01", + "subscriptionId": "subid", + "VirtualNetworkPeeringParameters": { + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "peerCompleteVnets": false, + "enableOnlyIPv6Peering": 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, + "peerCompleteVnets": false, + "enableOnlyIPv6Peering": false, + "localSubnetNames": [ + "Subnet1" + ], + "remoteSubnetNames": [ + "Subnet2" + ], + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8", + "2001:2001::/64" + ] + }, + "localAddressSpace": { + "addressPrefixes": [ + "212.0.0.0/16", + "2002:2002::/64" + ] + }, + "localVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "212.0.0.0/16", + "2002:2002::/64" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8", + "2001:2001::/64" + ] + }, + "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, + "peerCompleteVnets": false, + "enableOnlyIPv6Peering": false, + "localSubnetNames": [ + "Subnet1" + ], + "remoteSubnetNames": [ + "Subnet2" + ], + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8", + "2001:2001::/64" + ] + }, + "localAddressSpace": { + "addressPrefixes": [ + "212.0.0.0/16", + "2002:2002::/64" + ] + }, + "localVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "212.0.0.0/16", + "2002:2002::/64" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "12.0.0.0/8", + "2001:2001::/64" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkTapCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkTapCreate.json new file mode 100644 index 000000000000..234a2d7ee9b4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkTapCreate.json @@ -0,0 +1,62 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkTapDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkTapDelete.json new file mode 100644 index 000000000000..506ff95c579e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkTapDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "tapName": "test-vtap" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkTapGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkTapGet.json new file mode 100644 index 000000000000..70948ba22db9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkTapGet.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkTapList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkTapList.json new file mode 100644 index 000000000000..16bc0f65f4f0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkTapList.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkTapListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkTapListAll.json new file mode 100644 index 000000000000..0111996502a7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkTapListAll.json @@ -0,0 +1,54 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkTapUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkTapUpdateTags.json new file mode 100644 index 000000000000..7bc4ead8f8e7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkTapUpdateTags.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkUpdateTags.json new file mode 100644 index 000000000000..e4f43316561f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkUpdateTags.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualNetworkV6SubnetPeeringCreate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkV6SubnetPeeringCreate.json new file mode 100644 index 000000000000..921295e2b40e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkV6SubnetPeeringCreate.json @@ -0,0 +1,137 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2024-01-01", + "subscriptionId": "subid", + "VirtualNetworkPeeringParameters": { + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "peerCompleteVnets": false, + "enableOnlyIPv6Peering": true, + "localSubnetNames": [ + "Subnet1", + "Subnet4" + ], + "remoteSubnetNames": [ + "Subnet2" + ], + "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, + "peerCompleteVnets": false, + "enableOnlyIPv6Peering": true, + "localSubnetNames": [ + "Subnet1", + "Subnet4" + ], + "remoteSubnetNames": [ + "Subnet2" + ], + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "2001::/64" + ] + }, + "localAddressSpace": { + "addressPrefixes": [ + "2002::/64", + "2003::/64" + ] + }, + "localVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "2002::/64", + "2003::/64" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "2001::/64" + ] + }, + "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, + "peerCompleteVnets": false, + "enableOnlyIPv6Peering": true, + "localSubnetNames": [ + "Subnet1", + "Subnet4" + ], + "remoteSubnetNames": [ + "Subnet2" + ], + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "2001::/64" + ] + }, + "localAddressSpace": { + "addressPrefixes": [ + "2002::/64", + "2003::/64" + ] + }, + "localVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "2002::/64", + "2003::/64" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "2001::/64" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkV6SubnetPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkV6SubnetPeeringGet.json new file mode 100644 index 000000000000..ddccc3f7213f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkV6SubnetPeeringGet.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "api-version": "2024-01-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, + "localSubnetNames": [ + "Subnet1" + ], + "remoteSubnetNames": [ + "Subnet2" + ], + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "2001:2001::/64" + ] + }, + "localAddressSpace": { + "addressPrefixes": [ + "2002:2002::/64" + ] + }, + "localVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "2002:2002::/64" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "2001:2001::/64" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "peerCompleteVnets": false, + "enableOnlyIPv6Peering": true, + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkV6SubnetPeeringSync.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkV6SubnetPeeringSync.json new file mode 100644 index 000000000000..d867c4121f41 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualNetworkV6SubnetPeeringSync.json @@ -0,0 +1,125 @@ +{ + "parameters": { + "virtualNetworkPeeringName": "peer", + "virtualNetworkName": "vnet1", + "resourceGroupName": "peerTest", + "syncRemoteAddressSpace": "true", + "api-version": "2024-01-01", + "subscriptionId": "subid", + "VirtualNetworkPeeringParameters": { + "properties": { + "allowVirtualNetworkAccess": true, + "allowForwardedTraffic": true, + "allowGatewayTransit": false, + "useRemoteGateways": false, + "peerCompleteVnets": false, + "enableOnlyIPv6Peering": true, + "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, + "peerCompleteVnets": false, + "enableOnlyIPv6Peering": true, + "localSubnetNames": [ + "Subnet1" + ], + "remoteSubnetNames": [ + "Subnet2" + ], + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "2001:2001::/64" + ] + }, + "localAddressSpace": { + "addressPrefixes": [ + "2002:2002::/64" + ] + }, + "localVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "2002:2002::/64" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "2001:2001::/64" + ] + }, + "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, + "peerCompleteVnets": false, + "enableOnlyIPv6Peering": true, + "localSubnetNames": [ + "Subnet1" + ], + "remoteSubnetNames": [ + "Subnet2" + ], + "remoteVirtualNetwork": { + "id": "/subscriptions/subid/resourceGroups/peerTest/providers/Microsoft.Network/virtualNetworks/vnet2" + }, + "remoteAddressSpace": { + "addressPrefixes": [ + "2001:2001::/64" + ] + }, + "localAddressSpace": { + "addressPrefixes": [ + "2002:2002::/64" + ] + }, + "localVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "2002:2002::/64" + ] + }, + "remoteVirtualNetworkAddressSpace": { + "addressPrefixes": [ + "2001:2001::/64" + ] + }, + "remoteBgpCommunities": { + "virtualNetworkCommunity": "12076:20002", + "regionalCommunity": "12076:50004" + }, + "peeringState": "Initiated", + "peeringSyncLevel": "FullyInSync", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterDelete.json new file mode 100644 index 000000000000..3328f771b4fb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterGet.json new file mode 100644 index 000000000000..5d6502d7a316 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterGet.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualRouterListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterListByResourceGroup.json new file mode 100644 index 000000000000..d87629b5d87b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterListByResourceGroup.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualRouterListBySubscription.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterListBySubscription.json new file mode 100644 index 000000000000..e6f2ca99cc04 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterListBySubscription.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualRouterPeerListAdvertisedRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterPeerListAdvertisedRoute.json new file mode 100644 index 000000000000..fafe4f106838 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterPeerListAdvertisedRoute.json @@ -0,0 +1,74 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualRouterPeerListLearnedRoute.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterPeerListLearnedRoute.json new file mode 100644 index 000000000000..a1a78eec1a7c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterPeerListLearnedRoute.json @@ -0,0 +1,56 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualRouterPeeringDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterPeeringDelete.json new file mode 100644 index 000000000000..95b7b4244b92 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterPeeringDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "peeringName": "peering1", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "virtualRouterName": "virtualRouter" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterPeeringGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterPeeringGet.json new file mode 100644 index 000000000000..fb6c64bdbaf9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterPeeringGet.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualRouterPeeringList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterPeeringList.json new file mode 100644 index 000000000000..dac4a96c1ba3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterPeeringList.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualRouterPeeringPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterPeeringPut.json new file mode 100644 index 000000000000..c67ef57a355a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterPeeringPut.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualRouterPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterPut.json new file mode 100644 index 000000000000..a58561b51e0f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualRouterPut.json @@ -0,0 +1,77 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualWANDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualWANDelete.json new file mode 100644 index 000000000000..9ccbefc68c90 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualWANDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "VirtualWANName": "virtualWan1", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualWANGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualWANGet.json new file mode 100644 index 000000000000..9527d12cf85e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualWANGet.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VirtualWANList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualWANList.json new file mode 100644 index 000000000000..4c8962c65a59 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualWANList.json @@ -0,0 +1,60 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualWANListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualWANListByResourceGroup.json new file mode 100644 index 000000000000..5c4683426329 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualWANListByResourceGroup.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VirtualWANPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualWANPut.json new file mode 100644 index 000000000000..3acb0468b9c8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualWANPut.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VirtualWANUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualWANUpdateTags.json new file mode 100644 index 000000000000..7b808d702fea --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualWANUpdateTags.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "VirtualWANName": "wan1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VirtualWanSupportedSecurityProviders.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualWanSupportedSecurityProviders.json new file mode 100644 index 000000000000..a693822ba668 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VirtualWanSupportedSecurityProviders.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VmssNetworkInterfaceGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VmssNetworkInterfaceGet.json new file mode 100644 index 000000000000..146f80e3d7f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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/2024-01-01/examples/VmssNetworkInterfaceIpConfigGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VmssNetworkInterfaceIpConfigGet.json new file mode 100644 index 000000000000..5b7c23b7b56b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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/2024-01-01/examples/VmssNetworkInterfaceIpConfigList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VmssNetworkInterfaceIpConfigList.json new file mode 100644 index 000000000000..e14de4e82a72 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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/2024-01-01/examples/VmssNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VmssNetworkInterfaceList.json new file mode 100644 index 000000000000..0ec937148391 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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/2024-01-01/examples/VmssPublicIpGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VmssPublicIpGet.json new file mode 100644 index 000000000000..229c15712a0d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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/2024-01-01/examples/VmssPublicIpListAll.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VmssPublicIpListAll.json new file mode 100644 index 000000000000..605e0b831869 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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/2024-01-01/examples/VmssVmNetworkInterfaceList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VmssVmNetworkInterfaceList.json new file mode 100644 index 000000000000..e4f1cbf14ebf --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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/2024-01-01/examples/VmssVmPublicIpList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VmssVmPublicIpList.json new file mode 100644 index 000000000000..d21f5d40ed03 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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/2024-01-01/examples/VpnConnectionDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnConnectionDelete.json new file mode 100644 index 000000000000..ad709591af5c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnConnectionDelete.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "connectionName": "vpnConnection1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnConnectionGet.json new file mode 100644 index 000000000000..d758e6f501b5 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnConnectionGet.json @@ -0,0 +1,106 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VpnConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnConnectionList.json new file mode 100644 index 000000000000..ee337fe3d283 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnConnectionList.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2024-01-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/2024-01-01/examples/VpnConnectionPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnConnectionPut.json new file mode 100644 index 000000000000..5db96448462f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnConnectionPut.json @@ -0,0 +1,203 @@ +{ + "parameters": { + "connectionName": "vpnConnection1", + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VpnConnectionStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnConnectionStartPacketCapture.json new file mode 100644 index 000000000000..feeec49f3f8d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnConnectionStartPacketCapture.json @@ -0,0 +1,21 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VpnConnectionStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnConnectionStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..46d96c428b67 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnConnectionStartPacketCaptureFilterData.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VpnConnectionStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnConnectionStopPacketCapture.json new file mode 100644 index 000000000000..3f7c437c4050 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnConnectionStopPacketCapture.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VpnGatewayDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayDelete.json new file mode 100644 index 000000000000..36dcf7f86400 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayGet.json new file mode 100644 index 000000000000..b6cb98cb53ac --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayGet.json @@ -0,0 +1,207 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VpnGatewayList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayList.json new file mode 100644 index 000000000000..3b14656a85e1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayList.json @@ -0,0 +1,304 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VpnGatewayListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayListByResourceGroup.json new file mode 100644 index 000000000000..0b9a9f5ca9eb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayListByResourceGroup.json @@ -0,0 +1,280 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VpnGatewayPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayPut.json new file mode 100644 index 000000000000..4522041065c6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayPut.json @@ -0,0 +1,377 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VpnGatewayReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayReset.json new file mode 100644 index 000000000000..6ff950340b00 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayReset.json @@ -0,0 +1,107 @@ +{ + "parameters": { + "gatewayName": "vpngw", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VpnGatewayStartPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayStartPacketCapture.json new file mode 100644 index 000000000000..4fb968e99192 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayStartPacketCapture.json @@ -0,0 +1,14 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VpnGatewayStartPacketCaptureFilterData.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayStartPacketCaptureFilterData.json new file mode 100644 index 000000000000..802bf1843768 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayStartPacketCaptureFilterData.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VpnGatewayStopPacketCapture.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayStopPacketCapture.json new file mode 100644 index 000000000000..e86efc442f91 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayStopPacketCapture.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VpnGatewayUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayUpdateTags.json new file mode 100644 index 000000000000..2c515c38b076 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnGatewayUpdateTags.json @@ -0,0 +1,115 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VpnServerConfigurationDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnServerConfigurationDelete.json new file mode 100644 index 000000000000..bdbd70254aee --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnServerConfigurationDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnServerConfigurationGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnServerConfigurationGet.json new file mode 100644 index 000000000000..d9e67c4bffa3 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnServerConfigurationGet.json @@ -0,0 +1,114 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VpnServerConfigurationList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnServerConfigurationList.json new file mode 100644 index 000000000000..bcc16a250e59 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnServerConfigurationList.json @@ -0,0 +1,214 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VpnServerConfigurationListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnServerConfigurationListByResourceGroup.json new file mode 100644 index 000000000000..9c9f95a23e23 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnServerConfigurationListByResourceGroup.json @@ -0,0 +1,211 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VpnServerConfigurationPut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnServerConfigurationPut.json new file mode 100644 index 000000000000..89b2b5f88eba --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnServerConfigurationPut.json @@ -0,0 +1,304 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VpnServerConfigurationUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnServerConfigurationUpdateTags.json new file mode 100644 index 000000000000..0c3763f57339 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnServerConfigurationUpdateTags.json @@ -0,0 +1,112 @@ +{ + "parameters": { + "vpnServerConfigurationName": "vpnServerConfiguration1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VpnSiteDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteDelete.json new file mode 100644 index 000000000000..05db89ed96c7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2024-01-01", + "subscriptionId": "subid" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteGet.json new file mode 100644 index 000000000000..d68a947d78c1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteGet.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VpnSiteLinkConnectionGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteLinkConnectionGet.json new file mode 100644 index 000000000000..f91802d2ab1e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteLinkConnectionGet.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "connectionName": "vpnConnection1", + "linkConnectionName": "Connection-Link1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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, + "dpdTimeoutSeconds": 0 + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteLinkConnectionGetIkeSas.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteLinkConnectionGetIkeSas.json new file mode 100644 index 000000000000..c93ed77306bd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteLinkConnectionGetIkeSas.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "200": { + "body": "\"{\"Status\":\"Successful\",\"Data\":null}\"" + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteLinkConnectionList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteLinkConnectionList.json new file mode 100644 index 000000000000..91386fadbae6 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteLinkConnectionList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "gatewayName": "gateway1", + "api-version": "2024-01-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, + "dpdTimeoutSeconds": 0 + } + } + ] + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteLinkConnectionReset.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteLinkConnectionReset.json new file mode 100644 index 000000000000..1a1571a85599 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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/2024-01-01/examples/VpnSiteLinkGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteLinkGet.json new file mode 100644 index 000000000000..bf9b69512af4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteLinkGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "vpnSiteLinkName": "vpnSiteLink1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VpnSiteLinkListByVpnSite.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteLinkListByVpnSite.json new file mode 100644 index 000000000000..01fab0f168f8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteLinkListByVpnSite.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VpnSiteList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteList.json new file mode 100644 index 000000000000..d2033b0c858e --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteList.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VpnSiteListByResourceGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteListByResourceGroup.json new file mode 100644 index 000000000000..b6f1c465e6e0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteListByResourceGroup.json @@ -0,0 +1,88 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/VpnSitePut.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSitePut.json new file mode 100644 index 000000000000..0e88d0d8db7f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSitePut.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VpnSiteUpdateTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteUpdateTags.json new file mode 100644 index 000000000000..a058b0e38b93 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSiteUpdateTags.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "vpnSiteName": "vpnSite1", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/VpnSitesConfigurationDownload.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSitesConfigurationDownload.json new file mode 100644 index 000000000000..34744ec28f88 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/VpnSitesConfigurationDownload.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "api-version": "2024-01-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/2024-01-01/examples/WafListAllPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/WafListAllPolicies.json new file mode 100644 index 000000000000..1d790c5aa52c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/WafListAllPolicies.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/WafListPolicies.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/WafListPolicies.json new file mode 100644 index 000000000000..13774554ea81 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/WafListPolicies.json @@ -0,0 +1,159 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/WafPolicyCreateOrUpdate.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/WafPolicyCreateOrUpdate.json new file mode 100644 index 000000000000..733cc7ce2ec2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/WafPolicyCreateOrUpdate.json @@ -0,0 +1,753 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "subscriptionId": "subid", + "resourceGroupName": "rg1", + "policyName": "Policy1", + "parameters": { + "location": "WestUs", + "properties": { + "policySettings": { + "jsChallengeCookieExpirationInMins": 100, + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [ + { + "state": "Enabled", + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "Equals", + "selector": "test" + }, + { + "state": "Enabled", + "matchVariable": "RequestIPAddress", + "selectorMatchOperator": "EqualsAny" + } + ] + } + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroupOverrides": [ + { + "ruleGroupName": "REQUEST-931-APPLICATION-ATTACK-RFI", + "rules": [ + { + "ruleId": "931120", + "state": "Enabled", + "action": "Log" + }, + { + "ruleId": "931130", + "state": "Disabled", + "action": "AnomalyScoring" + } + ] + } + ] + }, + { + "ruleSetType": "Microsoft_BotManagerRuleSet", + "ruleSetVersion": "1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "UnknownBots", + "rules": [ + { + "ruleId": "300700", + "state": "Enabled", + "action": "JSChallenge" + } + ] + } + ] + } + ], + "exclusions": [ + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroups": [ + { + "ruleGroupName": "REQUEST-930-APPLICATION-ATTACK-LFI", + "rules": [ + { + "ruleId": "930120" + } + ] + }, + { + "ruleGroupName": "REQUEST-932-APPLICATION-ATTACK-RCE" + } + ] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "EndsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.1", + "ruleGroups": [] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "test" + }, + { + "matchVariable": "RequestArgValues", + "selectorMatchOperator": "StartsWith", + "selector": "test" + } + ] + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "ruleType": "MatchRule", + "action": "Block", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ] + }, + { + "name": "Rule2", + "priority": 2, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeaders", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + }, + { + "name": "RateLimitRule3", + "priority": 3, + "rateLimitDuration": "OneMin", + "rateLimitThreshold": 10, + "ruleType": "RateLimitRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "groupByUserSession": [ + { + "groupByVariables": [ + { + "variableName": "ClientAddr" + } + ] + } + ], + "action": "Block" + }, + { + "name": "Rule4", + "priority": 4, + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeaders", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "matchValues": [ + "Bot" + ] + } + ], + "action": "JSChallenge" + } + ] + } + } + }, + "responses": { + "200": { + "body": { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "state": "Enabled", + "mode": "Detection", + "requestBodyEnforcement": true, + "maxRequestBodySizeInKb": 2000, + "requestBodyInspectLimitInKB": 2000, + "fileUploadEnforcement": true, + "fileUploadLimitInMb": 4000, + "requestBodyCheck": true, + "customBlockResponseStatusCode": 405, + "customBlockResponseBody": "SGVsbG8=", + "jsChallengeCookieExpirationInMins": 100, + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [ + { + "state": "Enabled", + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "Equals", + "selector": "test" + }, + { + "state": "Enabled", + "matchVariable": "RequestIPAddress", + "selectorMatchOperator": "EqualsAny" + } + ] + } + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroupOverrides": [ + { + "ruleGroupName": "REQUEST-931-APPLICATION-ATTACK-RFI", + "rules": [ + { + "ruleId": "931120", + "state": "Enabled", + "action": "Log" + }, + { + "ruleId": "931130", + "state": "Disabled", + "action": "AnomalyScoring" + } + ] + } + ] + }, + { + "ruleSetType": "Microsoft_BotManagerRuleSet", + "ruleSetVersion": "1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "UnknownBots", + "rules": [ + { + "ruleId": "300700", + "state": "Enabled", + "action": "JSChallenge" + } + ] + } + ] + } + ], + "exclusions": [ + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroups": [ + { + "ruleGroupName": "REQUEST-930-APPLICATION-ATTACK-LFI", + "rules": [ + { + "ruleId": "930120" + } + ] + }, + { + "ruleGroupName": "REQUEST-932-APPLICATION-ATTACK-RCE" + } + ] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "EndsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.1", + "ruleGroups": [] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "test" + }, + { + "matchVariable": "RequestArgValues", + "selectorMatchOperator": "StartsWith", + "selector": "test" + } + ] + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeader", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + }, + { + "name": "RateLimitRule3", + "priority": 3, + "rateLimitDuration": "OneMin", + "rateLimitThreshold": 10, + "ruleType": "RateLimitRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "groupByUserSession": [ + { + "groupByVariables": [ + { + "variableName": "ClientAddr" + } + ] + } + ], + "action": "Block" + }, + { + "name": "Rule4", + "priority": 4, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeaders", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Bot" + ] + } + ], + "action": "JSChallenge" + } + ] + } + } + }, + "201": { + "body": { + "name": "Policy1", + "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/ApplicationGatewayWebApplicationFirewallPolicies/Policy1", + "type": "Microsoft.Network/applicationgatewaywebapplicationfirewallpolicies", + "tags": { + "key1": "value1", + "key2": "value2" + }, + "location": "WestUs", + "properties": { + "resourceState": "Enabled", + "provisioningState": "Succeeded", + "policySettings": { + "state": "Enabled", + "mode": "Detection", + "requestBodyEnforcement": true, + "maxRequestBodySizeInKb": 2000, + "requestBodyInspectLimitInKB": 2000, + "fileUploadEnforcement": true, + "fileUploadLimitInMb": 4000, + "requestBodyCheck": true, + "customBlockResponseStatusCode": 405, + "customBlockResponseBody": "SGVsbG8=", + "jsChallengeCookieExpirationInMins": 100 + }, + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroupOverrides": [ + { + "ruleGroupName": "REQUEST-931-APPLICATION-ATTACK-RFI", + "rules": [ + { + "ruleId": "931120", + "state": "Enabled", + "action": "Log" + }, + { + "ruleId": "931130", + "state": "Disabled", + "action": "AnomalyScoring" + } + ] + } + ] + }, + { + "ruleSetType": "Microsoft_BotManagerRuleSet", + "ruleSetVersion": "1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "UnknownBots", + "rules": [ + { + "ruleId": "300700", + "state": "Enabled", + "action": "JSChallenge" + } + ] + } + ] + } + ], + "exclusions": [ + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroups": [ + { + "ruleGroupName": "REQUEST-930-APPLICATION-ATTACK-LFI", + "rules": [ + { + "ruleId": "930120" + } + ] + }, + { + "ruleGroupName": "REQUEST-932-APPLICATION-ATTACK-RCE" + } + ] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "EndsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.1", + "ruleGroups": [] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "test" + }, + { + "matchVariable": "RequestArgValues", + "selectorMatchOperator": "StartsWith", + "selector": "test" + } + ] + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeader", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + }, + { + "name": "RateLimitRule3", + "priority": 3, + "rateLimitDuration": "OneMin", + "rateLimitThreshold": 10, + "ruleType": "RateLimitRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "groupByUserSession": [ + { + "groupByVariables": [ + { + "variableName": "ClientAddr" + } + ] + } + ], + "action": "Block" + }, + { + "name": "Rule4", + "priority": 4, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeaders", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Bot" + ] + } + ], + "action": "JSChallenge" + } + ] + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/WafPolicyDelete.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/WafPolicyDelete.json new file mode 100644 index 000000000000..af9b82f5f899 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/WafPolicyDelete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-01-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=2024-01-01" + } + }, + "204": {} + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/WafPolicyGet.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/WafPolicyGet.json new file mode 100644 index 000000000000..f4b60aa49925 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/WafPolicyGet.json @@ -0,0 +1,303 @@ +{ + "parameters": { + "api-version": "2024-01-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=", + "jsChallengeCookieExpirationInMins": 100, + "logScrubbing": { + "state": "Enabled", + "scrubbingRules": [ + { + "state": "Enabled", + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "Equals", + "selector": "test" + }, + { + "state": "Enabled", + "matchVariable": "RequestIPAddress", + "selectorMatchOperator": "EqualsAny" + } + ] + } + }, + "customRules": [ + { + "name": "Rule1", + "priority": 1, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ], + "transforms": [] + } + ], + "action": "Block" + }, + { + "name": "Rule2", + "priority": 2, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeader", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Windows" + ] + } + ], + "action": "Block" + }, + { + "name": "RateLimitRule3", + "priority": 3, + "rateLimitDuration": "OneMin", + "rateLimitThreshold": 10, + "ruleType": "RateLimitRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": true, + "matchValues": [ + "192.168.1.0/24", + "10.0.0.0/24" + ] + } + ], + "groupByUserSession": [ + { + "groupByVariables": [ + { + "variableName": "ClientAddr" + } + ] + } + ], + "action": "Block" + }, + { + "name": "Rule4", + "priority": 4, + "state": "Enabled", + "ruleType": "MatchRule", + "matchConditions": [ + { + "matchVariables": [ + { + "variableName": "RemoteAddr", + "selector": null + } + ], + "operator": "IPMatch", + "negationConditon": false, + "matchValues": [ + "192.168.1.0/24" + ] + }, + { + "matchVariables": [ + { + "variableName": "RequestHeaders", + "selector": "UserAgent" + } + ], + "operator": "Contains", + "negationConditon": false, + "matchValues": [ + "Bot" + ] + } + ], + "action": "JSChallenge" + } + ], + "managedRules": { + "managedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroupOverrides": [ + { + "ruleGroupName": "REQUEST-942-APPLICATION-ATTACK-SQLI", + "rules": [ + { + "ruleId": "942130", + "state": "Disabled", + "action": "AnomalyScoring" + }, + { + "ruleId": "942110", + "state": "Disabled", + "action": "AnomalyScoring" + }, + { + "ruleId": "942140", + "state": "Enabled", + "action": "Log" + } + ] + }, + { + "ruleGroupName": "REQUEST-920-PROTOCOL-ENFORCEMENT", + "rules": [ + { + "ruleId": "920100", + "state": "Disabled", + "action": "AnomalyScoring" + }, + { + "ruleId": "920120", + "state": "Disabled", + "action": "AnomalyScoring" + }, + { + "ruleId": "920130", + "state": "Enabled", + "action": "Block" + } + ] + } + ] + }, + { + "ruleSetType": "Microsoft_BotManagerRuleSet", + "ruleSetVersion": "1.0", + "ruleGroupOverrides": [ + { + "ruleGroupName": "UnknownBots", + "rules": [ + { + "ruleId": "300700", + "state": "Enabled", + "action": "JSChallenge" + } + ] + } + ] + } + ], + "exclusions": [ + { + "matchVariable": "RequestHeaderNames", + "selectorMatchOperator": "Equals", + "selector": "testHeader1" + }, + { + "matchVariable": "RequestHeaderNames", + "selectorMatchOperator": "StartsWith", + "selector": "testHeader2" + }, + { + "matchVariable": "RequestArgValues", + "selectorMatchOperator": "StartsWith", + "selector": "hello" + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "StartsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.2", + "ruleGroups": [ + { + "ruleGroupName": "REQUEST-930-APPLICATION-ATTACK-LFI", + "rules": [ + { + "ruleId": "930120" + } + ] + }, + { + "ruleGroupName": "REQUEST-932-APPLICATION-ATTACK-RCE" + } + ] + } + ] + }, + { + "matchVariable": "RequestArgNames", + "selectorMatchOperator": "EndsWith", + "selector": "hello", + "exclusionManagedRuleSets": [ + { + "ruleSetType": "OWASP", + "ruleSetVersion": "3.1", + "ruleGroups": [] + } + ] + } + ] + } + } + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/expressRouteProviderPort.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/expressRouteProviderPort.json new file mode 100644 index 000000000000..1603d958efe9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/expressRouteProviderPort.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/examples/expressRouteProviderPortList.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/expressRouteProviderPortList.json new file mode 100644 index 000000000000..00eeb672f21d --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/examples/expressRouteProviderPortList.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "api-version": "2024-01-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/2024-01-01/expressRouteCircuit.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/expressRouteCircuit.json new file mode 100644 index 000000000000..bf35a68db04a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/expressRouteCircuit.json @@ -0,0 +1,2525 @@ +{ + "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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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 + } + }, + "connectionResourceUri": { + "readOnly": true, + "type": "string", + "description": "The reference to the ExpressRoute connection resource using the authorization." + }, + "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." + }, + "enableDirectPortRateLimit": { + "type": "boolean", + "description": "Flag denoting rate-limiting status of the ExpressRoute direct-port 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/2024-01-01/expressRouteCrossConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/expressRouteCrossConnection.json new file mode 100644 index 000000000000..11f0f9af2cd8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/expressRouteCrossConnection.json @@ -0,0 +1,1016 @@ +{ + "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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.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" + }, + { + "name": "$filter", + "in": "query", + "required": false, + "type": "string", + "description": "The filter to apply on the operation. For example, you can use $filter=name eq '{circuitServiceKey}'.", + "x-ms-parameter-location": "method" + } + ], + "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/2024-01-01/expressRoutePort.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/expressRoutePort.json new file mode 100644 index 000000000000..722f3b9b0308 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.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/2024-01-01/expressRouteProviderPort.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/expressRouteProviderPort.json new file mode 100644 index 000000000000..3c8e011eb68b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.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/2024-01-01/firewallPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/firewallPolicy.json new file mode 100644 index 000000000000..ba43834e6f4c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/firewallPolicy.json @@ -0,0 +1,2719 @@ +{ + "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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}": { + "delete": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_Delete", + "description": "Deletes the specified Firewall Policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete Firewall Policy": { + "$ref": "./examples/FirewallPolicyDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_Get", + "description": "Gets the specified Firewall Policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "$expand", + "in": "query", + "required": false, + "type": "string", + "description": "Expands referenced resources." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a Firewall Policy resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get FirewallPolicy": { + "$ref": "./examples/FirewallPolicyGet.json" + } + } + }, + "put": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_CreateOrUpdate", + "description": "Creates or updates the specified Firewall Policy.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallPolicy" + }, + "description": "Parameters supplied to the create or update Firewall Policy operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request received successfully. The operation returns the resulting FirewallPolicy resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicy" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting FirewallPolicy resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicy" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create FirewallPolicy": { + "$ref": "./examples/FirewallPolicyPut.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "patch": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_UpdateTags", + "description": "Updates tags of a Azure Firewall Policy resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update Azure Firewall Policy tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting FirewallPolicy resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicy" + } + }, + "default": { + "description": "Unexpected error.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Update FirewallPolicy Tags": { + "$ref": "./examples/FirewallPolicyPatch.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies": { + "get": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_List", + "description": "Lists all Firewall Policies in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of FirewallPolicy resources.", + "schema": { + "$ref": "#/definitions/FirewallPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Firewall Policies for a given resource group": { + "$ref": "./examples/FirewallPolicyListByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Network/firewallPolicies": { + "get": { + "tags": [ + "FirewallPolicies" + ], + "operationId": "FirewallPolicies_ListAll", + "description": "Gets all the Firewall Policies in a subscription.", + "parameters": [ + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of FirewallPolicy resources.", + "schema": { + "$ref": "#/definitions/FirewallPolicyListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all Firewall Policies for a given subscription": { + "$ref": "./examples/FirewallPolicyListBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleCollectionGroups/{ruleCollectionGroupName}": { + "delete": { + "tags": [ + "FirewallPolicyRuleCollectionGroups" + ], + "operationId": "FirewallPolicyRuleCollectionGroups_Delete", + "description": "Deletes the specified FirewallPolicyRuleCollectionGroup.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "ruleCollectionGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the FirewallPolicyRuleCollectionGroup." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Request successful. Resource with the specified name does not exist." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Delete FirewallPolicyRuleCollectionGroup": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "get": { + "tags": [ + "FirewallPolicyRuleCollectionGroups" + ], + "operationId": "FirewallPolicyRuleCollectionGroups_Get", + "description": "Gets the specified FirewallPolicyRuleCollectionGroup.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "ruleCollectionGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the FirewallPolicyRuleCollectionGroup." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a FirewallPolicyRuleCollectionGroup resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Get FirewallPolicyRuleCollectionGroup": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupGet.json" + }, + "Get FirewallPolicyRuleCollectionGroup With IpGroups": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithIpGroupsGet.json" + }, + "Get FirewallPolicyNatRuleCollectionGroup": { + "$ref": "./examples/FirewallPolicyNatRuleCollectionGroupGet.json" + }, + "Get FirewallPolicyRuleCollectionGroup With Web Categories": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesGet.json" + } + } + }, + "put": { + "tags": [ + "FirewallPolicyRuleCollectionGroups" + ], + "operationId": "FirewallPolicyRuleCollectionGroups_CreateOrUpdate", + "description": "Creates or updates the specified FirewallPolicyRuleCollectionGroup.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "name": "ruleCollectionGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the FirewallPolicyRuleCollectionGroup." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + }, + "description": "Parameters supplied to the create or update FirewallPolicyRuleCollectionGroup operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request received successfully. The operation returns the resulting FirewallPolicyRuleCollectionGroup resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting FirewallPolicyRuleCollectionGroup resource.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroup" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Create Firewall Policy Rule Collection Group": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupPut.json" + }, + "Create Firewall Policy Rule Collection Group With IP Groups": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithIpGroupsPut.json" + }, + "Create Firewall Policy Nat Rule Collection Group": { + "$ref": "./examples/FirewallPolicyNatRuleCollectionGroupPut.json" + }, + "Create Firewall Policy Rule Collection Group With Web Categories": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesPut.json" + }, + "Create Firewall Policy Rule Collection Group With http header to insert": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithHttpHeadersToInsert.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/ruleCollectionGroups": { + "get": { + "tags": [ + "FirewallPolicyRuleCollectionGroups" + ], + "operationId": "FirewallPolicyRuleCollectionGroups_List", + "description": "Lists all FirewallPolicyRuleCollectionGroups in a FirewallPolicy resource.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of FirewallPolicyRuleCollectionGroup resources.", + "schema": { + "$ref": "#/definitions/FirewallPolicyRuleCollectionGroupListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "List all FirewallPolicyRuleCollectionGroups for a given FirewallPolicy": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupList.json" + }, + "List all FirewallPolicyRuleCollectionGroups with IpGroups for a given FirewallPolicy": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithIpGroupsList.json" + }, + "List all FirewallPolicyRuleCollectionGroup With Web Categories": { + "$ref": "./examples/FirewallPolicyRuleCollectionGroupWithWebCategoriesList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/listIdpsSignatures": { + "post": { + "operationId": "FirewallPolicyIdpsSignatures_List", + "description": "Retrieves the current status of IDPS signatures for the relevant policy. Maximal amount of returned signatures is 1000.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/IDPSQueryObject" + } + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns an IDPS Query Response", + "schema": { + "$ref": "#/definitions/QueryResults" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "query signature overrides": { + "$ref": "./examples/FirewallPolicyQuerySignatureOverrides.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/signatureOverrides/default": { + "patch": { + "operationId": "FirewallPolicyIdpsSignaturesOverrides_Patch", + "description": "Will update the status of policy's signature overrides for IDPS", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "description": "Will contain all properties of the object to put", + "schema": { + "$ref": "#/definitions/SignaturesOverrides" + } + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Will return the policy current signature overrides object", + "schema": { + "$ref": "#/definitions/SignaturesOverrides" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "patch signature overrides": { + "$ref": "./examples/FirewallPolicySignatureOverridesPatch.json" + } + } + }, + "put": { + "description": "Will override/create a new signature overrides for the policy's IDPS", + "operationId": "FirewallPolicyIdpsSignaturesOverrides_Put", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "description": "Will contain all properties of the object to put", + "schema": { + "$ref": "#/definitions/SignaturesOverrides" + } + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Describes the new state of the signature overrides after the PUT operation", + "schema": { + "$ref": "#/definitions/SignaturesOverrides" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "put signature overrides": { + "$ref": "./examples/FirewallPolicySignatureOverridesPut.json" + } + } + }, + "get": { + "description": "Returns all signatures overrides for a specific policy.", + "operationId": "FirewallPolicyIdpsSignaturesOverrides_Get", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Will return the policy current signature overrides object", + "schema": { + "$ref": "#/definitions/SignaturesOverrides" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "get signature overrides": { + "$ref": "./examples/FirewallPolicySignatureOverridesGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/listIdpsFilterOptions": { + "post": { + "operationId": "FirewallPolicyIdpsSignaturesFilterValues_List", + "description": "Retrieves the current filter values for the signatures overrides", + "parameters": [ + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/SignatureOverridesFilterValuesQuery" + } + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The operation returns a list of all valid filter values for the requested column", + "schema": { + "$ref": "#/definitions/SignatureOverridesFilterValuesResponse" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "query signature overrides": { + "$ref": "./examples/FirewallPolicyQuerySignatureOverridesFilterValues.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/signatureOverrides": { + "get": { + "description": "Returns all signatures overrides objects for a specific policy as a list containing a single value.", + "operationId": "FirewallPolicyIdpsSignaturesOverrides_List", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Firewall Policy." + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Will return the policy current signature overrides object inside a list", + "schema": { + "$ref": "#/definitions/SignaturesOverridesList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "get signature overrides": { + "$ref": "./examples/FirewallPolicySignatureOverridesList.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/firewallPolicies/{firewallPolicyName}/firewallPolicyDrafts/default": { + "put": { + "description": "Create or update a draft Firewall Policy.", + "operationId": "FirewallPolicyDrafts_CreateOrUpdate", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "firewallPolicyName", + "in": "path", + "required": true, + "pattern": "^[^_\\W][\\w-._]{0,79}(?/." + }, + "privateIPAddressPrefixLength": { + "type": "integer", + "format": "int32", + "minimum": 1, + "maximum": 128, + "x-nullable": true, + "description": "The private IP address prefix length. If specified and the allocation method is dynamic, the service will allocate a CIDR block instead of a single IP address." + }, + "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/2024-01-01/networkManager.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkManager.json new file mode 100644 index 000000000000..9f5ec598b4fb --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/networkManagerActiveConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkManagerActiveConfiguration.json new file mode 100644 index 000000000000..8871b4c6079b --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/networkManagerConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkManagerConnection.json new file mode 100644 index 000000000000..d1d88634e7a2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.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/2024-01-01/networkManagerConnectivityConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkManagerConnectivityConfiguration.json new file mode 100644 index 000000000000..4bee9d3d93f9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/networkManagerEffectiveConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkManagerEffectiveConfiguration.json new file mode 100644 index 000000000000..72ae8991b951 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/networkManagerGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkManagerGroup.json new file mode 100644 index 000000000000..3dc7a752e752 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/networkManagerScopeConnection.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkManagerScopeConnection.json new file mode 100644 index 000000000000..6342d7e355c2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/networkManagerSecurityAdminConfiguration.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkManagerSecurityAdminConfiguration.json new file mode 100644 index 000000000000..34b2981d99f4 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkManagerSecurityAdminConfiguration.json @@ -0,0 +1,1158 @@ +{ + "swagger": "2.0", + "info": { + "title": "SecurityAdminConfiguration", + "version": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/networkProfile.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkProfile.json new file mode 100644 index 000000000000..41c33bce59e7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/networkSecurityGroup.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkSecurityGroup.json new file mode 100644 index 000000000000..99b4ade26118 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/networkVirtualAppliance.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkVirtualAppliance.json new file mode 100644 index 000000000000..811205ec51b1 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkVirtualAppliance.json @@ -0,0 +1,1592 @@ +{ + "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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/{networkVirtualApplianceName}/restart": { + "post": { + "tags": [ + "NetworkVirtualAppliances" + ], + "operationId": "NetworkVirtualAppliances_Restart", + "description": "Restarts one or more VMs belonging to 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": "NetworkVirtualApplianceInstanceIds", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceInstanceIds" + }, + "description": "Specifies a list of virtual machine instance IDs from the Network Virtual Appliance VM instances." + } + ], + "responses": { + "200": { + "description": "Request successful. The operation restarts one or more Network Virtual Appliance VM resources.", + "schema": { + "$ref": "#/definitions/NetworkVirtualApplianceInstanceIds" + } + }, + "202": { + "description": "Request accepted. The operation restarts one or more Network Virtual Appliance VM resources.", + "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-examples": { + "Restart All NetworkVirtualAppliance VMs in VM Scale Set": { + "$ref": "./examples/NetworkVirtualApplianceEmptyRestart.json" + }, + "Restart Specific NetworkVirtualAppliance VMs in VM Scale Set": { + "$ref": "./examples/NetworkVirtualApplianceSpecificRestart.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/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" + } + }, + "get": { + "operationId": "InboundSecurityRule_Get", + "description": "Retrieves the available specified Network Virtual Appliance Inbound Security Rules Collection.", + "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." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the requested Network Virtual Appliance Inbound Security Rules Collection 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/InboundSecurityRuleGet.json" + } + } + } + } + }, + "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" + } + }, + "networkProfile": { + "type": "object", + "readOnly": false, + "description": "Network Profile containing configurations for Public and Private NIC.", + "properties": { + "networkInterfaceConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualApplianceNetworkInterfaceConfiguration" + }, + "x-ms-identifiers": [] + } + } + }, + "additionalNics": { + "type": "array", + "readOnly": false, + "description": "Details required for Additional Network Interface.", + "items": { + "$ref": "#/definitions/VirtualApplianceAdditionalNicProperties" + }, + "x-ms-identifiers": [] + }, + "internetIngressPublicIps": { + "type": "array", + "readOnly": false, + "description": "List of Resource Uri of Public IPs for Internet Ingress Scenario.", + "items": { + "$ref": "#/definitions/InternetIngressPublicIpsProperties" + }, + "x-ms-identifiers": [] + }, + "virtualApplianceSites": { + "type": "array", + "readOnly": true, + "description": "List of references to VirtualApplianceSite.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "virtualApplianceConnections": { + "type": "array", + "readOnly": true, + "description": "List of references to VirtualApplianceConnections.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "inboundSecurityRules": { + "type": "array", + "readOnly": true, + "description": "List of references to InboundSecurityRules.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + }, + "deploymentType": { + "type": "string", + "readOnly": true, + "description": "The deployment type. PartnerManaged for the SaaS NVA" + }, + "delegation": { + "description": "The delegation for the Virtual Appliance", + "$ref": "#/definitions/DelegationProperties" + }, + "partnerManagedResource": { + "description": "The delegation for the Virtual Appliance", + "$ref": "#/definitions/PartnerManagedResourceProperties" + } + }, + "description": "Network Virtual Appliance definition." + }, + "VirtualApplianceSkuProperties": { + "properties": { + "vendor": { + "type": "string", + "readOnly": false, + "description": "Virtual Appliance Vendor." + }, + "bundledScaleUnit": { + "type": "string", + "readOnly": false, + "description": "Virtual Appliance Scale Unit." + }, + "marketPlaceVersion": { + "type": "string", + "readOnly": false, + "description": "Virtual Appliance Version." + } + }, + "description": "Network Virtual Appliance Sku Properties." + }, + "VirtualApplianceNicProperties": { + "properties": { + "nicType": { + "type": "string", + "readOnly": true, + "description": "NIC type - PublicNic, PrivateNic, or AdditionalNic.", + "enum": [ + "PublicNic", + "PrivateNic", + "AdditionalNic" + ], + "x-ms-enum": { + "name": "NicTypeInResponse", + "modelAsString": true + } + }, + "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." + }, + "VirtualApplianceNetworkInterfaceConfiguration": { + "type": "object", + "readOnly": false, + "description": "Represents a single NIC configuration.", + "properties": { + "type": { + "type": "string", + "description": "NIC type. This should be either PublicNic or PrivateNic.", + "enum": [ + "PublicNic", + "PrivateNic" + ], + "x-ms-enum": { + "name": "NicTypeInRequest", + "modelAsString": true + }, + "x-ms-client-name": "NicType" + }, + "properties": { + "$ref": "#/definitions/VirtualApplianceNetworkInterfaceConfigurationProperties" + } + } + }, + "VirtualApplianceNetworkInterfaceConfigurationProperties": { + "type": "object", + "readOnly": false, + "description": "Represents a single NIC configuration properties.", + "properties": { + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualApplianceIPConfiguration" + }, + "x-ms-identifiers": [] + } + } + }, + "VirtualApplianceIPConfiguration": { + "type": "object", + "readOnly": false, + "description": "Represents a single IP configuration.", + "properties": { + "name": { + "type": "string", + "description": "Name of the IP configuration." + }, + "properties": { + "$ref": "#/definitions/VirtualApplianceIPConfigurationProperties" + } + } + }, + "VirtualApplianceIPConfigurationProperties": { + "type": "object", + "readOnly": false, + "description": "Represents a single IP configuration properties.", + "properties": { + "primary": { + "type": "boolean", + "description": "Whether or not this is primary IP configuration of the NIC." + } + } + }, + "VirtualApplianceAdditionalNicProperties": { + "type": "object", + "title": "Network Virtual Appliance Additional Nic Properties", + "description": "Network Virtual Appliance Additional NIC properties.", + "properties": { + "name": { + "type": "string", + "readOnly": false, + "description": "Name of additional nic" + }, + "hasPublicIp": { + "type": "boolean", + "readOnly": false, + "description": "Flag (true or false) for Intent for Public Ip on additional nic" + } + } + }, + "InternetIngressPublicIpsProperties": { + "type": "object", + "title": "Internet Ingress Public Ip Properties", + "description": "Resource Uri of Public Ip for Standard Load Balancer Frontend End.", + "properties": { + "id": { + "type": "string", + "readOnly": false, + "description": "Resource Uri of Public Ip", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/publicIPAddresses" + } + ] + } + } + } + }, + "VirtualApplianceSite": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualApplianceSiteProperties", + "description": "The properties of the Virtual Appliance Sites." + }, + "name": { + "type": "string", + "description": "Name of the virtual appliance site." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "Site type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Virtual Appliance Site resource." + }, + "VirtualApplianceSiteProperties": { + "properties": { + "addressPrefix": { + "type": "string", + "readOnly": false, + "description": "Address Prefix." + }, + "o365Policy": { + "readOnly": false, + "description": "Office 365 Policy.", + "$ref": "#/definitions/Office365PolicyProperties" + }, + "provisioningState": { + "description": "The provisioning state of the resource.", + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState" + } + }, + "description": "Properties of the rule group." + }, + "Office365PolicyProperties": { + "properties": { + "breakOutCategories": { + "readOnly": false, + "description": "Office 365 breakout categories.", + "$ref": "#/definitions/BreakOutCategoryPolicies" + } + }, + "description": "Network Virtual Appliance Sku Properties." + }, + "BreakOutCategoryPolicies": { + "properties": { + "allow": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control breakout of o365 allow category." + }, + "optimize": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control breakout of o365 optimize category." + }, + "default": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control breakout of o365 default category." + } + }, + "description": "Network Virtual Appliance Sku Properties." + }, + "NetworkVirtualApplianceSku": { + "title": "Available NetworkVirtualApplianceSkus", + "description": "Definition of the NetworkVirtualApplianceSkus resource.", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkVirtualApplianceSkuPropertiesFormat", + "description": "NetworkVirtualApplianceSku properties." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ] + }, + "NetworkVirtualApplianceSkuPropertiesFormat": { + "title": "Network Virtual Appliance Sku Properties", + "description": "Properties specific to NetworkVirtualApplianceSkus.", + "properties": { + "vendor": { + "type": "string", + "readOnly": true, + "description": "Network Virtual Appliance Sku vendor." + }, + "availableVersions": { + "type": "array", + "readOnly": true, + "description": "Available Network Virtual Appliance versions.", + "items": { + "type": "string" + } + }, + "availableScaleUnits": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkVirtualApplianceSkuInstances" + }, + "description": "The list of scale units available." + } + } + }, + "NetworkVirtualApplianceSkuInstances": { + "title": "Network Virtual Appliance Sku Instances", + "description": "List of available Sku and instances.", + "properties": { + "scaleUnit": { + "type": "string", + "readOnly": true, + "description": "Scale Unit." + }, + "instanceCount": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "Instance Count." + } + } + }, + "NetworkVirtualApplianceListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkVirtualAppliance" + }, + "description": "List of Network Virtual Appliances." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListNetworkVirtualAppliances API service call." + }, + "NetworkVirtualApplianceSiteListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualApplianceSite" + }, + "description": "List of Network Virtual Appliance sites." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListNetworkVirtualApplianceSites API service call." + }, + "NetworkVirtualApplianceSkuListResult": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkVirtualApplianceSku" + }, + "description": "List of Network Virtual Appliance Skus that are available." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "Response for ListNetworkVirtualApplianceSkus API service call." + }, + "InboundSecurityRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/InboundSecurityRuleProperties", + "description": "The properties of the Inbound Security Rules." + }, + "name": { + "type": "string", + "description": "Name of security rule collection." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "readOnly": true, + "description": "NVA inbound security rule type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "NVA Inbound Security Rule resource." + }, + "InboundSecurityRuleProperties": { + "properties": { + "ruleType": { + "type": "string", + "enum": [ + "AutoExpire", + "Permanent" + ], + "x-ms-enum": { + "name": "InboundSecurityRuleType", + "modelAsString": true + }, + "description": "Rule Type. This should be either AutoExpire or Permanent. Auto Expire Rule only creates NSG rules. Permanent Rule creates NSG rule and SLB LB Rule." + }, + "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": { + "name": { + "type": "string", + "description": "Name of the rule." + }, + "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." + }, + "destinationPortRange": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 65535, + "description": "NVA port ranges to be opened up. One needs to provide specific ports." + }, + "destinationPortRanges": { + "type": "array", + "readOnly": false, + "description": "NVA port ranges to be opened up. One can provide a range of ports. Allowed port value between 0 and 65535.", + "items": { + "type": "string" + } + }, + "appliesOn": { + "type": "array", + "readOnly": false, + "description": "Public IP name in case of Permanent Rule type & Interface Name in case of Auto Expire Rule type", + "items": { + "type": "string" + } + } + }, + "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." + }, + "NetworkVirtualApplianceInstanceIds": { + "type": "object", + "properties": { + "instanceIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "The network virtual appliance instance ids. Omitting the network virtual appliance instance ids will result in the operation being performed on all virtual machines belonging to the network virtual appliance." + } + }, + "description": "Specifies a list of virtual machine instance IDs from the Network Virtual Appliance VM instances." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkWatcher.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkWatcher.json new file mode 100644 index 000000000000..5cde1fcc17b8 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/networkWatcher.json @@ -0,0 +1,4854 @@ +{ + "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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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" + }, + "Create connection monitor with Arc Network": { + "$ref": "./examples/NetworkWatcherConnectionMonitorCreateWithArcNetwork.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." + }, + "continuousCapture": { + "description": "This continuous capture is a nullable boolean, which can hold 'null', 'true' or 'false' value. If we do not pass this parameter, it would be consider as 'null', default value is 'null'.", + "type": "boolean" + }, + "captureSettings": { + "type": "object", + "$ref": "#/definitions/PacketCaptureSettings", + "description": "The capture setting holds the 'FileCount', 'FileSizeInBytes', 'SessionTimeLimitInSeconds' values." + } + }, + "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 localPath or filePath 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": "This path is invalid if 'Continuous Capture' is provided with 'true' or 'false'. 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." + }, + "localPath": { + "type": "string", + "description": "This path is valid if 'Continuous Capture' is provided with 'true' or 'false' and required if no storage ID is provided, otherwise optional. Must include the name of the capture file (*.cap). For linux virtual machine it must start with /var/captures." + } + }, + "description": "The storage location for a packet capture session." + }, + "PacketCaptureSettings": { + "properties": { + "fileCount": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 10000, + "default": 10, + "description": "Number of file count. Default value of count is 10 and maximum number is 10000." + }, + "fileSizeInBytes": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "default": 104857600, + "description": "Number of bytes captured per packet. Default value in bytes 104857600 (100MB) and maximum in bytes 4294967295 (4GB)." + }, + "sessionTimeLimitInSeconds": { + "type": "integer", + "format": "int32", + "minimum": 0, + "maximum": 604800, + "default": 86400, + "description": "Maximum duration of the capture session in seconds is 604800s (7 days) for a file. Default value in second 86400s (1 day)." + } + }, + "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." + }, + "identity": { + "description": "FlowLog resource Managed Identity", + "$ref": "./network.json#/definitions/ManagedServiceIdentity" + } + }, + "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." + }, + "identity": { + "description": "FlowLog resource Managed Identity", + "$ref": "./network.json#/definitions/ManagedServiceIdentity" + } + } + }, + "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", + "AzureArcNetwork" + ], + "x-ms-enum": { + "name": "EndpointType", + "modelAsString": true + }, + "description": "The endpoint type." + }, + "resourceId": { + "type": "string", + "description": "Resource ID of the connection monitor endpoint are supported for AzureVM, AzureVMSS, AzureVNet, AzureSubnet, MMAWorkspaceMachine, MMAWorkspaceNetwork, AzureArcVM endpoint type." + }, + "address": { + "type": "string", + "description": "Address of the connection monitor endpoint. Supported for AzureVM, ExternalAddress, ArcMachine, MMAWorkspaceMachine endpoint type." + }, + "filter": { + "$ref": "#/definitions/ConnectionMonitorEndpointFilter", + "description": "Filter field is getting deprecated and should not be used. Instead use Include/Exclude scope fields for it." + }, + "scope": { + "$ref": "#/definitions/ConnectionMonitorEndpointScope", + "description": "Endpoint scope defines which target resource to monitor in case of compound resource endpoints like VMSS, AzureSubnet, AzureVNet, MMAWorkspaceNetwork, AzureArcNetwork." + }, + "coverageLevel": { + "type": "string", + "enum": [ + "Default", + "Low", + "BelowAverage", + "Average", + "AboveAverage", + "Full" + ], + "x-ms-enum": { + "name": "CoverageLevel", + "modelAsString": true + }, + "description": "Test coverage for the endpoint." + }, + "locationDetails": { + "$ref": "#/definitions/ConnectionMonitorEndpointLocationDetails", + "description": "Location details is optional and only being used for 'AzureArcNetwork' type endpoints, which contains region details." + }, + "subscriptionId": { + "type": "string", + "description": "Subscription ID for connection monitor endpoint. It's an optional parameter which is being used for 'AzureArcNetwork' type 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." + }, + "ConnectionMonitorEndpointLocationDetails": { + "type": "object", + "properties": { + "region": { + "type": "string", + "description": "Region for connection monitor endpoint." + } + }, + "description": "Connection monitor endpoint location details only being used for 'AzureArcNetwork' type endpoints, which contains the region details." + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/operation.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/operation.json new file mode 100644 index 000000000000..d240277e63ec --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/providers/Microsoft.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/2024-01-01/privateEndpoint.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/privateEndpoint.json new file mode 100644 index 000000000000..e85c54ab24f9 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/privateLinkService.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/privateLinkService.json new file mode 100644 index 000000000000..85c113c829fd --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/publicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/publicIpAddress.json new file mode 100644 index 000000000000..6e6253f327de --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/publicIpPrefix.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/publicIpPrefix.json new file mode 100644 index 000000000000..46eb128a72e0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/routeFilter.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/routeFilter.json new file mode 100644 index 000000000000..483e4994133a --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/routeTable.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/routeTable.json new file mode 100644 index 000000000000..c10e409f9771 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/securityPartnerProvider.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/securityPartnerProvider.json new file mode 100644 index 000000000000..318b9b186ae7 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/serviceCommunity.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/serviceCommunity.json new file mode 100644 index 000000000000..47c3f6ec2c9c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.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/2024-01-01/serviceEndpointPolicy.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/serviceEndpointPolicy.json new file mode 100644 index 000000000000..ac9892fd20c0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/serviceTags.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/serviceTags.json new file mode 100644 index 000000000000..cc783fd7c1e2 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.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/2024-01-01/usage.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/usage.json new file mode 100644 index 000000000000..d48b588c9936 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.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/2024-01-01/virtualNetwork.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/virtualNetwork.json new file mode 100644 index 000000000000..20ce59d44352 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/virtualNetwork.json @@ -0,0 +1,2290 @@ +{ + "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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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" + }, + "Get subnet with sharing scope": { + "$ref": "./examples/SubnetGetWithSharingScope.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" + }, + "Create subnet with sharing scope": { + "$ref": "./examples/SubnetCreateWithSharingScope.json" + }, + "Create subnet with service endpoints with network identifier": { + "$ref": "./examples/SubnetCreateServiceEndpointNetworkIdentifier.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" + }, + "Get subnet peering": { + "$ref": "./examples/VirtualNetworkSubnetPeeringGet.json" + }, + "Get V6 subnet peering": { + "$ref": "./examples/VirtualNetworkV6SubnetPeeringGet.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" + }, + "Create subnet peering": { + "$ref": "./examples/VirtualNetworkSubnetPeeringCreate.json" + }, + "Sync subnet Peering": { + "$ref": "./examples/VirtualNetworkSubnetPeeringSync.json" + }, + "Create V6 Subnet peering": { + "$ref": "./examples/VirtualNetworkV6SubnetPeeringCreate.json" + }, + "Sync V6 Subnet Peering": { + "$ref": "./examples/VirtualNetworkV6SubnetPeeringSync.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings": { + "get": { + "tags": [ + "VirtualNetworkPeerings" + ], + "operationId": "VirtualNetworkPeerings_List", + "description": "Gets all virtual network peerings in a virtual network.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkPeering resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkPeeringListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "List peerings": { + "$ref": "./examples/VirtualNetworkPeeringList.json" + }, + "List peerings with remote virtual network encryption": { + "$ref": "./examples/VirtualNetworkPeeringListWithRemoteVirtualNetworkEncryption.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability": { + "get": { + "operationId": "VirtualNetworks_CheckIPAddressAvailability", + "description": "Checks whether a private IP address is available for use.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "ipAddress", + "in": "query", + "required": true, + "type": "string", + "description": "The private IP address to be verified." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Private IP address availability and list of other free addresses if the requested one is not available.", + "schema": { + "$ref": "#/definitions/IPAddressAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Check IP address availability": { + "$ref": "./examples/VirtualNetworkCheckIPAddressAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages": { + "get": { + "operationId": "VirtualNetworks_ListUsage", + "description": "Lists usage stats.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Usage stats for vnet.", + "schema": { + "$ref": "#/definitions/VirtualNetworkListUsageResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "VnetGetUsage": { + "$ref": "./examples/VirtualNetworkListUsage.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/ddosProtectionStatus": { + "post": { + "operationId": "VirtualNetworks_ListDdosProtectionStatus", + "description": "Gets the Ddos Protection Status of all IP Addresses under the Virtual Network", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network." + }, + { + "name": "top", + "in": "query", + "required": false, + "type": "integer", + "format": "int32", + "description": "The max number of ip addresses to return." + }, + { + "name": "skipToken", + "in": "query", + "required": false, + "type": "string", + "description": "The skipToken that is given with nextLink." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the Ddos Protection Status of all IP Addresses under this Virtual Network.", + "schema": { + "$ref": "#/definitions/VirtualNetworkDdosProtectionStatusResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Get Ddos Protection Status of a Virtual Network": { + "$ref": "./examples/VirtualNetworkGetDdosProtectionStatus.json" + } + } + } + } + }, + "definitions": { + "ServiceAssociationLinkPropertiesFormat": { + "properties": { + "linkedResourceType": { + "type": "string", + "description": "Resource type of the linked resource." + }, + "link": { + "type": "string", + "description": "Link to the external resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the service association link resource." + }, + "allowDelete": { + "type": "boolean", + "description": "If true, the resource can be deleted." + }, + "locations": { + "type": "array", + "items": { + "type": "string" + }, + "description": "A list of locations." + } + }, + "description": "Properties of ServiceAssociationLink." + }, + "ServiceAssociationLink": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServiceAssociationLinkPropertiesFormat", + "description": "Resource navigation link properties format." + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "ServiceAssociationLink resource." + }, + "ResourceNavigationLinkFormat": { + "properties": { + "linkedResourceType": { + "type": "string", + "description": "Resource type of the linked resource." + }, + "link": { + "type": "string", + "description": "Link to the external resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the resource navigation link resource." + } + }, + "description": "Properties of ResourceNavigationLink." + }, + "ResourceNavigationLink": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ResourceNavigationLinkFormat", + "description": "Resource navigation link properties format." + }, + "name": { + "type": "string", + "description": "Name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "id": { + "type": "string", + "readOnly": true, + "description": "Resource navigation link identifier." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "ResourceNavigationLink resource." + }, + "ServiceDelegationPropertiesFormat": { + "properties": { + "serviceName": { + "type": "string", + "description": "The name of the service to whom the subnet should be delegated (e.g. Microsoft.Sql/servers)." + }, + "actions": { + "readOnly": true, + "type": "array", + "items": { + "type": "string" + }, + "description": "The actions permitted to the service upon delegation." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the service delegation resource." + } + }, + "description": "Properties of a service delegation." + }, + "Delegation": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ServiceDelegationPropertiesFormat", + "description": "Properties of the subnet." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a subnet. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "Details the service to which the subnet is delegated." + }, + "SubnetPropertiesFormat": { + "properties": { + "addressPrefix": { + "type": "string", + "description": "The address prefix for the subnet." + }, + "addressPrefixes": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of address prefixes for the subnet." + }, + "networkSecurityGroup": { + "$ref": "./networkSecurityGroup.json#/definitions/NetworkSecurityGroup", + "description": "The reference to the NetworkSecurityGroup resource." + }, + "routeTable": { + "$ref": "./routeTable.json#/definitions/RouteTable", + "description": "The reference to the RouteTable resource." + }, + "natGateway": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Nat gateway associated with this subnet." + }, + "serviceEndpoints": { + "type": "array", + "items": { + "$ref": "#/definitions/ServiceEndpointPropertiesFormat" + }, + "description": "An array of service endpoints." + }, + "serviceEndpointPolicies": { + "type": "array", + "items": { + "$ref": "./serviceEndpointPolicy.json#/definitions/ServiceEndpointPolicy" + }, + "description": "An array of service endpoint policies." + }, + "privateEndpoints": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./privateEndpoint.json#/definitions/PrivateEndpoint" + }, + "description": "An array of references to private endpoints." + }, + "ipConfigurations": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkInterface.json#/definitions/IPConfiguration" + }, + "description": "An array of references to the network interface IP configurations using subnet." + }, + "ipConfigurationProfiles": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "./networkProfile.json#/definitions/IPConfigurationProfile" + }, + "description": "Array of IP configuration profiles which reference this subnet." + }, + "ipAllocations": { + "type": "array", + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "Array of IpAllocation which reference this subnet." + }, + "resourceNavigationLinks": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ResourceNavigationLink" + }, + "description": "An array of references to the external resources using subnet." + }, + "serviceAssociationLinks": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/ServiceAssociationLink" + }, + "description": "An array of references to services injecting into this subnet." + }, + "delegations": { + "type": "array", + "items": { + "$ref": "#/definitions/Delegation" + }, + "description": "An array of references to the delegations on the subnet." + }, + "purpose": { + "type": "string", + "readOnly": true, + "description": "A read-only string identifying the intention of use for this subnet based on delegations and other user-defined properties." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the subnet resource." + }, + "privateEndpointNetworkPolicies": { + "type": "string", + "default": "Disabled", + "description": "Enable or Disable apply network policies on private end point in the subnet.", + "enum": [ + "Enabled", + "Disabled", + "NetworkSecurityGroupEnabled", + "RouteTableEnabled" + ], + "x-ms-enum": { + "name": "VirtualNetworkPrivateEndpointNetworkPolicies", + "modelAsString": true + } + }, + "privateLinkServiceNetworkPolicies": { + "type": "string", + "default": "Enabled", + "description": "Enable or Disable apply network policies on private link service in the subnet.", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "VirtualNetworkPrivateLinkServiceNetworkPolicies", + "modelAsString": true + } + }, + "applicationGatewayIPConfigurations": { + "type": "array", + "items": { + "$ref": "./applicationGateway.json#/definitions/ApplicationGatewayIPConfiguration" + }, + "description": "Application gateway IP configurations of virtual network resource." + }, + "sharingScope": { + "type": "string", + "default": null, + "description": "Set this property to Tenant to allow sharing subnet with other subscriptions in your AAD tenant. This property can only be set if defaultOutboundAccess is set to false, both properties can only be set if subnet is empty.", + "enum": [ + "Tenant", + "DelegatedServices" + ], + "x-ms-enum": { + "name": "SharingScope", + "modelAsString": true + } + }, + "defaultOutboundAccess": { + "type": "boolean", + "description": "Set this property to false to disable default outbound connectivity for all VMs in the subnet. This property can only be set at the time of subnet creation and cannot be updated for an existing subnet." + } + }, + "description": "Properties of the subnet." + }, + "ServiceEndpointPropertiesFormat": { + "properties": { + "service": { + "type": "string", + "description": "The type of the endpoint service." + }, + "networkIdentifier": { + "$ref": "./network.json#/definitions/SubResource", + "description": "SubResource as network identifier." + }, + "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)." + }, + "localAddressSpace": { + "$ref": "#/definitions/AddressSpace", + "description": "The local address space of the local virtual network that is peered." + }, + "localVirtualNetworkAddressSpace": { + "$ref": "#/definitions/AddressSpace", + "description": "The current local address space of the local virtual network that is peered." + }, + "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." + }, + "peerCompleteVnets": { + "type": "boolean", + "description": "Whether complete virtual network address space is peered." + }, + "enableOnlyIPv6Peering": { + "type": "boolean", + "description": "Whether only Ipv6 address space is peered for subnet peering." + }, + "localSubnetNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of local subnet names that are subnet peered with remote virtual network." + }, + "remoteSubnetNames": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of remote subnet names from remote virtual network that are subnet peered." + } + }, + "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/2024-01-01/virtualNetworkGateway.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/virtualNetworkGateway.json new file mode 100644 index 000000000000..9310be140bf0 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/virtualNetworkGateway.json @@ -0,0 +1,4489 @@ +{ + "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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}": { + "put": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_CreateOrUpdate", + "description": "Creates or updates a virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + }, + "description": "Parameters supplied to create or update virtual network gateway operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayUpdate.json" + }, + "UpdateVirtualNetworkScalableGateway": { + "$ref": "./examples/VirtualNetworkScalableGatewayUpdate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Get", + "description": "Gets the specified virtual network gateway by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayGet.json" + }, + "GetVirtualNetworkScalableGateway": { + "$ref": "./examples/VirtualNetworkScalableGatewayGet.json" + } + } + }, + "delete": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Delete", + "description": "Deletes the specified virtual network gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DeleteVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_UpdateTags", + "description": "Updates a virtual network gateway tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update virtual network gateway tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateVirtualNetworkGatewayTags": { + "$ref": "./examples/VirtualNetworkGatewayUpdateTags.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways": { + "get": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_List", + "description": "Gets all virtual network gateways by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkGateway resources.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVirtualNetworkGatewaysinResourceGroup": { + "$ref": "./examples/VirtualNetworkGatewayList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections": { + "get": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_ListConnections", + "description": "Gets all the connections in a virtual network gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayListConnectionsResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "VirtualNetworkGatewaysListConnections": { + "$ref": "./examples/VirtualNetworkGatewaysListConnections.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Reset", + "description": "Resets the primary of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "gatewayVip", + "in": "query", + "required": false, + "type": "string", + "description": "Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation reset the primary of the virtual network gateway.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ResetVirtualNetworkGateway": { + "$ref": "./examples/VirtualNetworkGatewayReset.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_ResetVpnClientSharedKey", + "description": "Resets the VPN client shared key of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation reset the vpn client shared key of the virtual network gateway." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ResetVpnClientSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayResetVpnClientSharedKey.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_Generatevpnclientpackage", + "description": "Generates VPN client package for P2S client of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnClientParameters" + }, + "description": "Parameters supplied to the generate virtual network gateway VPN client package operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "VPN client package URL.", + "schema": { + "type": "string" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GenerateVPNClientPackage": { + "$ref": "./examples/VirtualNetworkGatewayGenerateVpnClientPackage.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GenerateVpnProfile", + "description": "Generates VPN profile for P2S client of the virtual network gateway in the specified resource group. Used for IKEV2 and radius based authentication.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnClientParameters" + }, + "description": "Parameters supplied to the generate virtual network gateway VPN client package operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "VPN profile package URL.", + "schema": { + "type": "string" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GenerateVirtualNetworkGatewayVPNProfile": { + "$ref": "./examples/VirtualNetworkGatewayGenerateVpnProfile.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetVpnProfilePackageUrl", + "description": "Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "VPN profile package URL.", + "schema": { + "type": "string" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayVPNProfilePackageURL": { + "$ref": "./examples/VirtualNetworkGatewayGetVpnProfilePackageUrl.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetBgpPeerStatus", + "description": "The GetBgpPeerStatus operation retrieves the status of all BGP peers.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "peer", + "in": "query", + "required": false, + "type": "string", + "description": "The IP address of the peer to retrieve the status of." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of BGP peer statuses.", + "schema": { + "$ref": "#/definitions/BgpPeerStatusListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayBGPPeerStatus": { + "$ref": "./examples/VirtualNetworkGatewayGetBGPPeerStatus.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_SupportedVpnDevices", + "description": "Gets a xml format representation for supported vpn devices.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Xml format representation for supported vpn devices.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVirtualNetworkGatewaySupportedVPNDevices": { + "$ref": "./examples/VirtualNetworkGatewaySupportedVpnDevice.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetLearnedRoutes", + "description": "This operation retrieves a list of routes the virtual network gateway has learned, including routes learned from BGP peers.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of advertised BGP routes.", + "schema": { + "$ref": "#/definitions/GatewayRouteListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayLearnedRoutes": { + "$ref": "./examples/VirtualNetworkGatewayLearnedRoutes.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetAdvertisedRoutes", + "description": "This operation retrieves a list of routes the virtual network gateway is advertising to the specified peer.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "peer", + "in": "query", + "required": true, + "type": "string", + "description": "The IP address of the peer." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of learned BGP routes.", + "schema": { + "$ref": "#/definitions/GatewayRouteListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayAdvertisedRoutes": { + "$ref": "./examples/VirtualNetworkGatewayGetAdvertisedRoutes.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_SetVpnclientIpsecParameters", + "description": "The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "vpnclientIpsecParams", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnClientIPsecParameters" + }, + "description": "Parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network Gateway P2S client operation through Network resource provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation sets the specified vpnclient ipsec parameters for P2S client of the virtual network gateway.", + "schema": { + "$ref": "#/definitions/VpnClientIPsecParameters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Set VirtualNetworkGateway VpnClientIpsecParameters": { + "$ref": "./examples/VirtualNetworkGatewaySetVpnClientIpsecParameters.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetVpnclientIpsecParameters", + "description": "The Get VpnclientIpsecParameters operation retrieves information about the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the set vpnclient ipsec parameters for P2S client of VirtualNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/VpnClientIPsecParameters" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "Get VirtualNetworkGateway VpnClientIpsecParameters": { + "$ref": "./examples/VirtualNetworkGatewayGetVpnClientIpsecParameters.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_VpnDeviceConfigurationScript", + "description": "Gets a xml format representation for vpn device configuration script.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection for which the configuration script is generated." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnDeviceScriptParameters" + }, + "description": "Parameters supplied to the generate vpn device script operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Xml format representation for vpn device configuration script.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVPNDeviceConfigurationScript": { + "$ref": "./examples/VirtualNetworkGatewayVpnDeviceConfigurationScript.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/startPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_StartPacketCapture", + "description": "Starts packet capture on virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStartParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to start packet capture on gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture started on virtual network gateway.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Start packet capture on virtual network gateway without filter": { + "$ref": "./examples/VirtualNetworkGatewayStartPacketCapture.json" + }, + "Start packet capture on virtual network gateway with filter": { + "$ref": "./examples/VirtualNetworkGatewayStartPacketCaptureFilterData.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/stopPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_StopPacketCapture", + "description": "Stops packet capture on virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStopParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to stop packet capture on gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture stopped on virtual network gateway.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Stop packet capture on virtual network gateway": { + "$ref": "./examples/VirtualNetworkGatewayStopPacketCapture.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}": { + "put": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_CreateOrUpdate", + "description": "Creates or updates a virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + }, + "description": "Parameters supplied to the create or update virtual network gateway connection operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "201": { + "description": "Create successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CreateVirtualNetworkGatewayConnection_S2S": { + "$ref": "./examples/VirtualNetworkGatewayConnectionCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_Get", + "description": "Gets the specified virtual network gateway connection by resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayConnection": { + "$ref": "./examples/VirtualNetworkGatewayConnectionGet.json" + } + } + }, + "delete": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_Delete", + "description": "Deletes the specified virtual network Gateway connection.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "204": { + "description": "Delete successful." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DeleteVirtualNetworkGatewayConnection": { + "$ref": "./examples/VirtualNetworkGatewayConnectionDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_UpdateTags", + "description": "Updates a virtual network gateway connection tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update virtual network gateway connection tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Update successful. The operation returns the resulting VirtualNetworkGatewayConnection resource.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateVirtualNetworkGatewayConnectionTags": { + "$ref": "./examples/VirtualNetworkGatewayConnectionUpdateTags.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey": { + "put": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_SetSharedKey", + "description": "The Put VirtualNetworkGatewayConnectionSharedKey operation sets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway connection name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + }, + "description": "Parameters supplied to the Begin Set Virtual Network Gateway connection Shared key operation throughNetwork resource provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Request successful. The operation returns the resulting ConnectionSharedKey resource.", + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + } + }, + "200": { + "description": "Request successful. The operation returns the resulting ConnectionSharedKey resource.", + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "SetVirtualNetworkGatewayConnectionSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayConnectionSetSharedKey.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_GetSharedKey", + "description": "The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves information about the specified virtual network gateway connection shared key through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway connection shared key name." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of VirtualNetworkGatewayConnection resources.", + "schema": { + "$ref": "#/definitions/ConnectionSharedKey" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayConnectionSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayConnectionGetSharedKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections": { + "get": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_List", + "description": "The List VirtualNetworkGatewayConnections operation retrieves all the virtual network gateways connections created.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation resets the virtual network gateway connection shared key.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayConnectionListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListVirtualNetworkGatewayConnectionsinResourceGroup": { + "$ref": "./examples/VirtualNetworkGatewayConnectionsList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_ResetSharedKey", + "description": "The VirtualNetworkGatewayConnectionResetSharedKey operation resets the virtual network gateway connection shared key for passed virtual network gateway connection in the specified resource group through Network resource provider.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The virtual network gateway connection reset shared key Name." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/ConnectionResetSharedKey" + }, + "description": "Parameters supplied to the begin reset virtual network gateway connection shared key operation through network resource provider." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation sets the virtual network gateway connection shared key.", + "schema": { + "$ref": "#/definitions/ConnectionResetSharedKey" + } + }, + "202": { + "description": "Request successful. The operation sets the virtual network gateway connection shared key." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ResetVirtualNetworkGatewayConnectionSharedKey": { + "$ref": "./examples/VirtualNetworkGatewayConnectionResetSharedKey.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/startPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_StartPacketCapture", + "description": "Starts packet capture on virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway connection." + }, + { + "name": "parameters", + "in": "body", + "required": false, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStartParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to start packet capture on gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture started on virtual network gateway connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Start packet capture on virtual network gateway connection without filter": { + "$ref": "./examples/VirtualNetworkGatewayConnectionStartPacketCapture.json" + }, + "Start packet capture on virtual network gateway connection with filter": { + "$ref": "./examples/VirtualNetworkGatewayConnectionStartPacketCaptureFilterData.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/stopPacketCapture": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_StopPacketCapture", + "description": "Stops packet capture on virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway Connection." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VpnPacketCaptureStopParameters" + }, + "description": "Virtual network gateway packet capture parameters supplied to stop packet capture on gateway connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation packet capture stopped on virtual network gateway connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/Error" + } + } + }, + "x-ms-examples": { + "Stop packet capture on virtual network gateway connection": { + "$ref": "./examples/VirtualNetworkGatewayConnectionStopPacketCapture.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/getikesas": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_GetIkeSas", + "description": "Lists IKE Security Associations for the virtual network gateway connection in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway Connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation GetIkeSas will complete asynchronously." + }, + "200": { + "description": "Request successful. The operation getikesas completed on virtual network gateway connection.", + "schema": { + "type": "string" + } + }, + "default": { + "description": "The operation GetIkeSas could not be completed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayConnectionIkeSa": { + "$ref": "./examples/VirtualNetworkGatewayConnectionGetIkeSas.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/resetconnection": { + "post": { + "tags": [ + "VirtualNetworkGatewayConnections" + ], + "operationId": "VirtualNetworkGatewayConnections_ResetConnection", + "description": "Resets the virtual network gateway connection specified.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayConnectionName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway Connection." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "The operation resetconnection could not be completed.", + "schema": { + "$ref": "./networkWatcher.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "ResetVirtualNetworkGatewayConnection": { + "$ref": "./examples/VirtualNetworkGatewayConnectionReset.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}": { + "put": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_CreateOrUpdate", + "description": "Creates or updates a local network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "localNetworkGatewayName", + "in": "path", + "required": true, + "minLength": 1, + "type": "string", + "description": "The name of the local network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + }, + "description": "Parameters supplied to the create or update local network gateway operation." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "201": { + "description": "Create successful. The operation returns the resulting LocalNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + } + }, + "200": { + "description": "Update successful. The operation returns the resulting LocalNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "CreateLocalNetworkGateway": { + "$ref": "./examples/LocalNetworkGatewayCreate.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "get": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_Get", + "description": "Gets the specified local network gateway in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "localNetworkGatewayName", + "in": "path", + "required": true, + "minLength": 1, + "type": "string", + "description": "The name of the local network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns the resulting LocalNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetLocalNetworkGateway": { + "$ref": "./examples/LocalNetworkGatewayGet.json" + } + } + }, + "delete": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_Delete", + "description": "Deletes the specified local network gateway.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "localNetworkGatewayName", + "in": "path", + "required": true, + "minLength": 1, + "type": "string", + "description": "The name of the local network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "204": { + "description": "Delete successful." + }, + "200": { + "description": "Delete successful." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "DeleteLocalNetworkGateway": { + "$ref": "./examples/LocalNetworkGatewayDelete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + }, + "patch": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_UpdateTags", + "description": "Updates a local network gateway tags.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "localNetworkGatewayName", + "in": "path", + "required": true, + "minLength": 1, + "type": "string", + "description": "The name of the local network gateway." + }, + { + "name": "parameters", + "in": "body", + "required": true, + "schema": { + "$ref": "./network.json#/definitions/TagsObject" + }, + "description": "Parameters supplied to update local network gateway tags." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Update successful. The operation returns the resulting LocalNetworkGateway resource.", + "schema": { + "$ref": "#/definitions/LocalNetworkGateway" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "UpdateLocalNetworkGatewayTags": { + "$ref": "./examples/LocalNetworkGatewayUpdateTags.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways": { + "get": { + "tags": [ + "LocalNetworkGateways" + ], + "operationId": "LocalNetworkGateways_List", + "description": "Gets all the local network gateways in a resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation returns a list of LocalNetworkGateway resources.", + "schema": { + "$ref": "#/definitions/LocalNetworkGatewayListResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "ListLocalNetworkGateways": { + "$ref": "./examples/LocalNetworkGatewayList.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getVpnClientConnectionHealth": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_GetVpnclientConnectionHealth", + "description": "Get VPN client connection health detail per P2S client connection of the virtual network gateway in the specified resource group.", + "parameters": [ + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "List of VPN client connection health details.", + "schema": { + "$ref": "#/definitions/VpnClientConnectionHealthDetailListResult" + } + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "GetVirtualNetworkGatewayVpnclientConnectionHealth": { + "$ref": "./examples/VirtualNetworkGatewayGetVpnclientConnectionHealth.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/disconnectVirtualNetworkGatewayVpnConnections": { + "post": { + "tags": [ + "VirtualNetworkGateways" + ], + "operationId": "VirtualNetworkGateways_DisconnectVirtualNetworkGatewayVpnConnections", + "description": "Disconnect vpn connections of virtual network gateway in the specified resource group.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the resource group." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the virtual network gateway." + }, + { + "name": "request", + "in": "body", + "required": true, + "schema": { + "$ref": "./virtualWan.json#/definitions/P2SVpnConnectionRequest" + }, + "description": "The parameters are supplied to disconnect vpn connections." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. The operation disconnects the requested vpn connections." + }, + "202": { + "description": "Accepted and the operation will complete asynchronously." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-examples": { + "Disconnect VpnConnections from Virtual Network Gateway": { + "$ref": "./examples/VirtualNetworkGatewaysDisconnectP2sVpnConnections.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/natRules/{natRuleName}": { + "get": { + "operationId": "VirtualNetworkGatewayNatRules_Get", + "x-ms-examples": { + "VirtualNetworkGatewayNatRuleGet": { + "$ref": "./examples/VirtualNetworkGatewayNatRuleGet.json" + } + }, + "description": "Retrieves the details of a nat rule.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the Virtual Network Gateway." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "natRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the nat rule.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + } + }, + "put": { + "operationId": "VirtualNetworkGatewayNatRules_CreateOrUpdate", + "x-ms-examples": { + "VirtualNetworkGatewayNatRulePut": { + "$ref": "./examples/VirtualNetworkGatewayNatRulePut.json" + } + }, + "description": "Creates a nat rule to a scalable virtual network gateway if it doesn't exist else updates the existing nat rules.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the Virtual Network Gateway." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "natRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + }, + { + "name": "NatRuleParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + }, + "description": "Parameters supplied to create or Update a Nat Rule." + } + ], + "responses": { + "200": { + "description": "Request successful. Returns the details of the nat rule created or updated.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + } + }, + "201": { + "description": "Request successful. Returns the details of the nat rule created or updated.", + "schema": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + } + }, + "delete": { + "operationId": "VirtualNetworkGatewayNatRules_Delete", + "x-ms-examples": { + "VirtualNetworkGatewayNatRuleDelete": { + "$ref": "./examples/VirtualNetworkGatewayNatRuleDelete.json" + } + }, + "description": "Deletes a nat rule.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the Virtual Network Gateway." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "name": "natRuleName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the nat rule." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Nat Rule deleted." + }, + "202": { + "description": "Request received successfully. Nat Rule deletion is in progress; follow the Location header to poll for final outcome." + }, + "204": { + "description": "No nat rules exist by the name provided." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/natRules": { + "get": { + "operationId": "VirtualNetworkGatewayNatRules_ListByVirtualNetworkGateway", + "x-ms-examples": { + "VirtualNetworkGatewayNatRuleList": { + "$ref": "./examples/VirtualNetworkGatewayNatRuleList.json" + } + }, + "description": "Retrieves all nat rules for a particular virtual network gateway.", + "parameters": [ + { + "$ref": "./network.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resourceGroupName", + "in": "path", + "required": true, + "type": "string", + "description": "The resource group name of the virtual network gateway." + }, + { + "name": "virtualNetworkGatewayName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the gateway." + }, + { + "$ref": "./network.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Request successful. Returns all Nat rules for a virtual network gateway.", + "schema": { + "$ref": "#/definitions/ListVirtualNetworkGatewayNatRulesResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "./network.json#/definitions/CloudError" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + } + }, + "definitions": { + "VirtualNetworkGatewayIPConfigurationPropertiesFormat": { + "properties": { + "privateIPAllocationMethod": { + "$ref": "./network.json#/definitions/IPAllocationMethod", + "description": "The private IP address allocation method." + }, + "subnet": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the subnet resource." + }, + "publicIPAddress": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the public IP resource." + }, + "privateIPAddress": { + "readOnly": true, + "type": "string", + "description": "Private IP Address for this gateway." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network gateway IP configuration resource." + } + }, + "description": "Properties of VirtualNetworkGatewayIPConfiguration." + }, + "VirtualNetworkGatewayIPConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayIPConfigurationPropertiesFormat", + "description": "Properties of the virtual network gateway ip configuration." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "IP configuration for virtual network gateway." + }, + "VirtualNetworkGatewayNatRuleProperties": { + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the NAT Rule resource." + }, + "type": { + "type": "string", + "description": "The type of NAT rule for VPN NAT.", + "enum": [ + "Static", + "Dynamic" + ], + "x-ms-enum": { + "name": "VpnNatRuleType", + "modelAsString": true + } + }, + "mode": { + "type": "string", + "description": "The Source NAT direction of a VPN NAT.", + "enum": [ + "EgressSnat", + "IngressSnat" + ], + "x-ms-enum": { + "name": "VpnNatRuleMode", + "modelAsString": true + } + }, + "internalMappings": { + "type": "array", + "items": { + "$ref": "./virtualWan.json#/definitions/VpnNatRuleMapping" + }, + "description": "The private IP address internal mapping for NAT." + }, + "externalMappings": { + "type": "array", + "items": { + "$ref": "./virtualWan.json#/definitions/VpnNatRuleMapping" + }, + "description": "The private IP address external mapping for NAT." + }, + "ipConfigurationId": { + "type": "string", + "description": "The IP Configuration ID this NAT rule applies to." + } + }, + "description": "Parameters for VirtualNetworkGatewayNatRule." + }, + "VirtualNetworkGatewayNatRule": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayNatRuleProperties", + "description": "Properties of the Virtual Network Gateway NAT rule." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VirtualNetworkGatewayNatRule Resource." + }, + "VirtualNetworkGatewayPropertiesFormat": { + "properties": { + "autoScaleConfiguration": { + "$ref": "#/definitions/VirtualNetworkGatewayAutoScaleConfiguration", + "description": "Autoscale configuration for virutal network gateway" + }, + "ipConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayIPConfiguration" + }, + "description": "IP configurations for virtual network gateway." + }, + "gatewayType": { + "type": "string", + "description": "The type of this virtual network gateway.", + "enum": [ + "Vpn", + "ExpressRoute", + "LocalGateway" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewayType", + "modelAsString": true + } + }, + "vpnType": { + "type": "string", + "description": "The type of this virtual network gateway.", + "enum": [ + "PolicyBased", + "RouteBased" + ], + "x-ms-enum": { + "name": "VpnType", + "modelAsString": true + } + }, + "vpnGatewayGeneration": { + "type": "string", + "description": "The generation for this VirtualNetworkGateway. Must be None if gatewayType is not VPN.", + "enum": [ + "None", + "Generation1", + "Generation2" + ], + "x-ms-enum": { + "name": "VpnGatewayGeneration", + "modelAsString": true + } + }, + "enableBgp": { + "type": "boolean", + "description": "Whether BGP is enabled for this virtual network gateway or not." + }, + "enablePrivateIpAddress": { + "type": "boolean", + "description": "Whether private IP needs to be enabled on this gateway for connections or not." + }, + "activeActive": { + "type": "boolean", + "description": "ActiveActive flag." + }, + "disableIPSecReplayProtection": { + "type": "boolean", + "description": "disableIPSecReplayProtection flag." + }, + "gatewayDefaultSite": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The reference to the LocalNetworkGateway resource which represents local network site having default routes. Assign Null value in case of removing existing default site setting." + }, + "sku": { + "$ref": "#/definitions/VirtualNetworkGatewaySku", + "description": "The reference to the VirtualNetworkGatewaySku resource which represents the SKU selected for Virtual network gateway." + }, + "vpnClientConfiguration": { + "$ref": "#/definitions/VpnClientConfiguration", + "description": "The reference to the VpnClientConfiguration resource which represents the P2S VpnClient configurations." + }, + "virtualNetworkGatewayPolicyGroups": { + "type": "array", + "description": "The reference to the VirtualNetworkGatewayPolicyGroup resource which represents the available VirtualNetworkGatewayPolicyGroup for the gateway.", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayPolicyGroup" + } + }, + "bgpSettings": { + "$ref": "#/definitions/BgpSettings", + "description": "Virtual network gateway's BGP speaker settings." + }, + "customRoutes": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "The reference to the address space resource which represents the custom routes address space specified by the customer for virtual network gateway and VpnClient." + }, + "resourceGuid": { + "readOnly": true, + "type": "string", + "description": "The resource GUID property of the virtual network gateway resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the virtual network gateway resource." + }, + "enableDnsForwarding": { + "type": "boolean", + "description": "Whether dns forwarding is enabled or not." + }, + "inboundDnsForwardingEndpoint": { + "type": "string", + "readOnly": true, + "description": "The IP address allocated by the gateway to which dns requests can be sent." + }, + "vNetExtendedLocationResourceId": { + "type": "string", + "description": "Customer vnet resource id. VirtualNetworkGateway of type local gateway is associated with the customer vnet." + }, + "natRules": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualNetworkGatewayNatRule" + }, + "description": "NatRules for virtual network gateway." + }, + "enableBgpRouteTranslationForNat": { + "type": "boolean", + "description": "EnableBgpRouteTranslationForNat flag." + }, + "allowVirtualWanTraffic": { + "type": "boolean", + "description": "Configures this gateway to accept traffic from remote Virtual WAN networks." + }, + "allowRemoteVnetTraffic": { + "type": "boolean", + "description": "Configure this gateway to accept traffic from other Azure Virtual Networks. This configuration does not support connectivity to Azure Virtual WAN." + }, + "adminState": { + "type": "string", + "description": "Property to indicate if the Express Route Gateway serves traffic when there are multiple Express Route Gateways in the vnet", + "enum": [ + "Enabled", + "Disabled" + ], + "x-ms-enum": { + "name": "adminState", + "modelAsString": true + } + } + }, + "description": "VirtualNetworkGateway properties." + }, + "VirtualNetworkGatewayAutoScaleConfiguration": { + "properties": { + "bounds": { + "$ref": "#/definitions/VirtualNetworkGatewayAutoScaleBounds", + "description": "The bounds of the autoscale configuration" + } + }, + "description": "Virtual Network Gateway Autoscale Configuration details" + }, + "VirtualNetworkGatewayAutoScaleBounds": { + "properties": { + "min": { + "type": "integer", + "description": "Minimum scale Units for Autoscale configuration" + }, + "max": { + "type": "integer", + "description": "Maximum Scale Units for Autoscale configuration" + } + } + }, + "VpnClientRootCertificatePropertiesFormat": { + "properties": { + "publicCertData": { + "type": "string", + "description": "The certificate public data." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN client root certificate resource." + } + }, + "required": [ + "publicCertData" + ], + "description": "Properties of SSL certificates of application gateway." + }, + "VpnClientRootCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnClientRootCertificatePropertiesFormat", + "description": "Properties of the vpn client root certificate." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "required": [ + "properties" + ], + "description": "VPN client root certificate of virtual network gateway." + }, + "VpnClientRevokedCertificatePropertiesFormat": { + "properties": { + "thumbprint": { + "type": "string", + "description": "The revoked VPN client certificate thumbprint." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VPN client revoked certificate resource." + } + }, + "description": "Properties of the revoked VPN client certificate of virtual network gateway." + }, + "VpnClientRevokedCertificate": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnClientRevokedCertificatePropertiesFormat", + "description": "Properties of the vpn client revoked certificate." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VPN client revoked certificate of virtual network gateway." + }, + "RadiusServer": { + "properties": { + "radiusServerAddress": { + "type": "string", + "description": "The address of this radius server." + }, + "radiusServerScore": { + "type": "integer", + "format": "int64", + "description": "The initial score assigned to this radius server." + }, + "radiusServerSecret": { + "type": "string", + "description": "The secret used for this radius server." + } + }, + "required": [ + "radiusServerAddress" + ], + "description": "Radius Server Settings." + }, + "VpnClientConfiguration": { + "properties": { + "vpnClientAddressPool": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "The reference to the address space resource which represents Address space for P2S VpnClient." + }, + "vpnClientRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnClientRootCertificate" + }, + "description": "VpnClientRootCertificate for virtual network gateway." + }, + "vpnClientRevokedCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnClientRevokedCertificate" + }, + "description": "VpnClientRevokedCertificate for Virtual network gateway." + }, + "vpnClientProtocols": { + "type": "array", + "items": { + "type": "string", + "description": "VPN client protocol enabled for the virtual network gateway.", + "enum": [ + "IkeV2", + "SSTP", + "OpenVPN" + ], + "x-ms-enum": { + "name": "VpnClientProtocol", + "modelAsString": true + } + }, + "description": "VpnClientProtocols for Virtual network gateway." + }, + "vpnAuthenticationTypes": { + "type": "array", + "items": { + "type": "string", + "description": "VPN authentication types enabled for the virtual network gateway.", + "enum": [ + "Certificate", + "Radius", + "AAD" + ], + "x-ms-enum": { + "name": "VpnAuthenticationType", + "modelAsString": true + } + }, + "description": "VPN authentication types for the virtual network gateway.." + }, + "vpnClientIpsecPolicies": { + "type": "array", + "items": { + "$ref": "#/definitions/IpsecPolicy" + }, + "description": "VpnClientIpsecPolicies for virtual network gateway P2S client." + }, + "radiusServerAddress": { + "type": "string", + "description": "The radius server address property of the VirtualNetworkGateway resource for vpn client connection." + }, + "radiusServerSecret": { + "type": "string", + "description": "The radius secret property of the VirtualNetworkGateway resource for vpn client connection." + }, + "radiusServers": { + "type": "array", + "items": { + "$ref": "#/definitions/RadiusServer" + }, + "description": "The radiusServers property for multiple radius server configuration." + }, + "aadTenant": { + "type": "string", + "description": "The AADTenant property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication." + }, + "aadAudience": { + "type": "string", + "description": "The AADAudience property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication." + }, + "aadIssuer": { + "type": "string", + "description": "The AADIssuer property of the VirtualNetworkGateway resource for vpn client connection used for AAD authentication." + }, + "vngClientConnectionConfigurations": { + "type": "array", + "items": { + "$ref": "#/definitions/VngClientConnectionConfiguration" + }, + "description": "per ip address pool connection policy for virtual network gateway P2S client." + } + }, + "description": "VpnClientConfiguration for P2S client." + }, + "VirtualNetworkGatewaySku": { + "properties": { + "name": { + "type": "string", + "description": "Gateway SKU name.", + "enum": [ + "Basic", + "HighPerformance", + "Standard", + "UltraPerformance", + "VpnGw1", + "VpnGw2", + "VpnGw3", + "VpnGw4", + "VpnGw5", + "VpnGw1AZ", + "VpnGw2AZ", + "VpnGw3AZ", + "VpnGw4AZ", + "VpnGw5AZ", + "ErGw1AZ", + "ErGw2AZ", + "ErGw3AZ", + "ErGwScale" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewaySkuName", + "modelAsString": true + } + }, + "tier": { + "type": "string", + "description": "Gateway SKU tier.", + "enum": [ + "Basic", + "HighPerformance", + "Standard", + "UltraPerformance", + "VpnGw1", + "VpnGw2", + "VpnGw3", + "VpnGw4", + "VpnGw5", + "VpnGw1AZ", + "VpnGw2AZ", + "VpnGw3AZ", + "VpnGw4AZ", + "VpnGw5AZ", + "ErGw1AZ", + "ErGw2AZ", + "ErGw3AZ", + "ErGwScale" + ], + "x-ms-enum": { + "name": "VirtualNetworkGatewaySkuTier", + "modelAsString": true + } + }, + "capacity": { + "readOnly": true, + "type": "integer", + "format": "int32", + "description": "The capacity." + } + }, + "description": "VirtualNetworkGatewaySku details." + }, + "BgpSettings": { + "properties": { + "asn": { + "type": "integer", + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "The BGP speaker's ASN." + }, + "bgpPeeringAddress": { + "type": "string", + "description": "The BGP peering address and BGP identifier of this BGP speaker." + }, + "peerWeight": { + "type": "integer", + "format": "int32", + "description": "The weight added to routes learned from this BGP speaker." + }, + "bgpPeeringAddresses": { + "type": "array", + "items": { + "$ref": "#/definitions/IPConfigurationBgpPeeringAddress" + }, + "description": "BGP peering address with IP configuration ID for virtual network gateway." + } + }, + "description": "BGP settings details." + }, + "BgpPeerStatus": { + "properties": { + "localAddress": { + "type": "string", + "readOnly": true, + "description": "The virtual network gateway's local address." + }, + "neighbor": { + "type": "string", + "readOnly": true, + "description": "The remote BGP peer." + }, + "asn": { + "type": "integer", + "format": "int64", + "readOnly": true, + "minimum": 0, + "maximum": 4294967295, + "description": "The autonomous system number of the remote BGP peer." + }, + "state": { + "type": "string", + "readOnly": true, + "description": "The BGP peer state.", + "enum": [ + "Unknown", + "Stopped", + "Idle", + "Connecting", + "Connected" + ], + "x-ms-enum": { + "name": "BgpPeerState", + "modelAsString": true + } + }, + "connectedDuration": { + "type": "string", + "readOnly": true, + "description": "For how long the peering has been up." + }, + "routesReceived": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The number of routes learned from this peer." + }, + "messagesSent": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The number of BGP messages sent." + }, + "messagesReceived": { + "type": "integer", + "format": "int64", + "readOnly": true, + "description": "The number of BGP messages received." + } + }, + "description": "BGP peer status details." + }, + "GatewayRoute": { + "properties": { + "localAddress": { + "type": "string", + "readOnly": true, + "description": "The gateway's local address." + }, + "network": { + "type": "string", + "readOnly": true, + "description": "The route's network prefix." + }, + "nextHop": { + "type": "string", + "readOnly": true, + "description": "The route's next hop." + }, + "sourcePeer": { + "type": "string", + "readOnly": true, + "description": "The peer this route was learned from." + }, + "origin": { + "type": "string", + "readOnly": true, + "description": "The source this route was learned from." + }, + "asPath": { + "type": "string", + "readOnly": true, + "description": "The route's AS path sequence." + }, + "weight": { + "type": "integer", + "format": "int32", + "readOnly": true, + "description": "The route's weight." + } + }, + "description": "Gateway routing details." + }, + "VirtualNetworkGateway": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualNetworkGatewayPropertiesFormat", + "description": "Properties of the virtual network gateway." + }, + "extendedLocation": { + "$ref": "./network.json#/definitions/ExtendedLocation", + "description": "The extended location of type local virtual network gateway." + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "identity": { + "$ref": "./network.json#/definitions/ManagedServiceIdentity", + "description": "The identity of the virtual network gateway, if configured." + } + }, + "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/2024-01-01/virtualNetworkTap.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/virtualNetworkTap.json new file mode 100644 index 000000000000..57a590092387 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/virtualRouter.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/virtualRouter.json new file mode 100644 index 000000000000..a7f8844f418f --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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/2024-01-01/virtualWan.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/virtualWan.json new file mode 100644 index 000000000000..841d5b9ea4ed --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/virtualWan.json @@ -0,0 +1,9723 @@ +{ + "swagger": "2.0", + "info": { + "title": "VirtualWANAsAServiceManagementClient", + "description": "REST API for Azure VirtualWAN As a Service.", + "version": "2024-01-01" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "flow": "implicit", + "description": "Azure Active Directory OAuth2 Flow.", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "paths": { + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/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." + }, + "dpdTimeoutSeconds": { + "type": "integer", + "format": "int32", + "description": "Dead Peer Detection timeout in seconds for VpnLink connection." + } + }, + "description": "Parameters for VpnConnection." + }, + "VpnSiteLinkConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnSiteLinkConnectionProperties", + "description": "Properties of the VPN site link connection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VpnSiteLinkConnection Resource." + }, + "ListVpnSiteLinkConnectionsResult": { + "description": "Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnSiteLinkConnection" + }, + "description": "List of VpnSiteLinkConnections." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "HubVirtualNetworkConnectionProperties": { + "properties": { + "remoteVirtualNetwork": { + "$ref": "./network.json#/definitions/SubResource", + "description": "Reference to the remote virtual network." + }, + "allowHubToRemoteVnetTransit": { + "type": "boolean", + "description": "Deprecated: VirtualHub to RemoteVnet transit to enabled or not." + }, + "allowRemoteVnetToUseHubVnetGateways": { + "type": "boolean", + "description": "Deprecated: Allow RemoteVnet to use Virtual Hub's gateways." + }, + "enableInternetSecurity": { + "type": "boolean", + "description": "Enable internet security." + }, + "routingConfiguration": { + "$ref": "#/definitions/RoutingConfiguration", + "description": "The Routing Configuration indicating the associated and propagated route tables on this connection." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the hub virtual network connection resource." + } + }, + "description": "Parameters for HubVirtualNetworkConnection." + }, + "HubVirtualNetworkConnection": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/HubVirtualNetworkConnectionProperties", + "description": "Properties of the hub virtual network connection." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "HubVirtualNetworkConnection Resource." + }, + "ListHubVirtualNetworkConnectionsResult": { + "description": "List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/HubVirtualNetworkConnection" + }, + "description": "List of HubVirtualNetworkConnections." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "HubRouteTableProperties": { + "properties": { + "routes": { + "type": "array", + "description": "List of all routes.", + "items": { + "$ref": "#/definitions/HubRoute" + } + }, + "labels": { + "type": "array", + "description": "List of labels associated with this route table.", + "items": { + "type": "string" + } + }, + "associatedConnections": { + "type": "array", + "description": "List of all connections associated with this route table.", + "readOnly": true, + "items": { + "type": "string" + } + }, + "propagatingConnections": { + "type": "array", + "description": "List of all connections that advertise to this route table.", + "readOnly": true, + "items": { + "type": "string" + } + }, + "provisioningState": { + "$ref": "./network.json#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioning state of the RouteTable resource." + } + }, + "description": "Parameters for RouteTable." + }, + "HubRouteTable": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/HubRouteTableProperties", + "description": "Properties of the RouteTable resource." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "RouteTable resource in a virtual hub." + }, + "HubRoute": { + "required": [ + "name", + "destinationType", + "destinations", + "nextHopType", + "nextHop" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the Route that is unique within a RouteTable. This name can be used to access this route." + }, + "destinationType": { + "type": "string", + "description": "The type of destinations (eg: CIDR, ResourceId, Service)." + }, + "destinations": { + "type": "array", + "description": "List of all destinations.", + "items": { + "type": "string" + } + }, + "nextHopType": { + "type": "string", + "description": "The type of next hop (eg: ResourceId)." + }, + "nextHop": { + "type": "string", + "description": "NextHop resource ID." + } + }, + "description": "RouteTable route." + }, + "ListHubRouteTablesResult": { + "description": "List of RouteTables and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/HubRouteTable" + }, + "description": "List of RouteTables." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnSiteId": { + "properties": { + "vpnSite": { + "type": "string", + "readOnly": true, + "description": "The resource-uri of the vpn-site for which config is to be fetched." + } + }, + "description": "VpnSite Resource." + }, + "DeviceProperties": { + "properties": { + "deviceVendor": { + "type": "string", + "description": "Name of the device Vendor." + }, + "deviceModel": { + "type": "string", + "description": "Model of the device." + }, + "linkSpeedInMbps": { + "type": "integer", + "format": "int32", + "description": "Link speed." + } + }, + "description": "List of properties of the device." + }, + "VirtualWanSecurityProviders": { + "properties": { + "supportedProviders": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualWanSecurityProvider" + }, + "description": "List of VirtualWAN security providers." + } + }, + "description": "Collection of SecurityProviders." + }, + "VirtualWanSecurityProvider": { + "properties": { + "name": { + "type": "string", + "description": "Name of the security provider." + }, + "url": { + "type": "string", + "description": "Url of the security provider." + }, + "type": { + "$ref": "#/definitions/VirtualWanSecurityProviderType", + "description": "Name of the security provider." + } + }, + "description": "Collection of SecurityProviders." + }, + "VpnConnectionStatus": { + "type": "string", + "description": "The current state of the vpn connection.", + "readOnly": true, + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "VpnConnectionStatus", + "modelAsString": true + } + }, + "TunnelConnectionStatus": { + "type": "string", + "description": "The current state of the tunnel.", + "readOnly": true, + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "TunnelConnectionStatus", + "modelAsString": true + } + }, + "HubVirtualNetworkConnectionStatus": { + "type": "string", + "description": "The current state of the VirtualHub to vnet connection.", + "readOnly": true, + "enum": [ + "Unknown", + "Connecting", + "Connected", + "NotConnected" + ], + "x-ms-enum": { + "name": "HubVirtualNetworkConnectionStatus", + "modelAsString": true + } + }, + "OfficeTrafficCategory": { + "type": "string", + "description": "The office traffic category.", + "readOnly": true, + "enum": [ + "Optimize", + "OptimizeAndAllow", + "All", + "None" + ], + "x-ms-enum": { + "name": "OfficeTrafficCategory", + "modelAsString": true + } + }, + "VirtualWanSecurityProviderType": { + "type": "string", + "description": "The virtual wan security provider type.", + "readOnly": true, + "enum": [ + "External", + "Native" + ], + "x-ms-enum": { + "name": "VirtualWanSecurityProviderType", + "modelAsString": true + } + }, + "VpnServerConfigVpnClientRootCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "publicCertData": { + "type": "string", + "description": "The certificate public data." + } + }, + "description": "Properties of VPN client root certificate of VpnServerConfiguration." + }, + "VpnServerConfigRadiusServerRootCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "publicCertData": { + "type": "string", + "description": "The certificate public data." + } + }, + "description": "Properties of Radius Server root certificate of VpnServerConfiguration." + }, + "VpnServerConfigVpnClientRevokedCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "thumbprint": { + "type": "string", + "description": "The revoked VPN client certificate thumbprint." + } + }, + "description": "Properties of the revoked VPN client certificate of VpnServerConfiguration." + }, + "VpnServerConfigRadiusClientRootCertificate": { + "properties": { + "name": { + "type": "string", + "description": "The certificate name." + }, + "thumbprint": { + "type": "string", + "description": "The Radius client root certificate thumbprint." + } + }, + "description": "Properties of the Radius client root certificate of VpnServerConfiguration." + }, + "AadAuthenticationParameters": { + "properties": { + "aadTenant": { + "type": "string", + "description": "AAD Vpn authentication parameter AAD tenant." + }, + "aadAudience": { + "type": "string", + "description": "AAD Vpn authentication parameter AAD audience." + }, + "aadIssuer": { + "type": "string", + "description": "AAD Vpn authentication parameter AAD issuer." + } + }, + "description": "AAD Vpn authentication type related parameters." + }, + "VpnServerConfigurationProperties": { + "properties": { + "name": { + "type": "string", + "description": "The name of the VpnServerConfiguration that is unique within a resource group." + }, + "vpnProtocols": { + "type": "array", + "items": { + "type": "string", + "description": "VPN protocol enabled for the VpnServerConfiguration.", + "enum": [ + "IkeV2", + "OpenVPN" + ], + "x-ms-enum": { + "name": "VpnGatewayTunnelingProtocol", + "modelAsString": true + } + }, + "description": "VPN protocols for the VpnServerConfiguration." + }, + "vpnAuthenticationTypes": { + "type": "array", + "items": { + "type": "string", + "description": "VPN authentication types enabled for the VpnServerConfiguration.", + "enum": [ + "Certificate", + "Radius", + "AAD" + ], + "x-ms-enum": { + "name": "VpnAuthenticationType", + "modelAsString": true + } + }, + "description": "VPN authentication types for the VpnServerConfiguration." + }, + "vpnClientRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigVpnClientRootCertificate" + }, + "description": "VPN client root certificate of VpnServerConfiguration." + }, + "vpnClientRevokedCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigVpnClientRevokedCertificate" + }, + "description": "VPN client revoked certificate of VpnServerConfiguration." + }, + "radiusServerRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigRadiusServerRootCertificate" + }, + "description": "Radius Server root certificate of VpnServerConfiguration." + }, + "radiusClientRootCertificates": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigRadiusClientRootCertificate" + }, + "description": "Radius client root certificate of VpnServerConfiguration." + }, + "vpnClientIpsecPolicies": { + "type": "array", + "items": { + "$ref": "./virtualNetworkGateway.json#/definitions/IpsecPolicy" + }, + "description": "VpnClientIpsecPolicies for VpnServerConfiguration." + }, + "radiusServerAddress": { + "type": "string", + "description": "The radius server address property of the VpnServerConfiguration resource for point to site client connection." + }, + "radiusServerSecret": { + "type": "string", + "description": "The radius secret property of the VpnServerConfiguration resource for point to site client connection." + }, + "radiusServers": { + "type": "array", + "items": { + "$ref": "./virtualNetworkGateway.json#/definitions/RadiusServer" + }, + "description": "Multiple Radius Server configuration for VpnServerConfiguration." + }, + "aadAuthenticationParameters": { + "$ref": "#/definitions/AadAuthenticationParameters", + "description": "The set of aad vpn authentication parameters." + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "The provisioning state of the VpnServerConfiguration resource. Possible values are: 'Updating', 'Deleting', and 'Failed'." + }, + "p2SVpnGateways": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/P2SVpnGateway" + }, + "description": "List of references to P2SVpnGateways." + }, + "configurationPolicyGroups": { + "type": "array", + "description": "List of all VpnServerConfigurationPolicyGroups.", + "items": { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroup" + } + }, + "etag": { + "readOnly": true, + "type": "string", + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "description": "Parameters for VpnServerConfiguration." + }, + "VpnServerConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnServerConfigurationProperties", + "description": "Properties of the P2SVpnServer configuration." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "VpnServerConfiguration Resource." + }, + "ListVpnServerConfigurationsResult": { + "description": "Result of the request to list all VpnServerConfigurations. It contains a list of VpnServerConfigurations and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfiguration" + }, + "description": "List of VpnServerConfigurations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "VpnClientConnectionHealth": { + "properties": { + "totalIngressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "Total of the Ingress Bytes Transferred in this P2S Vpn connection." + }, + "totalEgressBytesTransferred": { + "readOnly": true, + "type": "integer", + "format": "int64", + "description": "Total of the Egress Bytes Transferred in this connection." + }, + "vpnClientConnectionsCount": { + "type": "integer", + "format": "int32", + "description": "The total of p2s vpn clients connected at this time to this P2SVpnGateway." + }, + "allocatedIpAddresses": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of allocated ip addresses to the connected p2s vpn clients." + } + }, + "description": "VpnClientConnectionHealth properties." + }, + "VpnServerConfigurationPolicyGroupProperties": { + "type": "object", + "properties": { + "isDefault": { + "type": "boolean", + "description": "Shows if this is a Default VpnServerConfigurationPolicyGroup or not." + }, + "priority": { + "type": "integer", + "format": "int32", + "description": "Priority for VpnServerConfigurationPolicyGroup." + }, + "policyMembers": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroupMember" + }, + "description": "Multiple PolicyMembers for VpnServerConfigurationPolicyGroup.", + "x-ms-identifiers": [] + }, + "p2SConnectionConfigurations": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of references to P2SConnectionConfigurations." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the VpnServerConfigurationPolicyGroup resource." + } + }, + "description": "Parameters for VpnServerConfigurationPolicyGroup." + }, + "VpnServerConfigurationPolicyGroup": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VpnServerConfigurationPolicyGroupProperties", + "description": "Properties of the VpnServerConfigurationPolicyGroup." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VpnServerConfigurationPolicyGroup Resource." + }, + "VpnServerConfigurationPolicyGroupMember": { + "properties": { + "name": { + "type": "string", + "description": "Name of the VpnServerConfigurationPolicyGroupMember." + }, + "attributeType": { + "type": "string", + "description": "The Vpn Policy member attribute type.", + "enum": [ + "CertificateGroupId", + "AADGroupId", + "RadiusAzureGroupId" + ], + "x-ms-enum": { + "name": "VpnPolicyMemberAttributeType", + "modelAsString": true + } + }, + "attributeValue": { + "type": "string", + "description": "The value of Attribute used for this VpnServerConfigurationPolicyGroupMember." + } + }, + "description": "VpnServerConfiguration PolicyGroup member", + "type": "object" + }, + "ListVpnServerConfigurationPolicyGroupsResult": { + "type": "object", + "description": "Result of the request to list VpnServerConfigurationPolicyGroups. It contains a list of VpnServerConfigurationPolicyGroups and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroup" + }, + "description": "List of VpnServerConfigurationPolicyGroups." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "P2SVpnGatewayProperties": { + "properties": { + "virtualHub": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The VirtualHub to which the gateway belongs." + }, + "p2SConnectionConfigurations": { + "type": "array", + "description": "List of all p2s connection configurations of the gateway.", + "items": { + "$ref": "#/definitions/P2SConnectionConfiguration" + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the P2S VPN gateway resource." + }, + "vpnGatewayScaleUnit": { + "type": "integer", + "format": "int32", + "description": "The scale unit for this p2s vpn gateway." + }, + "vpnServerConfiguration": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The VpnServerConfiguration to which the p2sVpnGateway is attached to." + }, + "vpnClientConnectionHealth": { + "readOnly": true, + "$ref": "#/definitions/VpnClientConnectionHealth", + "description": "All P2S VPN clients' connection health status." + }, + "customDnsServers": { + "type": "array", + "description": "List of all customer specified DNS servers IP addresses.", + "items": { + "type": "string" + } + }, + "isRoutingPreferenceInternet": { + "type": "boolean", + "description": "Enable Routing Preference property for the Public IP Interface of the P2SVpnGateway." + } + }, + "description": "Parameters for P2SVpnGateway." + }, + "P2SVpnGateway": { + "required": [ + "location" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/P2SVpnGatewayProperties", + "description": "Properties of the P2SVpnGateway." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "P2SVpnGateway Resource." + }, + "ListP2SVpnGatewaysResult": { + "description": "Result of the request to list P2SVpnGateways. It contains a list of P2SVpnGateways and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/P2SVpnGateway" + }, + "description": "List of P2SVpnGateways." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "P2SVpnProfileParameters": { + "properties": { + "authenticationMethod": { + "$ref": "./network.json#/definitions/AuthenticationMethod", + "description": "VPN client authentication method." + } + }, + "description": "Vpn Client Parameters for package generation." + }, + "VpnProfileResponse": { + "properties": { + "profileUrl": { + "type": "string", + "description": "URL to the VPN profile." + } + }, + "description": "Vpn Profile Response for package generation." + }, + "VpnLinkBgpSettings": { + "properties": { + "asn": { + "type": "integer", + "format": "int64", + "description": "The BGP speaker's ASN." + }, + "bgpPeeringAddress": { + "type": "string", + "description": "The BGP peering address and BGP identifier of this BGP speaker." + } + }, + "description": "BGP settings details for a link." + }, + "VpnLinkProviderProperties": { + "properties": { + "linkProviderName": { + "type": "string", + "description": "Name of the link provider." + }, + "linkSpeedInMbps": { + "type": "integer", + "format": "int32", + "description": "Link speed." + } + }, + "description": "List of properties of a link provider." + }, + "VpnServerConfigurationsResponse": { + "properties": { + "vpnServerConfigurationResourceIds": { + "type": "array", + "items": { + "type": "string", + "description": "VpnServerConfiguration partial resource uri." + }, + "description": "List of VpnServerConfigurations associated with VirtualWan." + } + }, + "description": "VpnServerConfigurations list associated with VirtualWan Response." + }, + "VirtualWanVpnProfileParameters": { + "properties": { + "vpnServerConfigurationResourceId": { + "type": "string", + "description": "VpnServerConfiguration partial resource uri with which VirtualWan is associated to." + }, + "authenticationMethod": { + "$ref": "./network.json#/definitions/AuthenticationMethod", + "description": "VPN client authentication method." + } + }, + "description": "Virtual Wan Vpn profile parameters Vpn profile generation." + }, + "P2SVpnConnectionHealthRequest": { + "properties": { + "vpnUserNamesFilter": { + "type": "array", + "items": { + "type": "string", + "description": "P2S vpn user name." + }, + "description": "The list of p2s vpn user names whose p2s vpn connection detailed health to retrieve for." + }, + "outputBlobSasUrl": { + "type": "string", + "description": "The sas-url to download the P2S Vpn connection health detail." + } + }, + "description": "List of P2S Vpn connection health request." + }, + "P2SVpnConnectionHealth": { + "properties": { + "sasUrl": { + "type": "string", + "description": "Returned sas url of the blob to which the p2s vpn connection detailed health will be written." + } + }, + "description": "P2S Vpn connection detailed health written to sas url." + }, + "P2SConnectionConfigurationProperties": { + "properties": { + "vpnClientAddressPool": { + "$ref": "./virtualNetwork.json#/definitions/AddressSpace", + "description": "The reference to the address space resource which represents Address space for P2S VpnClient." + }, + "routingConfiguration": { + "$ref": "#/definitions/RoutingConfiguration", + "description": "The Routing Configuration indicating the associated and propagated route tables on this connection." + }, + "enableInternetSecurity": { + "type": "boolean", + "description": "Flag indicating whether the enable internet security flag is turned on for the P2S Connections or not." + }, + "configurationPolicyGroupAssociations": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "./network.json#/definitions/SubResource" + }, + "description": "List of Configuration Policy Groups that this P2SConnectionConfiguration is attached to." + }, + "previousConfigurationPolicyGroupAssociations": { + "type": "array", + "readOnly": true, + "items": { + "$ref": "#/definitions/VpnServerConfigurationPolicyGroup" + }, + "description": "List of previous Configuration Policy Groups that this P2SConnectionConfiguration was attached to." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the P2SConnectionConfiguration resource." + } + }, + "description": "Parameters for P2SConnectionConfiguration." + }, + "P2SConnectionConfiguration": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/P2SConnectionConfigurationProperties", + "description": "Properties of the P2S connection configuration." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "P2SConnectionConfiguration Resource." + }, + "VirtualHubRouteTableV2Properties": { + "properties": { + "routes": { + "type": "array", + "description": "List of all routes.", + "items": { + "$ref": "#/definitions/VirtualHubRouteV2" + } + }, + "attachedConnections": { + "type": "array", + "description": "List of all connections attached to this route table v2.", + "items": { + "type": "string" + } + }, + "provisioningState": { + "$ref": "./network.json#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioning state of the virtual hub route table v2 resource." + } + }, + "description": "Parameters for VirtualHubRouteTableV2." + }, + "VirtualHubRouteTableV2": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/VirtualHubRouteTableV2Properties", + "description": "Properties of the virtual hub route table v2." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "VirtualHubRouteTableV2 Resource." + }, + "VirtualHubRouteV2": { + "properties": { + "destinationType": { + "type": "string", + "description": "The type of destinations." + }, + "destinations": { + "type": "array", + "description": "List of all destinations.", + "items": { + "type": "string" + } + }, + "nextHopType": { + "type": "string", + "description": "The type of next hops." + }, + "nextHops": { + "type": "array", + "description": "NextHops ip address.", + "items": { + "type": "string" + } + } + }, + "description": "VirtualHubRouteTableV2 route." + }, + "ListVirtualHubRouteTableV2sResult": { + "description": "List of VirtualHubRouteTableV2s and a URL nextLink to get the next set of results.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualHubRouteTableV2" + }, + "description": "List of VirtualHubRouteTableV2s." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "P2SVpnConnectionRequest": { + "description": "List of p2s vpn connections to be disconnected.", + "properties": { + "vpnConnectionIds": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of p2s vpn connection Ids." + } + } + }, + "VirtualHubId": { + "properties": { + "id": { + "type": "string", + "description": "The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be deployed. The Virtual Hub resource and the ExpressRoute gateway resource reside in the same subscription." + } + }, + "description": "Virtual Hub identifier." + }, + "ExpressRouteCircuitPeeringId": { + "properties": { + "id": { + "type": "string", + "description": "The ID of the ExpressRoute circuit peering." + } + }, + "description": "ExpressRoute circuit peering identifier." + }, + "ExpressRouteConnectionId": { + "properties": { + "id": { + "type": "string", + "readOnly": true, + "description": "The ID of the ExpressRouteConnection." + } + }, + "description": "The ID of the ExpressRouteConnection." + }, + "ExpressRouteGatewayProperties": { + "required": [ + "virtualHub" + ], + "properties": { + "autoScaleConfiguration": { + "properties": { + "bounds": { + "properties": { + "min": { + "type": "integer", + "description": "Minimum number of scale units deployed for ExpressRoute gateway." + }, + "max": { + "type": "integer", + "description": "Maximum number of scale units deployed for ExpressRoute gateway." + } + }, + "description": "Minimum and maximum number of scale units to deploy." + } + }, + "description": "Configuration for auto scaling." + }, + "expressRouteConnections": { + "type": "array", + "description": "List of ExpressRoute connections to the ExpressRoute gateway.", + "items": { + "$ref": "#/definitions/ExpressRouteConnection" + } + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route gateway resource." + }, + "virtualHub": { + "$ref": "#/definitions/VirtualHubId", + "description": "The Virtual Hub where the ExpressRoute gateway is or will be deployed." + }, + "allowNonVirtualWanTraffic": { + "type": "boolean", + "description": "Configures this gateway to accept traffic from non Virtual WAN networks." + } + }, + "description": "ExpressRoute gateway resource properties." + }, + "ExpressRouteGateway": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteGatewayProperties", + "description": "Properties of the express route gateway." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/Resource" + } + ], + "description": "ExpressRoute gateway resource." + }, + "ExpressRouteGatewayList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteGateway" + }, + "description": "List of ExpressRoute gateways." + } + }, + "description": "List of ExpressRoute gateways." + }, + "ExpressRouteConnectionProperties": { + "required": [ + "expressRouteCircuitPeering" + ], + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the express route connection resource." + }, + "expressRouteCircuitPeering": { + "$ref": "#/definitions/ExpressRouteCircuitPeeringId", + "description": "The ExpressRoute circuit peering." + }, + "authorizationKey": { + "type": "string", + "description": "Authorization key to establish the connection." + }, + "routingWeight": { + "type": "integer", + "description": "The routing weight associated to the connection." + }, + "enableInternetSecurity": { + "type": "boolean", + "description": "Enable internet security." + }, + "expressRouteGatewayBypass": { + "type": "boolean", + "description": "Enable FastPath to vWan Firewall hub." + }, + "enablePrivateLinkFastPath": { + "type": "boolean", + "description": "Bypass the ExpressRoute gateway when accessing private-links. ExpressRoute FastPath (expressRouteGatewayBypass) must be enabled." + }, + "routingConfiguration": { + "$ref": "#/definitions/RoutingConfiguration", + "description": "The Routing Configuration indicating the associated and propagated route tables on this connection." + } + }, + "description": "Properties of the ExpressRouteConnection subresource." + }, + "ExpressRouteConnection": { + "required": [ + "name" + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ExpressRouteConnectionProperties", + "description": "Properties of the express route connection." + }, + "name": { + "type": "string", + "description": "The name of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "ExpressRouteConnection resource." + }, + "ExpressRouteConnectionList": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/ExpressRouteConnection" + }, + "description": "The list of ExpressRoute connections." + } + }, + "description": "ExpressRouteConnection list." + }, + "NetworkVirtualApplianceConnectionProperties": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the resource." + }, + "provisioningState": { + "readOnly": true, + "$ref": "./network.json#/definitions/ProvisioningState", + "description": "The provisioning state of the NetworkVirtualApplianceConnection resource." + }, + "asn": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Network Virtual Appliance ASN." + }, + "tunnelIdentifier": { + "type": "integer", + "readOnly": false, + "format": "int64", + "minimum": 0, + "maximum": 4294967295, + "description": "Unique identifier for the connection." + }, + "bgpPeerAddress": { + "type": "array", + "items": { + "type": "string" + }, + "description": "List of bgpPeerAddresses for the NVA instances" + }, + "enableInternetSecurity": { + "type": "boolean", + "description": "Enable internet security." + }, + "routingConfiguration": { + "$ref": "#/definitions/RoutingConfiguration", + "description": "The Routing Configuration indicating the associated and propagated route tables on this connection." + } + }, + "description": "Properties of the NetworkVirtualApplianceConnection subresource." + }, + "NetworkVirtualApplianceConnection": { + "type": "object", + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/NetworkVirtualApplianceConnectionProperties", + "description": "Properties of the express route connection." + }, + "name": { + "type": "string", + "description": "The name of the resource." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "NetworkVirtualApplianceConnection resource." + }, + "NetworkVirtualApplianceConnectionList": { + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/NetworkVirtualApplianceConnection" + }, + "description": "The list of NetworkVirtualAppliance connections." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "NetworkVirtualApplianceConnection list." + }, + "ListVirtualHubBgpConnectionResults": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/BgpConnection" + }, + "description": "The list of VirtualHubBgpConnections." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "VirtualHubBgpConnections list." + }, + "ListVirtualHubIpConfigurationResults": { + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/HubIpConfiguration" + }, + "description": "The list of VirtualHubIpConfigurations." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of results." + } + }, + "description": "VirtualHubIpConfigurations list." + }, + "RoutingConfiguration": { + "description": "Routing Configuration indicating the associated and propagated route tables for this connection.", + "properties": { + "associatedRouteTable": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The resource id RouteTable associated with this RoutingConfiguration." + }, + "propagatedRouteTables": { + "$ref": "#/definitions/PropagatedRouteTable", + "description": "The list of RouteTables to advertise the routes to." + }, + "vnetRoutes": { + "$ref": "#/definitions/VnetRoute", + "description": "List of routes that control routing from VirtualHub into a virtual network connection." + }, + "inboundRouteMap": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The resource id of the RouteMap associated with this RoutingConfiguration for inbound learned routes." + }, + "outboundRouteMap": { + "$ref": "./network.json#/definitions/SubResource", + "description": "The resource id of theRouteMap associated with this RoutingConfiguration for outbound advertised routes." + } + } + }, + "PropagatedRouteTable": { + "description": "The list of RouteTables to advertise the routes to.", + "properties": { + "labels": { + "type": "array", + "description": "The list of labels.", + "items": { + "type": "string" + } + }, + "ids": { + "type": "array", + "description": "The list of resource ids of all the RouteTables.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + } + } + }, + "VnetRoute": { + "description": "List of routes that control routing from VirtualHub into a virtual network connection.", + "properties": { + "staticRoutesConfig": { + "$ref": "#/definitions/StaticRoutesConfig", + "description": "Configuration for static routes on this HubVnetConnection." + }, + "staticRoutes": { + "type": "array", + "description": "List of all Static Routes.", + "items": { + "$ref": "#/definitions/StaticRoute" + } + }, + "bgpConnections": { + "type": "array", + "readOnly": true, + "description": "The list of references to HubBgpConnection objects.", + "items": { + "$ref": "./network.json#/definitions/SubResource" + } + } + } + }, + "StaticRoutesConfig": { + "description": "Configuration for static routes on this HubVnetConnectionConfiguration for static routes on this HubVnetConnection.", + "type": "object", + "properties": { + "propagateStaticRoutes": { + "description": "Boolean indicating whether static routes on this connection are automatically propagate to route tables which this connection propagates to.", + "type": "boolean", + "readOnly": true + }, + "vnetLocalRouteOverrideCriteria": { + "description": "Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke.", + "$ref": "#/definitions/VnetLocalRouteOverrideCriteria" + } + } + }, + "StaticRoute": { + "description": "List of all Static Routes.", + "properties": { + "name": { + "type": "string", + "description": "The name of the StaticRoute that is unique within a VnetRoute." + }, + "addressPrefixes": { + "type": "array", + "description": "List of all address prefixes.", + "items": { + "type": "string" + } + }, + "nextHopIpAddress": { + "type": "string", + "description": "The ip address of the next hop." + } + } + }, + "VirtualHubEffectiveRouteList": { + "description": "EffectiveRoutes List.", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/VirtualHubEffectiveRoute" + }, + "description": "The list of effective routes configured on the virtual hub or the specified resource." + } + } + }, + "VirtualHubEffectiveRoute": { + "description": "The effective route configured on the virtual hub or specified resource.", + "properties": { + "addressPrefixes": { + "description": "The list of address prefixes.", + "type": "array", + "items": { + "type": "string" + } + }, + "nextHops": { + "description": "The list of next hops.", + "type": "array", + "items": { + "type": "string" + } + }, + "nextHopType": { + "description": "The type of the next hop.", + "type": "string" + }, + "asPath": { + "description": "The ASPath of this route.", + "type": "string" + }, + "routeOrigin": { + "description": "The origin of this route.", + "type": "string" + } + } + }, + "EffectiveRoutesParameters": { + "description": "The parameters specifying the resource whose effective routes are being requested.", + "properties": { + "resourceId": { + "type": "string", + "description": "The resource whose effective routes are being requested." + }, + "virtualWanResourceType": { + "type": "string", + "description": "The type of the specified resource like RouteTable, ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection." + } + } + }, + "EffectiveRouteMapRouteList": { + "description": "EffectiveRouteMapRoute List.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/EffectiveRouteMapRoute" + }, + "description": "The list of Effective RouteMap Routes configured on the connection resource.", + "x-ms-identifiers": [] + } + } + }, + "EffectiveRouteMapRoute": { + "description": "The effective RouteMap route configured on the connection resource.", + "type": "object", + "properties": { + "prefix": { + "description": "The address prefix of the route.", + "type": "string" + }, + "bgpCommunities": { + "description": "BGP communities of the route.", + "type": "string" + }, + "asPath": { + "description": "The ASPath of this route.", + "type": "string" + } + } + }, + "GetInboundRoutesParameters": { + "description": "The parameters specifying the connection resource whose inbound routes are being requested.", + "type": "object", + "properties": { + "resourceUri": { + "type": "string", + "description": "The connection resource whose inbound routes are being requested." + }, + "connectionType": { + "type": "string", + "description": "The type of the specified connection resource like ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection." + } + } + }, + "GetOutboundRoutesParameters": { + "description": "The parameters specifying the connection resource whose outbound routes are being requested.", + "type": "object", + "properties": { + "resourceUri": { + "type": "string", + "description": "The connection resource whose outbound routes are being requested." + }, + "connectionType": { + "type": "string", + "description": "The type of the specified connection resource like ExpressRouteConnection, HubVirtualNetworkConnection, VpnConnection and P2SConnection." + } + } + }, + "O365PolicyProperties": { + "properties": { + "breakOutCategories": { + "readOnly": false, + "description": "Office365 breakout categories.", + "$ref": "#/definitions/O365BreakOutCategoryPolicies" + } + }, + "description": "The Office365 breakout policy." + }, + "O365BreakOutCategoryPolicies": { + "properties": { + "allow": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control allow category." + }, + "optimize": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control optimize category." + }, + "default": { + "type": "boolean", + "readOnly": false, + "description": "Flag to control default category." + } + }, + "description": "Office365 breakout categories." + }, + "ListRoutingIntentResult": { + "description": "List of the routing intent result and a URL nextLink to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RoutingIntent" + }, + "description": "List of RoutingIntent resource." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "RoutingIntent": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RoutingIntentProperties", + "description": "Properties of the RoutingIntent resource." + }, + "name": { + "type": "string", + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "The routing intent child resource of a Virtual hub.", + "type": "object" + }, + "RoutingIntentProperties": { + "properties": { + "routingPolicies": { + "type": "array", + "description": "List of routing policies.", + "readOnly": false, + "items": { + "$ref": "#/definitions/RoutingPolicy" + } + }, + "provisioningState": { + "$ref": "./network.json#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioning state of the RoutingIntent resource." + } + }, + "description": "The properties of a RoutingIntent resource.", + "type": "object" + }, + "RoutingPolicy": { + "required": [ + "name", + "destinations", + "nextHop" + ], + "properties": { + "name": { + "type": "string", + "description": "The unique name for the routing policy." + }, + "destinations": { + "type": "array", + "description": "List of all destinations which this routing policy is applicable to (for example: Internet, PrivateTraffic).", + "items": { + "type": "string" + } + }, + "nextHop": { + "type": "string", + "description": "The next hop resource id on which this routing policy is applicable to." + } + }, + "description": "The routing policy object used in a RoutingIntent resource.", + "type": "object" + }, + "RouteMap": { + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/RouteMapProperties", + "description": "Properties of the RouteMap resource." + }, + "name": { + "type": "string", + "readOnly": true, + "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource." + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "type": { + "readOnly": true, + "type": "string", + "description": "Resource type." + }, + "id": { + "readOnly": true, + "type": "string", + "description": "Resource id." + } + }, + "allOf": [ + { + "$ref": "./network.json#/definitions/SubResource" + } + ], + "description": "The RouteMap child resource of a Virtual hub.", + "type": "object" + }, + "ListRouteMapsResult": { + "description": "List of RouteMaps and a URL nextLink to get the next set of results.", + "type": "object", + "properties": { + "value": { + "type": "array", + "items": { + "$ref": "#/definitions/RouteMap" + }, + "description": "List of RouteMaps." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any." + } + } + }, + "RouteMapProperties": { + "properties": { + "associatedInboundConnections": { + "type": "array", + "description": "List of connections which have this RoutMap associated for inbound traffic.", + "items": { + "type": "string" + } + }, + "associatedOutboundConnections": { + "type": "array", + "description": "List of connections which have this RoutMap associated for outbound traffic.", + "items": { + "type": "string" + } + }, + "rules": { + "type": "array", + "description": "List of RouteMap rules to be applied.", + "items": { + "$ref": "#/definitions/RouteMapRule" + }, + "x-ms-identifiers": [] + }, + "provisioningState": { + "$ref": "./network.json#/definitions/ProvisioningState", + "readOnly": true, + "description": "The provisioning state of the RouteMap resource." + } + }, + "description": "Properties of RouteMap resource", + "type": "object" + }, + "RouteMapRule": { + "properties": { + "name": { + "type": "string", + "description": "The unique name for the rule." + }, + "matchCriteria": { + "type": "array", + "description": "List of matching criterion which will be applied to traffic.", + "items": { + "$ref": "#/definitions/Criterion" + }, + "x-ms-identifiers": [] + }, + "actions": { + "type": "array", + "description": "List of actions which will be applied on a match.", + "items": { + "$ref": "#/definitions/Action" + }, + "x-ms-identifiers": [] + }, + "nextStepIfMatched": { + "$ref": "#/definitions/NextStep", + "description": "Next step after rule is evaluated. Current supported behaviors are 'Continue'(to next rule) and 'Terminate'." + } + }, + "description": "A RouteMap Rule.", + "type": "object" + }, + "Criterion": { + "properties": { + "routePrefix": { + "type": "array", + "description": "List of route prefixes which this criteria matches.", + "items": { + "type": "string" + } + }, + "community": { + "type": "array", + "description": "List of BGP communities which this criteria matches.", + "items": { + "type": "string" + } + }, + "asPath": { + "type": "array", + "description": "List of AS paths which this criteria matches.", + "items": { + "type": "string" + } + }, + "matchCondition": { + "$ref": "#/definitions/RouteMapMatchCondition", + "description": "Match condition to apply RouteMap rules." + } + }, + "description": "A matching criteria which matches routes based on route prefix, community, and AS path.", + "type": "object" + }, + "Action": { + "properties": { + "type": { + "$ref": "#/definitions/RouteMapActionType", + "description": "Type of action to be taken. Supported types are 'Remove', 'Add', 'Replace', and 'Drop.'" + }, + "parameters": { + "type": "array", + "description": "List of parameters relevant to the action.For instance if type is drop then parameters has list of prefixes to be dropped.If type is add, parameters would have list of ASN numbers to be added", + "items": { + "$ref": "#/definitions/Parameter" + }, + "x-ms-identifiers": [] + } + }, + "description": "Action to be taken on a route matching a RouteMap criterion.", + "type": "object" + }, + "Parameter": { + "properties": { + "routePrefix": { + "type": "array", + "description": "List of route prefixes.", + "items": { + "type": "string" + } + }, + "community": { + "type": "array", + "description": "List of BGP communities.", + "items": { + "type": "string" + } + }, + "asPath": { + "type": "array", + "description": "List of AS paths.", + "items": { + "type": "string" + } + } + }, + "description": "Parameters for an Action.", + "type": "object" + }, + "RouteMapMatchCondition": { + "type": "string", + "description": "Match condition to apply RouteMap rules.", + "enum": [ + "Unknown", + "Contains", + "Equals", + "NotContains", + "NotEquals" + ], + "x-ms-enum": { + "name": "RouteMapMatchCondition", + "modelAsString": true + } + }, + "NextStep": { + "type": "string", + "description": "Supported next step behaviors after a rule is applied to a matched route", + "enum": [ + "Unknown", + "Continue", + "Terminate" + ], + "x-ms-enum": { + "name": "NextStep", + "modelAsString": true + } + }, + "RouteMapActionType": { + "type": "string", + "description": "Kind of actions which can be taken on a matched route. Add, Replace, Remove refer to parameters on the route, like community or prefix", + "enum": [ + "Unknown", + "Remove", + "Add", + "Replace", + "Drop" + ], + "x-ms-enum": { + "name": "RouteMapActionType", + "modelAsString": true + } + }, + "VnetLocalRouteOverrideCriteria": { + "type": "string", + "description": "Parameter determining whether NVA in spoke vnet is bypassed for traffic with destination in spoke vnet.", + "enum": [ + "Contains", + "Equal" + ], + "x-ms-enum": { + "name": "VnetLocalRouteOverrideCriteria", + "modelAsString": true + } + } + } +} diff --git a/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/vmssNetworkInterface.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/vmssNetworkInterface.json new file mode 100644 index 000000000000..89562aa3062c --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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/2024-01-01/vmssPublicIpAddress.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/vmssPublicIpAddress.json new file mode 100644 index 000000000000..d100152e7711 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-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/2024-01-01/webapplicationfirewall.json b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/webapplicationfirewall.json new file mode 100644 index 000000000000..f7abf7c0e928 --- /dev/null +++ b/specification/network/resource-manager/Microsoft.Network/stable/2024-01-01/webapplicationfirewall.json @@ -0,0 +1,1028 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-01-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." + } + } + }, + "jsChallengeCookieExpirationInMins": { + "description": "Web Application Firewall JavaScript Challenge Cookie Expiration time in minutes.", + "type": "integer", + "format": "int32", + "minimum": 5, + "maximum": 1440 + } + } + }, + "WebApplicationFirewallCustomRule": { + "description": "Defines contents of a web application rule.", + "required": [ + "priority", + "ruleType", + "matchConditions", + "action" + ], + "properties": { + "name": { + "type": "string", + "description": "The name of the resource that is unique within a policy. This name can be used to access the resource.", + "maxLength": 128 + }, + "etag": { + "type": "string", + "readOnly": true, + "description": "A unique read-only string that changes whenever the resource is updated." + }, + "priority": { + "description": "Priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.", + "type": "integer" + }, + "state": { + "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallState", + "modelAsString": true + } + }, + "rateLimitDuration": { + "type": "string", + "description": "Duration over which Rate Limit policy will be applied. Applies only when ruleType is RateLimitRule.", + "enum": [ + "OneMin", + "FiveMins" + ], + "x-ms-enum": { + "name": "ApplicationGatewayFirewallRateLimitDuration", + "modelAsString": true + } + }, + "rateLimitThreshold": { + "description": "Rate Limit threshold to apply in case ruleType is RateLimitRule. Must be greater than or equal to 1", + "type": "integer", + "format": "int32" + }, + "ruleType": { + "description": "The rule type.", + "type": "string", + "enum": [ + "MatchRule", + "RateLimitRule", + "Invalid" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallRuleType", + "modelAsString": true + } + }, + "matchConditions": { + "description": "List of match conditions.", + "type": "array", + "items": { + "$ref": "#/definitions/MatchCondition" + } + }, + "groupByUserSession": { + "description": "List of user session identifier group by clauses.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/GroupByUserSession" + } + }, + "action": { + "description": "Type of Actions.", + "type": "string", + "enum": [ + "Allow", + "Block", + "Log", + "JSChallenge" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallAction", + "modelAsString": true + } + } + } + }, + "Transform": { + "description": "Transforms applied before matching.", + "type": "string", + "enum": [ + "Uppercase", + "Lowercase", + "Trim", + "UrlDecode", + "UrlEncode", + "RemoveNulls", + "HtmlEntityDecode" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallTransform", + "modelAsString": true + } + }, + "MatchVariable": { + "description": "Define match variables.", + "required": [ + "variableName" + ], + "properties": { + "variableName": { + "description": "Match Variable.", + "type": "string", + "enum": [ + "RemoteAddr", + "RequestMethod", + "QueryString", + "PostArgs", + "RequestUri", + "RequestHeaders", + "RequestBody", + "RequestCookies" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallMatchVariable", + "modelAsString": true + } + }, + "selector": { + "description": "The selector of match variable.", + "type": "string" + } + } + }, + "MatchCondition": { + "description": "Define match conditions.", + "required": [ + "matchVariables", + "operator", + "matchValues" + ], + "properties": { + "matchVariables": { + "description": "List of match variables.", + "type": "array", + "items": { + "$ref": "#/definitions/MatchVariable" + } + }, + "operator": { + "description": "The operator to be matched.", + "type": "string", + "enum": [ + "IPMatch", + "Equal", + "Contains", + "LessThan", + "GreaterThan", + "LessThanOrEqual", + "GreaterThanOrEqual", + "BeginsWith", + "EndsWith", + "Regex", + "GeoMatch", + "Any" + ], + "x-ms-enum": { + "name": "WebApplicationFirewallOperator", + "modelAsString": true + } + }, + "negationConditon": { + "description": "Whether this is negate condition or not.", + "type": "boolean" + }, + "matchValues": { + "description": "Match value.", + "type": "array", + "items": { + "type": "string" + } + }, + "transforms": { + "description": "List of transforms.", + "type": "array", + "items": { + "$ref": "#/definitions/Transform" + } + } + } + }, + "GroupByVariable": { + "type": "object", + "description": "Define user session group by clause variables.", + "required": [ + "variableName" + ], + "properties": { + "variableName": { + "description": "User Session clause variable.", + "type": "string", + "enum": [ + "ClientAddr", + "GeoLocation", + "None" + ], + "x-ms-enum": { + "name": "ApplicationGatewayFirewallUserSessionVariable", + "modelAsString": true + } + } + } + }, + "GroupByUserSession": { + "type": "object", + "description": "Define user session identifier group by clauses.", + "required": [ + "groupByVariables" + ], + "properties": { + "groupByVariables": { + "description": "List of group by clause variables.", + "type": "array", + "x-ms-identifiers": [], + "items": { + "$ref": "#/definitions/GroupByVariable" + } + } + } + }, + "ManagedRuleSet": { + "type": "object", + "description": "Defines a managed rule set.", + "required": [ + "ruleSetType", + "ruleSetVersion" + ], + "properties": { + "ruleSetType": { + "description": "Defines the rule set type to use.", + "type": "string" + }, + "ruleSetVersion": { + "description": "Defines the version of the rule set to use.", + "type": "string" + }, + "ruleGroupOverrides": { + "description": "Defines the rule group overrides to apply to the rule set.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleGroupOverride" + } + } + } + }, + "ManagedRuleGroupOverride": { + "type": "object", + "description": "Defines a managed rule group override setting.", + "required": [ + "ruleGroupName" + ], + "properties": { + "ruleGroupName": { + "description": "The managed rule group to override.", + "type": "string" + }, + "rules": { + "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled.", + "type": "array", + "items": { + "$ref": "#/definitions/ManagedRuleOverride" + } + } + } + }, + "ManagedRuleOverride": { + "type": "object", + "description": "Defines a managed rule group override setting.", + "required": [ + "ruleId" + ], + "properties": { + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + }, + "state": { + "description": "The state of the managed rule. Defaults to Disabled if not specified.", + "type": "string", + "enum": [ + "Disabled", + "Enabled" + ], + "x-ms-enum": { + "name": "ManagedRuleEnabledState", + "modelAsString": true + } + }, + "action": { + "description": "Describes the override action to be applied when rule matches.", + "$ref": "#/definitions/ActionType" + } + } + }, + "ExclusionManagedRuleSet": { + "type": "object", + "description": "Defines a managed rule set for Exclusions.", + "required": [ + "ruleSetType", + "ruleSetVersion" + ], + "properties": { + "ruleSetType": { + "description": "Defines the rule set type to use.", + "type": "string" + }, + "ruleSetVersion": { + "description": "Defines the version of the rule set to use.", + "type": "string" + }, + "ruleGroups": { + "description": "Defines the rule groups to apply to the rule set.", + "type": "array", + "items": { + "$ref": "#/definitions/ExclusionManagedRuleGroup" + } + } + } + }, + "ExclusionManagedRuleGroup": { + "type": "object", + "description": "Defines a managed rule group to use for exclusion.", + "required": [ + "ruleGroupName" + ], + "properties": { + "ruleGroupName": { + "description": "The managed rule group for exclusion.", + "type": "string" + }, + "rules": { + "description": "List of rules that will be excluded. If none specified, all rules in the group will be excluded.", + "type": "array", + "items": { + "$ref": "#/definitions/ExclusionManagedRule" + } + } + } + }, + "ExclusionManagedRule": { + "type": "object", + "description": "Defines a managed rule to use for exclusion.", + "required": [ + "ruleId" + ], + "properties": { + "ruleId": { + "description": "Identifier for the managed rule.", + "type": "string" + } + } + }, + "OwaspCrsExclusionEntry": { + "required": [ + "matchVariable", + "selectorMatchOperator", + "selector" + ], + "description": "Allow to exclude some variable satisfy the condition for the WAF check.", + "properties": { + "matchVariable": { + "type": "string", + "enum": [ + "RequestHeaderNames", + "RequestCookieNames", + "RequestArgNames", + "RequestHeaderKeys", + "RequestHeaderValues", + "RequestCookieKeys", + "RequestCookieValues", + "RequestArgKeys", + "RequestArgValues" + ], + "description": "The variable to be excluded.", + "x-ms-enum": { + "name": "OwaspCrsExclusionEntryMatchVariable", + "modelAsString": true + } + }, + "selectorMatchOperator": { + "type": "string", + "enum": [ + "Equals", + "Contains", + "StartsWith", + "EndsWith", + "EqualsAny" + ], + "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this exclusion applies to.", + "x-ms-enum": { + "name": "OwaspCrsExclusionEntrySelectorMatchOperator", + "modelAsString": true + } + }, + "selector": { + "type": "string", + "description": "When matchVariable is a collection, operator used to specify which elements in the collection this exclusion applies to." + }, + "exclusionManagedRuleSets": { + "type": "array", + "items": { + "$ref": "#/definitions/ExclusionManagedRuleSet" + }, + "description": "The managed rule sets that are associated with the exclusion." + } + } + }, + "ActionType": { + "description": "Defines the action to take on rule match.", + "type": "string", + "enum": [ + "AnomalyScoring", + "Allow", + "Block", + "Log", + "JSChallenge" + ], + "x-ms-enum": { + "name": "ActionType", + "modelAsString": true + } + }, + "WebApplicationFirewallScrubbingRules": { + "description": "Allow certain variables to be scrubbed on WAF logs", + "type": "object", + "required": [ + "matchVariable", + "selectorMatchOperator" + ], + "properties": { + "matchVariable": { + "type": "string", + "enum": [ + "RequestHeaderNames", + "RequestCookieNames", + "RequestArgNames", + "RequestPostArgNames", + "RequestJSONArgNames", + "RequestIPAddress" + ], + "description": "The variable to be scrubbed from the logs.", + "x-ms-enum": { + "name": "scrubbingRuleEntryMatchVariable", + "modelAsString": true + } + }, + "selectorMatchOperator": { + "type": "string", + "enum": [ + "Equals", + "EqualsAny" + ], + "description": "When matchVariable is a collection, operate on the selector to specify which elements in the collection this rule applies to.", + "x-ms-enum": { + "name": " scrubbingRuleEntryMatchOperator", + "modelAsString": true + } + }, + "selector": { + "type": "string", + "description": "When matchVariable is a collection, operator used to specify which elements in the collection this rule applies to." + }, + "state": { + "type": "string", + "enum": [ + "Enabled", + "Disabled" + ], + "description": "Defines the state of log scrubbing rule. Default value is Enabled.", + "x-ms-enum": { + "name": " scrubbingRuleEntryState", + "modelAsString": true + } + } + } + } + } +} diff --git a/specification/network/resource-manager/readme.java.md b/specification/network/resource-manager/readme.java.md index 8458778aedc3..acafccae4b47 100644 --- a/specification/network/resource-manager/readme.java.md +++ b/specification/network/resource-manager/readme.java.md @@ -23,6 +23,9 @@ directive: - rename-operation: from: InboundSecurityRule_CreateOrUpdate to: InboundSecurityRuleOperation_CreateOrUpdate + - rename-operation: + from: InboundSecurityRule_Get + to: InboundSecurityRuleOperation_Get - from: vmssNetworkInterface.json where: '$.info' transform: > diff --git a/specification/network/resource-manager/readme.md b/specification/network/resource-manager/readme.md index ba90cc7c3535..e7b06187b7da 100644 --- a/specification/network/resource-manager/readme.md +++ b/specification/network/resource-manager/readme.md @@ -28,7 +28,82 @@ These are the global settings for the Network API. title: NetworkManagementClient description: Network Client openapi-type: arm -tag: package-2023-11 +tag: package-2024-01 +``` + +### Tag: package-2024-01 + +These settings apply only when `--tag=package-2024-01` is specified on the command line. + +```yaml $(tag) == 'package-2024-01' +input-file: + - Microsoft.Network/stable/2024-01-01/applicationGateway.json + - Microsoft.Network/stable/2024-01-01/applicationGatewayWafDynamicManifests.json + - Microsoft.Network/stable/2024-01-01/applicationSecurityGroup.json + - Microsoft.Network/stable/2024-01-01/availableDelegations.json + - Microsoft.Network/stable/2024-01-01/availableServiceAliases.json + - Microsoft.Network/stable/2024-01-01/azureFirewall.json + - Microsoft.Network/stable/2024-01-01/azureFirewallFqdnTag.json + - Microsoft.Network/stable/2024-01-01/azureWebCategory.json + - Microsoft.Network/stable/2024-01-01/bastionHost.json + - Microsoft.Network/stable/2024-01-01/checkDnsAvailability.json + - Microsoft.Network/stable/2024-01-01/cloudServiceNetworkInterface.json + - Microsoft.Network/stable/2024-01-01/cloudServicePublicIpAddress.json + - Microsoft.Network/stable/2024-01-01/cloudServiceSwap.json + - Microsoft.Network/stable/2024-01-01/customIpPrefix.json + - Microsoft.Network/stable/2024-01-01/ddosCustomPolicy.json + - Microsoft.Network/stable/2024-01-01/ddosProtectionPlan.json + - Microsoft.Network/stable/2024-01-01/dscpConfiguration.json + - Microsoft.Network/stable/2024-01-01/endpointService.json + - Microsoft.Network/stable/2024-01-01/expressRouteCircuit.json + - Microsoft.Network/stable/2024-01-01/expressRouteCrossConnection.json + - Microsoft.Network/stable/2024-01-01/expressRoutePort.json + - Microsoft.Network/stable/2024-01-01/expressRouteProviderPort.json + - Microsoft.Network/stable/2024-01-01/firewallPolicy.json + - Microsoft.Network/stable/2024-01-01/ipAllocation.json + - Microsoft.Network/stable/2024-01-01/ipGroups.json + - Microsoft.Network/stable/2024-01-01/loadBalancer.json + - Microsoft.Network/stable/2024-01-01/natGateway.json + - Microsoft.Network/stable/2024-01-01/network.json + - Microsoft.Network/stable/2024-01-01/networkInterface.json + - Microsoft.Network/stable/2024-01-01/networkManager.json + - Microsoft.Network/stable/2024-01-01/networkManagerActiveConfiguration.json + - Microsoft.Network/stable/2024-01-01/networkManagerConnection.json + - Microsoft.Network/stable/2024-01-01/networkManagerConnectivityConfiguration.json + - Microsoft.Network/stable/2024-01-01/networkManagerEffectiveConfiguration.json + - Microsoft.Network/stable/2024-01-01/networkManagerGroup.json + - Microsoft.Network/stable/2024-01-01/networkManagerScopeConnection.json + - Microsoft.Network/stable/2024-01-01/networkManagerSecurityAdminConfiguration.json + - Microsoft.Network/stable/2024-01-01/networkProfile.json + - Microsoft.Network/stable/2024-01-01/networkSecurityGroup.json + - Microsoft.Network/stable/2024-01-01/networkVirtualAppliance.json + - Microsoft.Network/stable/2024-01-01/networkWatcher.json + - Microsoft.Network/stable/2024-01-01/operation.json + - Microsoft.Network/stable/2024-01-01/privateEndpoint.json + - Microsoft.Network/stable/2024-01-01/privateLinkService.json + - Microsoft.Network/stable/2024-01-01/publicIpAddress.json + - Microsoft.Network/stable/2024-01-01/publicIpPrefix.json + - Microsoft.Network/stable/2024-01-01/routeFilter.json + - Microsoft.Network/stable/2024-01-01/routeTable.json + - Microsoft.Network/stable/2024-01-01/securityPartnerProvider.json + - Microsoft.Network/stable/2024-01-01/serviceCommunity.json + - Microsoft.Network/stable/2024-01-01/serviceEndpointPolicy.json + - Microsoft.Network/stable/2024-01-01/serviceTags.json + - Microsoft.Network/stable/2024-01-01/usage.json + - Microsoft.Network/stable/2024-01-01/virtualNetwork.json + - Microsoft.Network/stable/2024-01-01/virtualNetworkGateway.json + - Microsoft.Network/stable/2024-01-01/virtualNetworkTap.json + - Microsoft.Network/stable/2024-01-01/virtualRouter.json + - Microsoft.Network/stable/2024-01-01/virtualWan.json + - Microsoft.Network/stable/2024-01-01/vmssNetworkInterface.json + - Microsoft.Network/stable/2024-01-01/vmssPublicIpAddress.json + - Microsoft.Network/stable/2024-01-01/webapplicationfirewall.json + +suppressions: + - code: ImplementPrivateEndpointAPIs + reason: False alarm. + - code: PatchIdentityProperty + reason: False alarm. ``` ### Tag: package-2023-11-preview diff --git a/specification/network/resource-manager/sdk-suppressions.yaml b/specification/network/resource-manager/sdk-suppressions.yaml new file mode 100644 index 000000000000..f5f18097c539 --- /dev/null +++ b/specification/network/resource-manager/sdk-suppressions.yaml @@ -0,0 +1,6 @@ +suppressions: + azure-sdk-for-go: + - package: 'sdk/resourcemanager/network/armnetwork' + breaking-changes: + - Struct `FirewallPacketCaptureParametersFormat` has been removed + - Field `ID`, `Properties` of struct `FirewallPacketCaptureParameters` has been removed \ No newline at end of file diff --git a/specification/networkanalytics/NetworkAnalytics.Management/main.tsp b/specification/networkanalytics/NetworkAnalytics.Management/main.tsp index a7f74cb8338b..36853645c013 100644 --- a/specification/networkanalytics/NetworkAnalytics.Management/main.tsp +++ b/specification/networkanalytics/NetworkAnalytics.Management/main.tsp @@ -152,7 +152,7 @@ model DataProduct is TrackedResource { @maxLength(63) name: string; - ...ManagedServiceIdentityProperty; + ...Legacy.ManagedServiceIdentityV4Property; } @doc("The data product properties.") @@ -429,9 +429,9 @@ union DataProductUserRole { "Reader", @doc(""" -Field to specify user of type SensitiveReader. -This user has privileged access to read sensitive data of a data product. -""") + Field to specify user of type SensitiveReader. + This user has privileged access to read sensitive data of a data product. + """) "SensitiveReader", } @@ -531,8 +531,13 @@ interface DataProductsCatalogs { @added(Versions.v2023_11_15) @armResourceOperations interface DataTypes { + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("Create data type resource.") - create is ArmResourceCreateOrUpdateAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrUpdateAsync< + DataType, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("Retrieve data type resource.") get is ArmResourceRead; @@ -562,8 +567,13 @@ interface DataTypes { @added(Versions.v2023_11_15) @armResourceOperations interface DataProducts { + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @doc("Create data product resource.") - create is ArmResourceCreateOrUpdateAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrUpdateAsync< + DataProduct, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; @doc("Retrieve data product resource.") get is ArmResourceRead; diff --git a/specification/networkanalytics/resource-manager/Microsoft.NetworkAnalytics/stable/2023-11-15/networkanalytics.json b/specification/networkanalytics/resource-manager/Microsoft.NetworkAnalytics/stable/2023-11-15/networkanalytics.json index d778934dca55..d4505aa801b0 100644 --- a/specification/networkanalytics/resource-manager/Microsoft.NetworkAnalytics/stable/2023-11-15/networkanalytics.json +++ b/specification/networkanalytics/resource-manager/Microsoft.NetworkAnalytics/stable/2023-11-15/networkanalytics.json @@ -1607,11 +1607,7 @@ "properties": { "$ref": "#/definitions/DataProductProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "identity": { "$ref": "../../../../../common-types/resource-management/v4/managedidentity.json#/definitions/ManagedServiceIdentity", @@ -1990,11 +1986,7 @@ "properties": { "$ref": "#/definitions/DataProductsCatalogProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -2053,11 +2045,7 @@ "properties": { "$ref": "#/definitions/DataTypeProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/oracle/Oracle.Database/client.tsp b/specification/oracle/Oracle.Database/client.tsp new file mode 100644 index 000000000000..fbea85d30927 --- /dev/null +++ b/specification/oracle/Oracle.Database/client.tsp @@ -0,0 +1,6 @@ +import "./main.tsp"; +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; + +@@clientName(Oracle.Database, "OracleDatabaseMgmt", "python"); diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseBackup_create.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseBackup_create.json new file mode 100644 index 000000000000..b617d05794b5 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseBackup_create.json @@ -0,0 +1,71 @@ +{ + "operationId": "AutonomousDatabaseBackups_CreateOrUpdate", + "title": "AutonomousDatabaseBackups_CreateOrUpdate", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "adbbackupid": "1711644130", + "resource": { + "properties": { + "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq", + "displayName": "Nightly Backup", + "retentionPeriodInDays": 365 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1/autonomousDatabaseBackups/1711644130", + "type": "Oracle.Database/autonomousDatabases/autonomousDatabaseBackups", + "properties": { + "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq", + "databaseSizeInTbs": 2, + "dbVersion": "19.6.0.0", + "displayName": "Nightly Backup", + "ocid": "ocid1.autonomousdatabasebackup.oc1..aaaaaaaavwpj", + "isAutomatic": true, + "isRestorable": true, + "lifecycleDetails": "Backup completed successfully", + "lifecycleState": "Active", + "retentionPeriodInDays": 365, + "sizeInTbs": 2, + "timeAvailableTil": "2025-01-09T20:44:09.466Z", + "timeStarted": "2024-01-09T19:44:09.466Z", + "timeEnded": "2024-01-09T20:44:09.466Z", + "backupType": "Full", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "Retry-After": 100 + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1/autonomousDatabaseBackups/backupdb1", + "type": "Oracle.Database/autonomousDatabases/autonomousDatabaseBackups", + "properties": { + "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq", + "databaseSizeInTbs": 2, + "dbVersion": "19.6.0.0", + "displayName": "Nightly Backup", + "ocid": "ocid1.autonomousdatabasebackup.oc1..aaaaaaaavwpj", + "isAutomatic": true, + "isRestorable": true, + "lifecycleDetails": "Backup completed successfully", + "lifecycleState": "Active", + "retentionPeriodInDays": 365, + "sizeInTbs": 2, + "timeAvailableTil": "2025-01-09T20:44:09.466Z", + "timeStarted": "2024-01-09T19:44:09.466Z", + "timeEnded": "2024-01-09T20:44:09.466Z", + "backupType": "Full", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseBackup_delete.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseBackup_delete.json new file mode 100644 index 000000000000..c487d9e41ead --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseBackup_delete.json @@ -0,0 +1,20 @@ +{ + "operationId": "AutonomousDatabaseBackups_Delete", + "title": "AutonomousDatabaseBackups_Delete", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "adbbackupid": "1711644130" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 100, + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabaseBackups/1711644130/operationStatus" + } + }, + "204": {} + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseBackup_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseBackup_get.json new file mode 100644 index 000000000000..4668780cc4a7 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseBackup_get.json @@ -0,0 +1,37 @@ +{ + "operationId": "AutonomousDatabaseBackups_Get", + "title": "AutonomousDatabaseBackups_Get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "adbbackupid": "1711644130" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1/autonomousDatabaseBackups/1711644130", + "type": "Oracle.Database/autonomousDatabases/autonomousDatabaseBackups", + "properties": { + "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq", + "databaseSizeInTbs": 2, + "dbVersion": "19.6.0.0", + "displayName": "Nightly Backup", + "ocid": "ocid1.autonomousdatabasebackup.oc1..aaaaaaaavwpj", + "isAutomatic": true, + "isRestorable": true, + "lifecycleDetails": "Backup completed successfully", + "lifecycleState": "Active", + "retentionPeriodInDays": 365, + "sizeInTbs": 2, + "timeAvailableTil": "2025-01-09T20:44:09.466Z", + "timeStarted": "2024-01-09T19:44:09.466Z", + "timeEnded": "2024-01-09T20:44:09.466Z", + "backupType": "Full", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseBackup_listByParent.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseBackup_listByParent.json new file mode 100644 index 000000000000..41606b9bba9c --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseBackup_listByParent.json @@ -0,0 +1,40 @@ +{ + "operationId": "AutonomousDatabaseBackups_ListByAutonomousDatabase", + "title": "AutonomousDatabaseBackups_ListByAutonomousDatabase", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1/autonomousDatabaseBackups/1711644130", + "type": "Oracle.Database/autonomousDatabases/autonomousDatabaseBackups", + "properties": { + "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq", + "databaseSizeInTbs": 2, + "dbVersion": "19.6.0.0", + "displayName": "Nightly Backup", + "ocid": "ocid1.autonomousdatabasebackup.oc1..aaaaaaaavwpj", + "isAutomatic": true, + "isRestorable": true, + "lifecycleDetails": "Backup completed successfully", + "lifecycleState": "Active", + "retentionPeriodInDays": 365, + "sizeInTbs": 2, + "timeAvailableTil": "2025-01-09T20:44:09.466Z", + "timeEnded": "2024-01-09T20:44:09.466Z", + "backupType": "Full", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseBackup_patch.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseBackup_patch.json new file mode 100644 index 000000000000..e6d31dfb846f --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseBackup_patch.json @@ -0,0 +1,41 @@ +{ + "operationId": "AutonomousDatabaseBackups_Update", + "title": "AutonomousDatabaseBackups_Update", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "adbbackupid": "1711644130", + "properties": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1/autonomousDatabaseBackups/1711644130", + "type": "Oracle.Database/autonomousDatabases/autonomousDatabaseBackups", + "properties": { + "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq", + "databaseSizeInTbs": 2, + "dbVersion": "19.6.0.0", + "displayName": "Nightly Backup", + "ocid": "ocid1.autonomousdatabasebackup.oc1..aaaaaaaavwpj", + "isAutomatic": true, + "isRestorable": true, + "lifecycleDetails": "Backup updated successfully", + "lifecycleState": "Active", + "retentionPeriodInDays": 400, + "sizeInTbs": 2, + "backupType": "Full", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "Retry-After": 100, + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabaseBackups/1711644130/operationStatus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseCharacterSet_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseCharacterSet_get.json new file mode 100644 index 000000000000..f30cd9ff64ce --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseCharacterSet_get.json @@ -0,0 +1,21 @@ +{ + "operationId": "AutonomousDatabaseCharacterSets_get", + "title": "AutonomousDatabaseCharacterSets_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "adbscharsetname": "DATABASE" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDatabaseCharacterSets/DATABASE", + "type": "Oracle.Database/locations/autonomousDatabaseCharacterSets", + "properties": { + "characterSet": "AL32UTF8" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseCharacterSet_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseCharacterSet_listByLocation.json new file mode 100644 index 000000000000..80cbdfb6228e --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseCharacterSet_listByLocation.json @@ -0,0 +1,32 @@ +{ + "operationId": "AutonomousDatabaseCharacterSets_listByLocation", + "title": "AutonomousDatabaseCharacterSets_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDatabaseCharacterSets/DATABASE", + "type": "Oracle.Database/locations/autonomousDatabaseCharacterSets", + "properties": { + "characterSet": "AL32UTF8" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDatabaseCharacterSets/DATABASE", + "type": "Oracle.Database/locations/autonomousDatabaseCharacterSets", + "properties": { + "characterSet": "UTF8" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseClone_create.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseClone_create.json new file mode 100644 index 000000000000..64d4b41b863a --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseClone_create.json @@ -0,0 +1,141 @@ +{ + "operationId": "AutonomousDatabases_CreateOrUpdate", + "title": "AutonomousDatabases_CreateOrUpdate_clone", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "resource": { + "properties": { + "dataBaseType": "Clone", + "sourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "cloneType": "Full", + "displayName": "example_autonomous_databasedb1_clone", + "computeModel": "ECPU", + "computeCount": 2, + "dataStorageSizeInTbs": 1, + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "adminPassword": "********", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1" + }, + "location": "eastus", + "tags": { + "tagK1": "tagV1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1Clone", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "cloneType": "Full", + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Clone", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "sourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + }, + "201": { + "headers": { + "Retry-After": 100000000 + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1Clone", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "cloneType": "Full", + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Clone", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "sourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseNationalCharacterSet_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseNationalCharacterSet_get.json new file mode 100644 index 000000000000..b3fe4c27c91f --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseNationalCharacterSet_get.json @@ -0,0 +1,21 @@ +{ + "operationId": "AutonomousDatabaseNationalCharacterSets_get", + "title": "AutonomousDatabaseNationalCharacterSets_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "adbsncharsetname": "NATIONAL" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDatabaseNationalCharacterSets/NATIONAL", + "type": "Oracle.Database/locations/autonomousDatabaseNationalCharacterSets", + "properties": { + "characterSet": "AL16UTF16" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseNationalCharacterSet_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseNationalCharacterSet_listByLocation.json new file mode 100644 index 000000000000..a5985b92de4a --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseNationalCharacterSet_listByLocation.json @@ -0,0 +1,25 @@ +{ + "operationId": "AutonomousDatabaseNationalCharacterSets_listByLocation", + "title": "AutonomousDatabaseNationalCharacterSets_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDatabaseNationalCharacterSets/NATIONAL", + "type": "Oracle.Database/locations/autonomousDatabaseNationalCharacterSets", + "properties": { + "characterSet": "AL16UTF16" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseVersion_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseVersion_get.json new file mode 100644 index 000000000000..a7610dea57f8 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseVersion_get.json @@ -0,0 +1,21 @@ +{ + "operationId": "AutonomousDatabaseVersions_get", + "title": "AutonomousDatabaseVersions_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "autonomousdbversionsname": "18.4.0.0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDbVersions/18.4.0.0", + "type": "Oracle.Database/locations/autonomousDbVersions", + "properties": { + "version": "18.4.0.0" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseVersion_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseVersion_listByLocation.json new file mode 100644 index 000000000000..3b939976dbc5 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabaseVersion_listByLocation.json @@ -0,0 +1,25 @@ +{ + "operationId": "AutonomousDatabaseVersions_listByLocation", + "title": "AutonomousDatabaseVersions_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDbVersions/18.4.0.0", + "type": "Oracle.Database/locations/autonomousDbVersions", + "properties": { + "version": "18.4.0.0" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_create.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_create.json new file mode 100644 index 000000000000..e5f4afb3d2d0 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_create.json @@ -0,0 +1,136 @@ +{ + "operationId": "AutonomousDatabases_CreateOrUpdate", + "title": "AutonomousDatabases_CreateOrUpdate", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "resource": { + "properties": { + "dataBaseType": "Regular", + "displayName": "example_autonomous_databasedb1", + "computeModel": "ECPU", + "computeCount": 2, + "dataStorageSizeInTbs": 1, + "adminPassword": "********", + "dbVersion": "18.4.0.0", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1" + }, + "location": "eastus", + "tags": { + "tagK1": "tagV1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + }, + "201": { + "headers": { + "Retry-After": 100000000 + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_delete.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_delete.json new file mode 100644 index 000000000000..86a9c08c1bd8 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_delete.json @@ -0,0 +1,19 @@ +{ + "operationId": "AutonomousDatabases_delete", + "title": "AutonomousDatabases_delete", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + }, + "204": {} + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_failover.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_failover.json new file mode 100644 index 000000000000..e01e6b398b80 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_failover.json @@ -0,0 +1,90 @@ +{ + "operationId": "AutonomousDatabases_Failover", + "title": "AutonomousDatabases_Failover", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "body": { + "peerDbId": "peerDbId" + }, + "tags": { + "tagK1": "tagV1" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "failedDataRecoveryInSeconds": null, + "isLocalDataGuardEnabled": true, + "timeLocalDataGuardEnabled": "2024-02-28T19:03:43.714Z", + "localDisasterRecoveryType": "Adg", + "localAdgAutoFailoverMaxDataLossLimit": 300, + "role": "Primary", + "peerDbIds": null, + "localStandbyDb": { + "lagTimeInSeconds": null, + "lifecycleDetails": null, + "lifecycleState": "RoleChangeInProgress", + "timeDataGuardRoleChanged": null, + "timeDisasterRecoveryRoleChanged": null + }, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Updating", + "lifecycleDetails": null, + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Provisioning", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeOfLastFailover": null, + "timeOfLastSwitchover": null, + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_generateWallet.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_generateWallet.json new file mode 100644 index 000000000000..832ac5442248 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_generateWallet.json @@ -0,0 +1,25 @@ +{ + "operationId": "AutonomousDatabases_generateWallet", + "title": "AutonomousDatabases_generateWallet", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "body": { + "generateType": "Single", + "isRegional": false, + "password": "********" + }, + "tags": { + "tagK1": "tagV1" + } + }, + "responses": { + "200": { + "body": { + "walletFiles": "testEncodedFiles" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_get.json new file mode 100644 index 000000000000..b2c0360b3325 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_get.json @@ -0,0 +1,63 @@ +{ + "operationId": "AutonomousDatabases_Get", + "title": "AutonomousDatabases_Get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_listByResourceGroup.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_listByResourceGroup.json new file mode 100644 index 000000000000..c2d79a608283 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_listByResourceGroup.json @@ -0,0 +1,67 @@ +{ + "operationId": "AutonomousDatabases_listByResourceGroup", + "title": "AutonomousDatabases_listByResourceGroup", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_listBySubscription.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_listBySubscription.json new file mode 100644 index 000000000000..053f44f7c3b4 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_listBySubscription.json @@ -0,0 +1,66 @@ +{ + "operationId": "AutonomousDatabases_listBySubscription", + "title": "AutonomousDatabases_listBySubscription", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_patch.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_patch.json new file mode 100644 index 000000000000..78d378bddf6e --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_patch.json @@ -0,0 +1,73 @@ +{ + "operationId": "AutonomousDatabases_update", + "title": "AutonomousDatabases_update", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "properties": {}, + "tags": { + "tagK1": "tagV1" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_restore.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_restore.json new file mode 100644 index 000000000000..ded132edc05c --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_restore.json @@ -0,0 +1,80 @@ +{ + "operationId": "AutonomousDatabases_Restore", + "title": "AutonomousDatabases_Restore", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "body": { + "timestamp": "2024-04-23T00:00:00.000Z" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "backupRetentionPeriodInDays": 60, + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "RestoreInProgress", + "lifecycleDetails": "", + "nextLongTermBackupTimeStamp": "2024-04-24T21:03:41.000Z", + "longTermBackupSchedule": { + "isDisabled": null, + "repeatCadence": "Weekly", + "retentionPeriodInDays": 365, + "timeOfBackup": "2024-04-21T21:03:41.309Z" + }, + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + }, + "202": { + "headers": { + "Retry-After": 100, + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabaseBackups/1711644130/operationStatus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_shrink.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_shrink.json new file mode 100644 index 000000000000..98f110a7cbb1 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_shrink.json @@ -0,0 +1,77 @@ +{ + "operationId": "AutonomousDatabase_shrink", + "title": "AutonomousDatabase_shrink", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "backupRetentionPeriodInDays": 90, + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "ScaleInProgress", + "lifecycleDetails": "", + "nextLongTermBackupTimeStamp": "2024-04-24T21:03:41.000Z", + "longTermBackupSchedule": { + "isDisabled": null, + "repeatCadence": "Weekly", + "retentionPeriodInDays": 365, + "timeOfBackup": "2024-04-21T21:03:41.309Z" + }, + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + }, + "202": { + "headers": { + "Retry-After": 100, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_switchover.json b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_switchover.json new file mode 100644 index 000000000000..dcf77e07bb1f --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/autonomousDatabase_switchover.json @@ -0,0 +1,89 @@ +{ + "operationId": "AutonomousDatabases_Switchover", + "title": "AutonomousDatabases_Switchover", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "body": { + "peerDbId": "peerDbId" + }, + "tags": { + "tagK1": "tagV1" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "failedDataRecoveryInSeconds": null, + "isLocalDataGuardEnabled": false, + "localDisasterRecoveryType": "BackupBased", + "localAdgAutoFailoverMaxDataLossLimit": null, + "role": "Primary", + "peerDbIds": null, + "localStandbyDb": { + "lagTimeInSeconds": null, + "lifecycleDetails": null, + "lifecycleState": "RoleChangeInProgress", + "timeDataGuardRoleChanged": null, + "timeDisasterRecoveryRoleChanged": null + }, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Updating", + "lifecycleDetails": null, + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Provisioning", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeOfLastFailover": null, + "timeOfLastSwitchover": "2024-02-27T18:37:08.069Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/dbNodes_action.json b/specification/oracle/Oracle.Database/examples/2023-09-01/dbNodes_action.json new file mode 100644 index 000000000000..4caeab5517c5 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/dbNodes_action.json @@ -0,0 +1,50 @@ +{ + "operationId": "DbNodes_Action", + "title": "DbNodes_Action", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "dbnodeocid": "ocid1....aaaaaa", + "body": { + "action": "Start" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/dbNodes/ocid1", + "type": "Oracle.Database/cloudVmClusters/dbNodes", + "properties": { + "ocid": "ocid.dbNodes.1", + "backupIpId": "id1", + "backupVnic2Id": "id1", + "backupVnicId": "id1", + "cpuCoreCount": 1000, + "dbNodeStorageSizeInGbs": 500, + "dbServerId": "dbserver1", + "dbSystemId": "db1", + "faultDomain": "domain1", + "hostIpId": "10.0.0.0", + "hostname": "host1", + "provisioningState": "Succeeded", + "maintenanceType": "VmdbRebootMigration", + "memorySizeInGbs": 100, + "softwareStorageSizeInGb": 1000, + "timeCreated": "2023-10-21T13:44:04.924Z", + "timeMaintenanceWindowEnd": "2023-10-21T13:44:04.924Z", + "timeMaintenanceWindowStart": "2023-10-21T13:44:04.924Z", + "vnic2Id": "ocid.vnic.id2", + "vnicId": "ocid.vnic.id1" + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/dbNodes_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/dbNodes_get.json new file mode 100644 index 000000000000..f0bca3e58565 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/dbNodes_get.json @@ -0,0 +1,41 @@ +{ + "operationId": "DbNodes_get", + "title": "DbNodes_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "dbnodeocid": "ocid1....aaaaaa" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/dbNodes/ocid1", + "type": "Oracle.Database/cloudVmClusters/dbNodes", + "properties": { + "ocid": "ocid.dbNodes.1", + "backupIpId": "id1", + "backupVnic2Id": "id1", + "backupVnicId": "id1", + "cpuCoreCount": 1000, + "dbNodeStorageSizeInGbs": 500, + "dbServerId": "dbserver1", + "dbSystemId": "db1", + "faultDomain": "domain1", + "hostIpId": "10.0.0.0", + "hostname": "host1", + "lifecycleState": "Available", + "maintenanceType": "VmdbRebootMigration", + "memorySizeInGbs": 100, + "softwareStorageSizeInGb": 1000, + "timeCreated": "2023-10-21T13:44:04.924Z", + "timeMaintenanceWindowEnd": "2023-10-21T13:44:04.924Z", + "timeMaintenanceWindowStart": "2023-10-21T13:44:04.924Z", + "vnic2Id": "ocid.vnic.id2", + "vnicId": "ocid.vnic.id1" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/dbNodes_listByParent.json b/specification/oracle/Oracle.Database/examples/2023-09-01/dbNodes_listByParent.json new file mode 100644 index 000000000000..60d45307e509 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/dbNodes_listByParent.json @@ -0,0 +1,45 @@ +{ + "operationId": "DbNodes_listByParent", + "title": "DbNodes_listByParent", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/dbNodes/ocid1", + "type": "Oracle.Database/cloudVmClusters/dbNodes", + "properties": { + "ocid": "ocid.dbNodes.1", + "backupIpId": "id1", + "backupVnic2Id": "id1", + "backupVnicId": "id1", + "cpuCoreCount": 1000, + "dbNodeStorageSizeInGbs": 500, + "dbServerId": "dbserver1", + "dbSystemId": "db1", + "faultDomain": "domain1", + "hostIpId": "10.0.0.0", + "hostname": "host1", + "lifecycleState": "Available", + "maintenanceType": "VmdbRebootMigration", + "memorySizeInGbs": 100, + "softwareStorageSizeInGb": 1000, + "timeCreated": "2023-10-21T13:44:04.924Z", + "timeMaintenanceWindowEnd": "2023-10-21T13:44:04.924Z", + "timeMaintenanceWindowStart": "2023-10-21T13:44:04.924Z", + "vnic2Id": "ocid.vnic.id2", + "vnicId": "ocid.vnic.id1" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/dbServers_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/dbServers_get.json new file mode 100644 index 000000000000..acb905ed1610 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/dbServers_get.json @@ -0,0 +1,42 @@ +{ + "operationId": "DbServers_get", + "title": "DbServers_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudexadatainfrastructurename": "infra1", + "dbserverocid": "ocid1....aaaaaa" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1/dbServers/ocid1", + "type": "Oracle.Database/cloudVmClusters/dbServers", + "properties": { + "ocid": "ocid1", + "displayName": "dbserver1", + "compartmentId": "ocid1....aaaa", + "exadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "cpuCoreCount": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 150, + "vmClusterIds": [ + "ocid1..aaaaa" + ], + "dbNodeIds": [ + "ocid1..aaaaa" + ], + "lifecycleState": "Available", + "maxCpuCount": 1000, + "autonomousVmClusterIds": [ + "ocid1..aaaaa" + ], + "autonomousVirtualMachineIds": [ + "ocid1..aaaaa" + ] + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/dbServers_listByParent.json b/specification/oracle/Oracle.Database/examples/2023-09-01/dbServers_listByParent.json new file mode 100644 index 000000000000..ed3d7f23cf66 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/dbServers_listByParent.json @@ -0,0 +1,46 @@ +{ + "operationId": "DbServers_listByCloudExadataInfrastructure", + "title": "DbServers_listByCloudExadataInfrastructure", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudexadatainfrastructurename": "infra1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1/dbServers/ocid1", + "type": "Oracle.Database/cloudVmClusters/dbServers", + "properties": { + "ocid": "ocid1", + "displayName": "dbserver1", + "compartmentId": "ocid1....aaaa", + "exadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "cpuCoreCount": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 150, + "vmClusterIds": [ + "ocid1..aaaaa" + ], + "dbNodeIds": [ + "ocid1..aaaaa" + ], + "lifecycleState": "Available", + "maxCpuCount": 1000, + "autonomousVmClusterIds": [ + "ocid1..aaaaa" + ], + "autonomousVirtualMachineIds": [ + "ocid1..aaaaa" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/dbSystemShapes_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/dbSystemShapes_get.json new file mode 100644 index 000000000000..aa2a346f2b58 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/dbSystemShapes_get.json @@ -0,0 +1,40 @@ +{ + "operationId": "DbSystemShapes_get", + "title": "DbSystemShapes_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "dbsystemshapename": "EXADATA.X9M" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dbSystemShapes/EXADATA.X9M", + "type": "Oracle.Database/locations/dbSystemShapes", + "properties": { + "shapeFamily": "EXADATA", + "availableCoreCount": 100, + "minimumCoreCount": 1, + "runtimeMinimumCoreCount": 1, + "coreCountIncrement": 1, + "minStorageCount": 0, + "maxStorageCount": 100, + "availableDataStoragePerServerInTbs": 100, + "availableMemoryPerNodeInGbs": 10, + "availableDbNodePerNodeInGbs": 10, + "minCoreCountPerNode": 0, + "availableMemoryInGbs": 10, + "minMemoryPerNodeInGbs": 0, + "availableDbNodeStorageInGbs": 10, + "minDbNodeStoragePerNodeInGbs": 0, + "availableDataStorageInTbs": 10, + "minDataStorageInTbs": 0, + "minimumNodeCount": 0, + "maximumNodeCount": 1000, + "availableCoreCountPerNode": 1000 + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/dbSystemShapes_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01/dbSystemShapes_listByLocation.json new file mode 100644 index 000000000000..f0a2f67db6ad --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/dbSystemShapes_listByLocation.json @@ -0,0 +1,44 @@ +{ + "operationId": "DbSystemShapes_listByLocation", + "title": "DbSystemShapes_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dbSystemShapes/EXADATA.X9M", + "type": "Oracle.Database/locations/dbSystemShapes", + "properties": { + "shapeFamily": "EXADATA", + "availableCoreCount": 100, + "minimumCoreCount": 1, + "runtimeMinimumCoreCount": 1, + "coreCountIncrement": 1, + "minStorageCount": 0, + "maxStorageCount": 100, + "availableDataStoragePerServerInTbs": 100, + "availableMemoryPerNodeInGbs": 10, + "availableDbNodePerNodeInGbs": 10, + "minCoreCountPerNode": 0, + "availableMemoryInGbs": 10, + "minMemoryPerNodeInGbs": 0, + "availableDbNodeStorageInGbs": 10, + "minDbNodeStoragePerNodeInGbs": 0, + "availableDataStorageInTbs": 10, + "minDataStorageInTbs": 0, + "minimumNodeCount": 0, + "maximumNodeCount": 1000, + "availableCoreCountPerNode": 1000 + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/dnsPrivateViews_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/dnsPrivateViews_get.json new file mode 100644 index 000000000000..db465960e008 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/dnsPrivateViews_get.json @@ -0,0 +1,27 @@ +{ + "operationId": "DnsPrivateViews_get", + "title": "DnsPrivateViews_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "dnsprivateviewocid": "ocid1....aaaaaa" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateViews/ocid1....aaaaaa", + "type": "Oracle.Database/locations/dnsPrivateViews", + "properties": { + "ocid": "ocid1....aaaaaa", + "displayName": "example-dns-private-view", + "isProtected": false, + "lifecycleState": "Active", + "self": "https://api.example.com/your-dns-private-view", + "timeCreated": "2023-10-26T12:34:56Z", + "timeUpdated": "2023-10-26T14:00:00Z" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/dnsPrivateViews_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01/dnsPrivateViews_listByLocation.json new file mode 100644 index 000000000000..dc07b372c4fc --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/dnsPrivateViews_listByLocation.json @@ -0,0 +1,44 @@ +{ + "operationId": "DnsPrivateViews_listByLocation", + "title": "DnsPrivateViews_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateViews/ocid1....aaaaaa", + "type": "Oracle.Database/locations/dnsPrivateViews", + "properties": { + "ocid": "ocid1....aaaaaa", + "displayName": "example-dns-private-view1", + "isProtected": false, + "lifecycleState": "Active", + "self": "https://api.example.com/view1", + "timeCreated": "2023-10-26T12:34:56Z", + "timeUpdated": "2023-10-26T14:00:00Z" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateViews/ocid1....aaaaab", + "type": "Oracle.Database/locations/dnsPrivateViews", + "properties": { + "ocid": "ocid1....aaaaab", + "displayName": "example-dns-private-view2", + "isProtected": true, + "lifecycleState": "Creating", + "self": "https://api.example.com/view2", + "timeCreated": "2023-10-27T09:45:00Z", + "timeUpdated": "2023-10-27T10:30:00Z" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/dnsPrivateZones_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/dnsPrivateZones_get.json new file mode 100644 index 000000000000..5ac3bf72823b --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/dnsPrivateZones_get.json @@ -0,0 +1,29 @@ +{ + "operationId": "DnsPrivateZones_get", + "title": "DnsPrivateZones_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "dnsprivatezonename": "example-dns-private-zone" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateZones/example-dns-private-zone", + "type": "Oracle.Database/locations/dnsPrivateZones", + "properties": { + "ocid": "your-zone-id", + "isProtected": false, + "lifecycleState": "Active", + "self": "https://api.example.com/your-dns-private-zone", + "serial": 12345, + "version": "1.0.0.0", + "viewId": "your-view-id", + "zoneType": "Primary", + "timeCreated": "2023-10-26T12:34:56Z" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/dnsPrivateZones_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01/dnsPrivateZones_listByLocation.json new file mode 100644 index 000000000000..66d8c458756e --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/dnsPrivateZones_listByLocation.json @@ -0,0 +1,48 @@ +{ + "operationId": "DnsPrivateZones_listByLocation", + "title": "DnsPrivateZones_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateZones/zone1", + "type": "Oracle.Database/locations/dnsPrivateZones", + "properties": { + "ocid": "zone-id-1", + "isProtected": false, + "lifecycleState": "Active", + "self": "https://api.example.com/zone1", + "serial": 12345, + "version": "1.0.0.0", + "viewId": "view-id-1", + "zoneType": "Primary", + "timeCreated": "2023-10-26T12:34:56Z" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateZones/zone2", + "type": "Oracle.Database/locations/dnsPrivateZones", + "properties": { + "ocid": "zone-id-2", + "isProtected": true, + "lifecycleState": "Creating", + "self": "https://api.example.com/zone2", + "serial": 54321, + "version": "2.0.0.0", + "viewId": "view-id-2", + "zoneType": "Secondary", + "timeCreated": "2023-10-27T09:45:00Z" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_addStorageCapacity.json b/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_addStorageCapacity.json new file mode 100644 index 000000000000..851ab418998f --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_addStorageCapacity.json @@ -0,0 +1,95 @@ +{ + "operationId": "CloudExadataInfrastructures_addStorageCapacity", + "title": "CloudExadataInfrastructures_addStorageCapacity", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudexadatainfrastructurename": "infra1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaaaa", + "computeCount": 100, + "storageCount": 10, + "totalStorageSizeInGbs": 1000, + "availableStorageSizeInGbs": 1000, + "timeCreated": "2023-02-01T01:01:00", + "lifecycleDetails": "none", + "maintenanceWindow": { + "preference": "NoPreference", + "months": [ + { + "name": "January" + } + ], + "weeksOfMonth": [ + 0 + ], + "daysOfWeek": [ + { + "name": "Monday" + } + ], + "hoursOfDay": [ + 0 + ], + "leadTimeInWeeks": 0, + "patchingMode": "Rolling", + "customActionTimeoutInMins": 120, + "isCustomActionTimeoutEnabled": true, + "isMonthlyPatchingEnabled": true + }, + "estimatedPatchingTime": { + "estimatedDbServerPatchingTime": 3000, + "estimatedNetworkSwitchesPatchingTime": 3000, + "estimatedStorageServerPatchingTime": 3000, + "totalEstimatedPatchingTime": 3000 + }, + "customerContacts": [ + { + "email": "noreply@oracle.com" + } + ], + "provisioningState": "Succeeded", + "shape": "EXADATA.X9M", + "ociUrl": "https://url", + "cpuCount": 10, + "maxCpuCount": 100, + "memorySizeInGbs": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 10, + "maxDbNodeStorageSizeInGbs": 10, + "dataStorageSizeInTbs": 10, + "maxDataStorageInTbs": 1000, + "dbServerVersion": "19.0.0.0", + "storageServerVersion": "0.0", + "activatedStorageCount": 1, + "additionalStorageCount": 1, + "displayName": "infra 1", + "lastMaintenanceRunId": "ocid1..aaaaa", + "nextMaintenanceRunId": "ocid1..aaaaaa", + "monthlyDbServerVersion": "aaaa", + "monthlyStorageServerVersion": "aaaa" + }, + "zones": [ + "1" + ] + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_create.json b/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_create.json new file mode 100644 index 000000000000..1da15945c65f --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_create.json @@ -0,0 +1,184 @@ +{ + "operationId": "CloudExadataInfrastructures_createOrUpdate", + "title": "CloudExadataInfrastructures_createOrUpdate", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudexadatainfrastructurename": "infra1", + "resource": { + "properties": { + "computeCount": 100, + "storageCount": 10, + "shape": "EXADATA.X9M", + "displayName": "infra 1" + }, + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "zones": [ + "1" + ] + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaaaa", + "computeCount": 100, + "storageCount": 10, + "totalStorageSizeInGbs": 1000, + "availableStorageSizeInGbs": 1000, + "timeCreated": "2023-02-01T01:01:00", + "lifecycleDetails": "none", + "maintenanceWindow": { + "preference": "NoPreference", + "months": [ + { + "name": "January" + } + ], + "weeksOfMonth": [ + 0 + ], + "daysOfWeek": [ + { + "name": "Monday" + } + ], + "hoursOfDay": [ + 0 + ], + "leadTimeInWeeks": 0, + "patchingMode": "Rolling", + "customActionTimeoutInMins": 120, + "isCustomActionTimeoutEnabled": true, + "isMonthlyPatchingEnabled": true + }, + "estimatedPatchingTime": { + "estimatedDbServerPatchingTime": 3000, + "estimatedNetworkSwitchesPatchingTime": 3000, + "estimatedStorageServerPatchingTime": 3000, + "totalEstimatedPatchingTime": 3000 + }, + "customerContacts": [ + { + "email": "noreply@oracle.com" + } + ], + "provisioningState": "Succeeded", + "shape": "EXADATA.X9M", + "ociUrl": "https://url", + "cpuCount": 10, + "maxCpuCount": 100, + "memorySizeInGbs": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 10, + "maxDbNodeStorageSizeInGbs": 10, + "dataStorageSizeInTbs": 10, + "maxDataStorageInTbs": 1000, + "dbServerVersion": "19.0.0.0", + "storageServerVersion": "0.0", + "activatedStorageCount": 1, + "additionalStorageCount": 1, + "displayName": "infra 1", + "lastMaintenanceRunId": "ocid1..aaaaa", + "nextMaintenanceRunId": "ocid1..aaaaaa", + "monthlyDbServerVersion": "aaaa", + "monthlyStorageServerVersion": "aaaa" + }, + "zones": [ + "1" + ] + } + }, + "201": { + "headers": { + "Retry-After": 100000000 + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaaaa", + "computeCount": 100, + "storageCount": 10, + "totalStorageSizeInGbs": 1000, + "availableStorageSizeInGbs": 1000, + "timeCreated": "2023-02-01T01:01:00", + "lifecycleDetails": "none", + "maintenanceWindow": { + "preference": "NoPreference", + "months": [ + { + "name": "January" + } + ], + "weeksOfMonth": [ + 0 + ], + "daysOfWeek": [ + { + "name": "Monday" + } + ], + "hoursOfDay": [ + 0 + ], + "leadTimeInWeeks": 0, + "patchingMode": "Rolling", + "customActionTimeoutInMins": 120, + "isCustomActionTimeoutEnabled": true, + "isMonthlyPatchingEnabled": true + }, + "estimatedPatchingTime": { + "estimatedDbServerPatchingTime": 3000, + "estimatedNetworkSwitchesPatchingTime": 3000, + "estimatedStorageServerPatchingTime": 3000, + "totalEstimatedPatchingTime": 3000 + }, + "customerContacts": [ + { + "email": "noreply@oracle.com" + } + ], + "provisioningState": "Succeeded", + "shape": "EXADATA.X9M", + "ociUrl": "https://url", + "cpuCount": 10, + "maxCpuCount": 100, + "memorySizeInGbs": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 10, + "maxDbNodeStorageSizeInGbs": 10, + "dataStorageSizeInTbs": 10, + "maxDataStorageInTbs": 1000, + "dbServerVersion": "19.0.0.0", + "storageServerVersion": "0.0", + "activatedStorageCount": 1, + "additionalStorageCount": 1, + "displayName": "infra 1", + "lastMaintenanceRunId": "ocid1..aaaaa", + "nextMaintenanceRunId": "ocid1..aaaaaa", + "monthlyDbServerVersion": "aaaa", + "monthlyStorageServerVersion": "aaaa" + }, + "zones": [ + "1" + ] + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_delete.json b/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_delete.json new file mode 100644 index 000000000000..b119f726a165 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_delete.json @@ -0,0 +1,19 @@ +{ + "operationId": "CloudExadataInfrastructures_delete", + "title": "CloudExadataInfrastructures_delete", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudexadatainfrastructurename": "infra1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + }, + "204": {} + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_get.json new file mode 100644 index 000000000000..96e2654c3431 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_get.json @@ -0,0 +1,89 @@ +{ + "operationId": "CloudExadataInfrastructures_get", + "title": "CloudExadataInfrastructures_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudexadatainfrastructurename": "infra1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaaaa", + "computeCount": 100, + "storageCount": 10, + "totalStorageSizeInGbs": 1000, + "availableStorageSizeInGbs": 1000, + "timeCreated": "2023-02-01T01:01:00", + "lifecycleDetails": "none", + "maintenanceWindow": { + "preference": "NoPreference", + "months": [ + { + "name": "January" + } + ], + "weeksOfMonth": [ + 0 + ], + "daysOfWeek": [ + { + "name": "Monday" + } + ], + "hoursOfDay": [ + 0 + ], + "leadTimeInWeeks": 0, + "patchingMode": "Rolling", + "customActionTimeoutInMins": 120, + "isCustomActionTimeoutEnabled": true, + "isMonthlyPatchingEnabled": true + }, + "estimatedPatchingTime": { + "estimatedDbServerPatchingTime": 3000, + "estimatedNetworkSwitchesPatchingTime": 3000, + "estimatedStorageServerPatchingTime": 3000, + "totalEstimatedPatchingTime": 3000 + }, + "customerContacts": [ + { + "email": "noreply@oracle.com" + } + ], + "provisioningState": "Succeeded", + "shape": "EXADATA.X9M", + "ociUrl": "https://url", + "cpuCount": 10, + "maxCpuCount": 100, + "memorySizeInGbs": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 10, + "maxDbNodeStorageSizeInGbs": 10, + "dataStorageSizeInTbs": 10, + "maxDataStorageInTbs": 1000, + "dbServerVersion": "19.0.0.0", + "storageServerVersion": "0.0", + "activatedStorageCount": 1, + "additionalStorageCount": 1, + "displayName": "infra 1", + "lastMaintenanceRunId": "ocid1..aaaaa", + "nextMaintenanceRunId": "ocid1..aaaaaa", + "monthlyDbServerVersion": "aaaa", + "monthlyStorageServerVersion": "aaaa" + }, + "zones": [ + "1" + ] + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_listByResourceGroup.json b/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_listByResourceGroup.json new file mode 100644 index 000000000000..7d7d55d0dfcb --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_listByResourceGroup.json @@ -0,0 +1,93 @@ +{ + "operationId": "CloudExadataInfrastructures_listByResourceGroup", + "title": "CloudExadataInfrastructures_listByResourceGroup", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaaaa", + "computeCount": 100, + "storageCount": 10, + "totalStorageSizeInGbs": 1000, + "availableStorageSizeInGbs": 1000, + "timeCreated": "2023-02-01T01:01:00", + "lifecycleDetails": "none", + "maintenanceWindow": { + "preference": "NoPreference", + "months": [ + { + "name": "January" + } + ], + "weeksOfMonth": [ + 0 + ], + "daysOfWeek": [ + { + "name": "Monday" + } + ], + "hoursOfDay": [ + 0 + ], + "leadTimeInWeeks": 0, + "patchingMode": "Rolling", + "customActionTimeoutInMins": 120, + "isCustomActionTimeoutEnabled": true, + "isMonthlyPatchingEnabled": true + }, + "estimatedPatchingTime": { + "estimatedDbServerPatchingTime": 3000, + "estimatedNetworkSwitchesPatchingTime": 3000, + "estimatedStorageServerPatchingTime": 3000, + "totalEstimatedPatchingTime": 3000 + }, + "customerContacts": [ + { + "email": "noreply@oracle.com" + } + ], + "provisioningState": "Succeeded", + "shape": "EXADATA.X9M", + "ociUrl": "https://url", + "cpuCount": 10, + "maxCpuCount": 100, + "memorySizeInGbs": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 10, + "maxDbNodeStorageSizeInGbs": 10, + "dataStorageSizeInTbs": 10, + "maxDataStorageInTbs": 1000, + "dbServerVersion": "19.0.0.0", + "storageServerVersion": "0.0", + "activatedStorageCount": 1, + "additionalStorageCount": 1, + "displayName": "infra 1", + "lastMaintenanceRunId": "ocid1..aaaaa", + "nextMaintenanceRunId": "ocid1..aaaaaa", + "monthlyDbServerVersion": "aaaa", + "monthlyStorageServerVersion": "aaaa" + }, + "zones": [ + "1" + ] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_listBySubscription.json b/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_listBySubscription.json new file mode 100644 index 000000000000..f07600a26b95 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_listBySubscription.json @@ -0,0 +1,92 @@ +{ + "operationId": "CloudExadataInfrastructures_listBySubscription", + "title": "CloudExadataInfrastructures_listBySubscription", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaaaa", + "computeCount": 100, + "storageCount": 10, + "totalStorageSizeInGbs": 1000, + "availableStorageSizeInGbs": 1000, + "timeCreated": "2023-02-01T01:01:00", + "lifecycleDetails": "none", + "maintenanceWindow": { + "preference": "NoPreference", + "months": [ + { + "name": "January" + } + ], + "weeksOfMonth": [ + 0 + ], + "daysOfWeek": [ + { + "name": "Monday" + } + ], + "hoursOfDay": [ + 0 + ], + "leadTimeInWeeks": 0, + "patchingMode": "Rolling", + "customActionTimeoutInMins": 120, + "isCustomActionTimeoutEnabled": true, + "isMonthlyPatchingEnabled": true + }, + "estimatedPatchingTime": { + "estimatedDbServerPatchingTime": 3000, + "estimatedNetworkSwitchesPatchingTime": 3000, + "estimatedStorageServerPatchingTime": 3000, + "totalEstimatedPatchingTime": 3000 + }, + "customerContacts": [ + { + "email": "noreply@oracle.com" + } + ], + "provisioningState": "Succeeded", + "shape": "EXADATA.X9M", + "ociUrl": "https://url", + "cpuCount": 10, + "maxCpuCount": 100, + "memorySizeInGbs": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 10, + "maxDbNodeStorageSizeInGbs": 10, + "dataStorageSizeInTbs": 10, + "maxDataStorageInTbs": 1000, + "dbServerVersion": "19.0.0.0", + "storageServerVersion": "0.0", + "activatedStorageCount": 1, + "additionalStorageCount": 1, + "displayName": "infra 1", + "lastMaintenanceRunId": "ocid1..aaaaa", + "nextMaintenanceRunId": "ocid1..aaaaaa", + "monthlyDbServerVersion": "aaaa", + "monthlyStorageServerVersion": "aaaa" + }, + "zones": [ + "1" + ] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_patch.json b/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_patch.json new file mode 100644 index 000000000000..48e64b7089cb --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/exaInfra_patch.json @@ -0,0 +1,102 @@ +{ + "operationId": "CloudExadataInfrastructures_update", + "title": "CloudExadataInfrastructures_update", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudexadatainfrastructurename": "infra1", + "properties": {}, + "tags": { + "tagK1": "tagV1" + }, + "zones": [ + "1" + ] + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaaaa", + "computeCount": 100, + "storageCount": 10, + "totalStorageSizeInGbs": 1000, + "availableStorageSizeInGbs": 1000, + "timeCreated": "2023-02-01T01:01:00", + "lifecycleDetails": "none", + "maintenanceWindow": { + "preference": "NoPreference", + "months": [ + { + "name": "January" + } + ], + "weeksOfMonth": [ + 0 + ], + "daysOfWeek": [ + { + "name": "Monday" + } + ], + "hoursOfDay": [ + 0 + ], + "leadTimeInWeeks": 0, + "patchingMode": "Rolling", + "customActionTimeoutInMins": 120, + "isCustomActionTimeoutEnabled": true, + "isMonthlyPatchingEnabled": true + }, + "estimatedPatchingTime": { + "estimatedDbServerPatchingTime": 3000, + "estimatedNetworkSwitchesPatchingTime": 3000, + "estimatedStorageServerPatchingTime": 3000, + "totalEstimatedPatchingTime": 3000 + }, + "customerContacts": [ + { + "email": "noreply@oracle.com" + } + ], + "provisioningState": "Succeeded", + "shape": "EXADATA.X9M", + "ociUrl": "https://url", + "cpuCount": 10, + "maxCpuCount": 100, + "memorySizeInGbs": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 10, + "maxDbNodeStorageSizeInGbs": 10, + "dataStorageSizeInTbs": 10, + "maxDataStorageInTbs": 1000, + "dbServerVersion": "19.0.0.0", + "storageServerVersion": "0.0", + "activatedStorageCount": 1, + "additionalStorageCount": 1, + "displayName": "infra 1", + "lastMaintenanceRunId": "ocid1..aaaaa", + "nextMaintenanceRunId": "ocid1..aaaaaa", + "monthlyDbServerVersion": "aaaa", + "monthlyStorageServerVersion": "aaaa" + }, + "zones": [ + "1" + ] + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/giVersions_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/giVersions_get.json new file mode 100644 index 000000000000..01248923f6f5 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/giVersions_get.json @@ -0,0 +1,21 @@ +{ + "operationId": "GiVersions_get", + "title": "GiVersions_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "giversionname": "19.0.0.0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/giVersions/19.0.0.0", + "type": "Oracle.Database/locations/giVersions", + "properties": { + "version": "19.0.0.0" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/giVersions_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01/giVersions_listByLocation.json new file mode 100644 index 000000000000..b866dca835c9 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/giVersions_listByLocation.json @@ -0,0 +1,25 @@ +{ + "operationId": "GiVersions_listByLocation", + "title": "GiVersions_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/giVersions/19.0.0.0", + "type": "Oracle.Database/locations/giVersions", + "properties": { + "version": "19.0.0.0" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/operations_list.json b/specification/oracle/Oracle.Database/examples/2023-09-01/operations_list.json new file mode 100644 index 000000000000..d927ae8962fc --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/operations_list.json @@ -0,0 +1,25 @@ +{ + "operationId": "Operations_list", + "title": "Operations_list", + "parameters": { + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Oracle.Database/cloudExadataInfrastructures/Read", + "isDataAction": false, + "display": { + "provider": "Oracle.Database", + "resource": "cloudExadataInfrastructures", + "operation": "Get/list Exadata Infrastructure resources", + "description": "Reads Exadata Infrastructure" + } + } + ] + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_create.json b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_create.json new file mode 100644 index 000000000000..394635d7479b --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_create.json @@ -0,0 +1,56 @@ +{ + "operationId": "OracleSubscriptions_createOrUpdate", + "title": "OracleSubscriptions_createOrUpdate", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resource": { + "properties": {}, + "plan": { + "name": "plan1", + "publisher": "publisher1", + "product": "product1", + "promotionCode": "none", + "version": "alpha" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/oracleSubscriptions/default", + "type": "Oracle.Database/oracleSubscriptions", + "properties": { + "provisioningState": "Succeeded", + "saasSubscriptionId": "saas1", + "cloudAccountId": "ocid1..aaaaaa", + "cloudAccountState": "Pending" + }, + "plan": { + "name": "plan1", + "publisher": "publisher1", + "product": "product1", + "promotionCode": "none", + "version": "alpha" + } + } + }, + "201": { + "headers": { + "Retry-After": 100000000 + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/oracleSubscriptions/default", + "type": "Oracle.Database/oracleSubscriptions", + "properties": {}, + "plan": { + "name": "plan1", + "publisher": "publisher1", + "product": "product1", + "promotionCode": "none", + "version": "alpha" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_delete.json b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_delete.json new file mode 100644 index 000000000000..a3f4fdd80566 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_delete.json @@ -0,0 +1,17 @@ +{ + "operationId": "OracleSubscriptions_delete", + "title": "OracleSubscriptions_delete", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + }, + "204": {} + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_get.json new file mode 100644 index 000000000000..e17d4cc943ff --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_get.json @@ -0,0 +1,29 @@ +{ + "operationId": "OracleSubscriptions_get", + "title": "OracleSubscriptions_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/oracleSubscriptions/default", + "type": "Oracle.Database/oracleSubscriptions", + "properties": { + "provisioningState": "Succeeded", + "saasSubscriptionId": "saas1", + "cloudAccountId": "ocid1..aaaaaa", + "cloudAccountState": "Pending" + }, + "plan": { + "name": "plan1", + "publisher": "publisher1", + "product": "product1", + "promotionCode": "none", + "version": "alpha" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_listActivationLinks.json b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_listActivationLinks.json new file mode 100644 index 000000000000..bf739788191a --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_listActivationLinks.json @@ -0,0 +1,22 @@ +{ + "operationId": "OracleSubscriptions_listActivationLinks", + "title": "OracleSubscriptions_listActivationLinks", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "newCloudAccountActivationLink": "https://new-tenancy-activation-link", + "existingCloudAccountActivationLink": "https://existing-tenancy-activation-link" + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_listBySubscription.json b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_listBySubscription.json new file mode 100644 index 000000000000..9b92deeb3009 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_listBySubscription.json @@ -0,0 +1,34 @@ +{ + "operationId": "OracleSubscriptions_listBySubscription", + "title": "OracleSubscriptions_listBySubscription", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/oracleSubscriptions/default", + "type": "Oracle.Database/oracleSubscriptions", + "properties": { + "provisioningState": "Succeeded", + "saasSubscriptionId": "saas1", + "cloudAccountId": "ocid1..aaaaaa", + "cloudAccountState": "Pending" + }, + "plan": { + "name": "plan1", + "publisher": "publisher1", + "product": "product1", + "promotionCode": "none", + "version": "alpha" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_listCloudAccountDetails.json b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_listCloudAccountDetails.json new file mode 100644 index 000000000000..cbc79dc9991c --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_listCloudAccountDetails.json @@ -0,0 +1,22 @@ +{ + "operationId": "OracleSubscriptions_listCloudAccountDetails", + "title": "OracleSubscriptions_listCloudAccountDetails", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "cloudAccountName": "Cloud Account", + "cloudAccountHomeRegion": "East US" + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_listSaasSubscriptionDetails.json b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_listSaasSubscriptionDetails.json new file mode 100644 index 000000000000..d4d37478eac5 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_listSaasSubscriptionDetails.json @@ -0,0 +1,32 @@ +{ + "operationId": "OracleSubscriptions_listSaasSubscriptionDetails", + "title": "OracleSubscriptions_listSaasSubscriptionDetails", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "1234567890", + "subscriptionName": "Oracle", + "timeCreated": "2022-03-07T00:00:00Z", + "offerId": "offer1", + "planId": "silver", + "saasSubscriptionStatus": "PendingFulfillmentStart", + "publisherId": "Oracle", + "purchaserEmailId": "test@test.com", + "purchaserTenantId": "1234567890", + "termUnit": "P1M", + "isAutoRenew": true, + "isFreeTrial": false + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_patch.json b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_patch.json new file mode 100644 index 000000000000..e036bd953687 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/oracleSubscriptions_patch.json @@ -0,0 +1,43 @@ +{ + "operationId": "OracleSubscriptions_update", + "title": "OracleSubscriptions_update", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "properties": {}, + "plan": { + "name": "plan1", + "publisher": "publisher1", + "product": "product1", + "promotionCode": "none", + "version": "alpha" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/oracleSubscriptions/default", + "type": "Oracle.Database/oracleSubscriptions", + "properties": { + "provisioningState": "Succeeded", + "saasSubscriptionId": "saas1", + "cloudAccountId": "ocid1..aaaaaa", + "cloudAccountState": "Pending" + }, + "plan": { + "name": "plan1", + "publisher": "publisher1", + "product": "product1", + "promotionCode": "none", + "version": "alpha" + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/systemVersions_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/systemVersions_get.json new file mode 100644 index 000000000000..ff277396146b --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/systemVersions_get.json @@ -0,0 +1,20 @@ +{ + "operationId": "SystemVersions_Get", + "title": "systemVersions_listSystemVersions", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "systemversionname": "22.x" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/systemVersion/22.1.7.0.0.230113", + "properties": { + "systemVersion": "22.1.7.0.0.230113" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/systemVersions_listByLocation.json b/specification/oracle/Oracle.Database/examples/2023-09-01/systemVersions_listByLocation.json new file mode 100644 index 000000000000..3081db7a0107 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/systemVersions_listByLocation.json @@ -0,0 +1,24 @@ +{ + "operationId": "SystemVersions_ListByLocation", + "title": "systemVersions_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/systemVersion/22.1.7.0.0.230113", + "properties": { + "systemVersion": "22.1.7.0.0.230113" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/virtualNetworkAddresses_create.json b/specification/oracle/Oracle.Database/examples/2023-09-01/virtualNetworkAddresses_create.json new file mode 100644 index 000000000000..e4e5e4731c49 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/virtualNetworkAddresses_create.json @@ -0,0 +1,48 @@ +{ + "operationId": "VirtualNetworkAddresses_createOrUpdate", + "title": "VirtualNetworkAddresses_createOrUpdate", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "virtualnetworkaddressname": "hostname1", + "resource": { + "properties": { + "ipAddress": "192.168.0.1", + "vmOcid": "ocid1..aaaa" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/virtualNetworkAddresses/hostname1", + "type": "Oracle.Database/cloudVmClusters/virtualNetworkAddresses", + "properties": { + "ipAddress": "192.168.0.1", + "vmOcid": "ocid1..aaaa", + "ocid": "ocid1..aaaaaa", + "domain": "domain1", + "lifecycleDetails": "success", + "provisioningState": "Succeeded", + "lifecycleState": "Available", + "timeAssigned": "2023-10-22T00:27:02.119Z" + } + } + }, + "201": { + "headers": { + "Retry-After": 100000000 + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "properties": { + "ipAddress": "192.168.0.1", + "vmOcid": "ocid1..aaaa" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/virtualNetworkAddresses_delete.json b/specification/oracle/Oracle.Database/examples/2023-09-01/virtualNetworkAddresses_delete.json new file mode 100644 index 000000000000..52044e7b9b0d --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/virtualNetworkAddresses_delete.json @@ -0,0 +1,20 @@ +{ + "operationId": "VirtualNetworkAddresses_delete", + "title": "VirtualNetworkAddresses_delete", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "virtualnetworkaddressname": "hostname1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + }, + "204": {} + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/virtualNetworkAddresses_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/virtualNetworkAddresses_get.json new file mode 100644 index 000000000000..17965d066dc9 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/virtualNetworkAddresses_get.json @@ -0,0 +1,29 @@ +{ + "operationId": "VirtualNetworkAddresses_get", + "title": "VirtualNetworkAddresses_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "virtualnetworkaddressname": "hostname1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/virtualNetworkAddresses/hostname1", + "type": "Oracle.Database/cloudVmClusters/virtualNetworkAddresses", + "properties": { + "ipAddress": "192.168.0.1", + "vmOcid": "ocid1..aaaa", + "ocid": "ocid1..aaaaaa", + "domain": "domain1", + "lifecycleDetails": "success", + "provisioningState": "Succeeded", + "lifecycleState": "Available", + "timeAssigned": "2023-10-22T00:27:02.119Z" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/virtualNetworkAddresses_listByParent.json b/specification/oracle/Oracle.Database/examples/2023-09-01/virtualNetworkAddresses_listByParent.json new file mode 100644 index 000000000000..041bf6e58f70 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/virtualNetworkAddresses_listByParent.json @@ -0,0 +1,33 @@ +{ + "operationId": "VirtualNetworkAddresses_listByCloudVmCluster", + "title": "VirtualNetworkAddresses_listByCloudVmCluster", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/virtualNetworkAddresses/hostname1", + "type": "Oracle.Database/cloudVmClusters/virtualNetworkAddresses", + "properties": { + "ipAddress": "192.168.0.1", + "vmOcid": "ocid1..aaaa", + "ocid": "ocid1..aaaaaa", + "domain": "domain1", + "lifecycleDetails": "success", + "provisioningState": "Succeeded", + "lifecycleState": "Available", + "timeAssigned": "2023-10-22T00:27:02.119Z" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_addVms.json b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_addVms.json new file mode 100644 index 000000000000..a59cbba9cc55 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_addVms.json @@ -0,0 +1,102 @@ +{ + "operationId": "CloudVmClusters_addVms", + "title": "CloudVmClusters_addVms", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "body": { + "dbServers": [ + "ocid1..aaaa", + "ocid1..aaaaaa" + ] + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaa", + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "Disabled", + "lifecycleState": "Disabled", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_create.json b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_create.json new file mode 100644 index 000000000000..725a39fed932 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_create.json @@ -0,0 +1,224 @@ +{ + "operationId": "CloudVmClusters_createOrUpdate", + "title": "CloudVmClusters_createOrUpdate", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "resource": { + "properties": { + "dataStorageSizeInTbs": 1000, + "dbNodeStorageSizeInGbs": 1000, + "memorySizeInGbs": 1000, + "timeZone": "UTC", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 2, + "ocpuCount": 3, + "clusterName": "cluster1", + "dataStoragePercentage": 100, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "nsgCidrs": [ + { + "source": "10.0.0.0/16", + "destinationPortRange": { + "min": 1520, + "max": 1522 + } + }, + { + "source": "10.10.0.0/24" + } + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "dbServers": [ + "ocid1..aaaa" + ] + }, + "location": "eastus", + "tags": { + "tagK1": "tagV1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaa", + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "Disabled", + "lifecycleState": "Disabled", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + }, + "201": { + "headers": { + "Retry-After": 100000000 + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "BootStrapping", + "lifecycleState": "BootStrapping", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_delete.json b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_delete.json new file mode 100644 index 000000000000..d3ecdf7acffb --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_delete.json @@ -0,0 +1,19 @@ +{ + "operationId": "CloudVmClusters_delete", + "title": "CloudVmClusters_delete", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + }, + "204": {} + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_get.json b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_get.json new file mode 100644 index 000000000000..01a8f6223cd8 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_get.json @@ -0,0 +1,104 @@ +{ + "operationId": "CloudVmClusters_get", + "title": "CloudVmClusters_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaa", + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "nsgCidrs": [ + { + "source": "10.0.0.0/16", + "destinationPortRange": { + "min": 1520, + "max": 1522 + } + }, + { + "source": "10.10.0.0/24" + } + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "nsgUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "Disabled", + "lifecycleState": "Disabled", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_listByResourceGroup.json b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_listByResourceGroup.json new file mode 100644 index 000000000000..ccacae618db0 --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_listByResourceGroup.json @@ -0,0 +1,95 @@ +{ + "operationId": "CloudVmClusters_listByResourceGroup", + "title": "CloudVmClusters_listByResourceGroup", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaa", + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "Disabled", + "lifecycleState": "Disabled", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_listBySubscription.json b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_listBySubscription.json new file mode 100644 index 000000000000..13bfe7b4071a --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_listBySubscription.json @@ -0,0 +1,94 @@ +{ + "operationId": "CloudVmClusters_listBySubscription", + "title": "CloudVmClusters_listBySubscription", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaa", + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "Disabled", + "lifecycleState": "Disabled", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_listPrivateIpAddresses.json b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_listPrivateIpAddresses.json new file mode 100644 index 000000000000..0b6b219e0e0f --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_listPrivateIpAddresses.json @@ -0,0 +1,27 @@ +{ + "operationId": "CloudVmClusters_listPrivateIpAddresses", + "title": "CloudVmClusters_listPrivateIpAddresses", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "body": { + "subnetId": "ocid1..aaaaaa", + "vnicId": "ocid1..aaaaa" + } + }, + "responses": { + "200": { + "body": [ + { + "displayName": "ip1", + "hostnameLabel": "hostname1", + "ocid": "ocid1..aaaa", + "ipAddress": "192.168.0.1", + "subnetId": "ocid1..aaaa" + } + ] + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_patch.json b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_patch.json new file mode 100644 index 000000000000..76037942f35c --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_patch.json @@ -0,0 +1,101 @@ +{ + "operationId": "CloudVmClusters_update", + "title": "CloudVmClusters_update", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "properties": {}, + "tags": { + "tagK1": "tagV1" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaa", + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "Disabled", + "lifecycleState": "Disabled", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_removeVms.json b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_removeVms.json new file mode 100644 index 000000000000..d7f3c0daebbc --- /dev/null +++ b/specification/oracle/Oracle.Database/examples/2023-09-01/vmClusters_removeVms.json @@ -0,0 +1,102 @@ +{ + "operationId": "CloudVmClusters_removeVms", + "title": "CloudVmClusters_removeVms", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "body": { + "dbServers": [ + "ocid1..aaaa" + ] + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaa", + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "Disabled", + "lifecycleState": "Disabled", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/Oracle.Database/main.tsp b/specification/oracle/Oracle.Database/main.tsp index 616a085c1a96..3594c17ff745 100644 --- a/specification/oracle/Oracle.Database/main.tsp +++ b/specification/oracle/Oracle.Database/main.tsp @@ -1,3 +1,4 @@ +import "@azure-tools/typespec-autorest"; import "./operations/exadata/exadatainfrastructureOperations.tsp"; import "./operations/exadata/dbServersOperations.tsp"; import "./operations/exadata/vmclusterOperations.tsp"; diff --git a/specification/oracle/Oracle.Database/operations/commons.tsp b/specification/oracle/Oracle.Database/operations/commons.tsp index 822a0dcb58ca..029de8a53bb7 100644 --- a/specification/oracle/Oracle.Database/operations/commons.tsp +++ b/specification/oracle/Oracle.Database/operations/commons.tsp @@ -14,10 +14,16 @@ interface OracleSubscriptionLevelResource< TProperties extends TypeSpec.Reflection.Model > extends ResourceListBySubscription, - ResourceCreateAsync, ResourceRead, ResourceUpdateAsync, - ResourceDeleteWithoutOkAsync {} + ResourceDeleteWithoutOkAsync { + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "REMOVE THIS SUPPRESSION AT THE NEXT API VERSION UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + T, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; +} @armResourceOperations(T) interface OracleTrackedResource< @@ -44,10 +50,14 @@ interface OracleLocationBasedResource interface OracleChildResource< T extends Foundations.Resource, TProperties extends TypeSpec.Reflection.Model -> - extends ResourceCreateAsync, - ResourceRead, - ResourceDeleteWithoutOkAsync {} +> extends ResourceRead, ResourceDeleteWithoutOkAsync { + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "REMOVE THIS SUPPRESSION AT THE NEXT API VERSION UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + T, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; +} @armResourceOperations interface ListActions { diff --git a/specification/oracle/Oracle.Database/tspconfig.yaml b/specification/oracle/Oracle.Database/tspconfig.yaml index c7f8c641b6e4..9d705425bb6a 100644 --- a/specification/oracle/Oracle.Database/tspconfig.yaml +++ b/specification/oracle/Oracle.Database/tspconfig.yaml @@ -1,3 +1,7 @@ +parameters: + "service-dir": + default: "sdk/oracledatabase" + emit: - "@azure-tools/typespec-autorest" @@ -14,15 +18,6 @@ options: packageDetails: name: "@azure/arm-oracledatabase" flavor: azure - "@azure-tools/typespec-java": - package-dir: "azure-resourcemanager-oracledatabase" - namespace: com.azure.resourcemanager.oracledatabase - partial-update: true - flavor: azure - "@azure-tools/typespec-python": - package-dir: "azure-mgmt-oracledatabase" - package-name: "{package-dir}" - flavor: azure linter: extends: diff --git a/specification/oracle/Oracle.Database/versions.tsp b/specification/oracle/Oracle.Database/versions.tsp index d9316d37da43..6536215fc8a8 100644 --- a/specification/oracle/Oracle.Database/versions.tsp +++ b/specification/oracle/Oracle.Database/versions.tsp @@ -7,5 +7,10 @@ enum Versions { @useDependency(Azure.Core.Versions.v1_0_Preview_2) @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) @doc("2023-09-01-preview") - v20230901: "2023-09-01-preview", + v20230901_preview: "2023-09-01-preview", + + @useDependency(Azure.Core.Versions.v1_0_Preview_2) + @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1) + @doc("2023-09-01") + v20230901: "2023-09-01", } diff --git a/specification/oracle/resource-manager/Oracle.Database/preview/2023-09-01-preview/openapi.json b/specification/oracle/resource-manager/Oracle.Database/preview/2023-09-01-preview/openapi.json index 7240ac650bcc..99c09e6891a0 100644 --- a/specification/oracle/resource-manager/Oracle.Database/preview/2023-09-01-preview/openapi.json +++ b/specification/oracle/resource-manager/Oracle.Database/preview/2023-09-01-preview/openapi.json @@ -3897,11 +3897,7 @@ "properties": { "$ref": "#/definitions/AutonomousDatabaseBaseProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -3917,11 +3913,7 @@ "properties": { "$ref": "#/definitions/AutonomousDatabaseBackupProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -4724,11 +4716,7 @@ "properties": { "$ref": "#/definitions/AutonomousDatabaseCharacterSetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -5020,11 +5008,7 @@ "properties": { "$ref": "#/definitions/AutonomousDatabaseNationalCharacterSetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -5378,11 +5362,7 @@ "properties": { "$ref": "#/definitions/AutonomousDbVersionProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -5622,11 +5602,7 @@ "properties": { "$ref": "#/definitions/CloudExadataInfrastructureProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "zones": { "type": "array", @@ -6031,11 +6007,7 @@ "properties": { "$ref": "#/definitions/CloudVmClusterProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -6951,11 +6923,7 @@ "properties": { "$ref": "#/definitions/DbNodeProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -7259,11 +7227,7 @@ "properties": { "$ref": "#/definitions/DbServerProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -7544,11 +7508,7 @@ "properties": { "$ref": "#/definitions/DbSystemShapeProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -7763,11 +7723,7 @@ "properties": { "$ref": "#/definitions/DnsPrivateViewProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -7895,11 +7851,7 @@ "properties": { "$ref": "#/definitions/DnsPrivateZoneProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -8155,11 +8107,7 @@ "properties": { "$ref": "#/definitions/GiVersionProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -8659,11 +8607,7 @@ "properties": { "$ref": "#/definitions/OracleSubscriptionProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "plan": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Plan", @@ -9465,11 +9409,7 @@ "properties": { "$ref": "#/definitions/SystemVersionProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -9663,11 +9603,7 @@ "properties": { "$ref": "#/definitions/VirtualNetworkAddressProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseBackup_create.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseBackup_create.json new file mode 100644 index 000000000000..b617d05794b5 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseBackup_create.json @@ -0,0 +1,71 @@ +{ + "operationId": "AutonomousDatabaseBackups_CreateOrUpdate", + "title": "AutonomousDatabaseBackups_CreateOrUpdate", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "adbbackupid": "1711644130", + "resource": { + "properties": { + "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq", + "displayName": "Nightly Backup", + "retentionPeriodInDays": 365 + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1/autonomousDatabaseBackups/1711644130", + "type": "Oracle.Database/autonomousDatabases/autonomousDatabaseBackups", + "properties": { + "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq", + "databaseSizeInTbs": 2, + "dbVersion": "19.6.0.0", + "displayName": "Nightly Backup", + "ocid": "ocid1.autonomousdatabasebackup.oc1..aaaaaaaavwpj", + "isAutomatic": true, + "isRestorable": true, + "lifecycleDetails": "Backup completed successfully", + "lifecycleState": "Active", + "retentionPeriodInDays": 365, + "sizeInTbs": 2, + "timeAvailableTil": "2025-01-09T20:44:09.466Z", + "timeStarted": "2024-01-09T19:44:09.466Z", + "timeEnded": "2024-01-09T20:44:09.466Z", + "backupType": "Full", + "provisioningState": "Succeeded" + } + } + }, + "201": { + "headers": { + "Retry-After": 100 + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1/autonomousDatabaseBackups/backupdb1", + "type": "Oracle.Database/autonomousDatabases/autonomousDatabaseBackups", + "properties": { + "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq", + "databaseSizeInTbs": 2, + "dbVersion": "19.6.0.0", + "displayName": "Nightly Backup", + "ocid": "ocid1.autonomousdatabasebackup.oc1..aaaaaaaavwpj", + "isAutomatic": true, + "isRestorable": true, + "lifecycleDetails": "Backup completed successfully", + "lifecycleState": "Active", + "retentionPeriodInDays": 365, + "sizeInTbs": 2, + "timeAvailableTil": "2025-01-09T20:44:09.466Z", + "timeStarted": "2024-01-09T19:44:09.466Z", + "timeEnded": "2024-01-09T20:44:09.466Z", + "backupType": "Full", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseBackup_delete.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseBackup_delete.json new file mode 100644 index 000000000000..c487d9e41ead --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseBackup_delete.json @@ -0,0 +1,20 @@ +{ + "operationId": "AutonomousDatabaseBackups_Delete", + "title": "AutonomousDatabaseBackups_Delete", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "adbbackupid": "1711644130" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 100, + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabaseBackups/1711644130/operationStatus" + } + }, + "204": {} + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseBackup_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseBackup_get.json new file mode 100644 index 000000000000..4668780cc4a7 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseBackup_get.json @@ -0,0 +1,37 @@ +{ + "operationId": "AutonomousDatabaseBackups_Get", + "title": "AutonomousDatabaseBackups_Get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "adbbackupid": "1711644130" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1/autonomousDatabaseBackups/1711644130", + "type": "Oracle.Database/autonomousDatabases/autonomousDatabaseBackups", + "properties": { + "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq", + "databaseSizeInTbs": 2, + "dbVersion": "19.6.0.0", + "displayName": "Nightly Backup", + "ocid": "ocid1.autonomousdatabasebackup.oc1..aaaaaaaavwpj", + "isAutomatic": true, + "isRestorable": true, + "lifecycleDetails": "Backup completed successfully", + "lifecycleState": "Active", + "retentionPeriodInDays": 365, + "sizeInTbs": 2, + "timeAvailableTil": "2025-01-09T20:44:09.466Z", + "timeStarted": "2024-01-09T19:44:09.466Z", + "timeEnded": "2024-01-09T20:44:09.466Z", + "backupType": "Full", + "provisioningState": "Succeeded" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseBackup_listByParent.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseBackup_listByParent.json new file mode 100644 index 000000000000..41606b9bba9c --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseBackup_listByParent.json @@ -0,0 +1,40 @@ +{ + "operationId": "AutonomousDatabaseBackups_ListByAutonomousDatabase", + "title": "AutonomousDatabaseBackups_ListByAutonomousDatabase", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1/autonomousDatabaseBackups/1711644130", + "type": "Oracle.Database/autonomousDatabases/autonomousDatabaseBackups", + "properties": { + "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq", + "databaseSizeInTbs": 2, + "dbVersion": "19.6.0.0", + "displayName": "Nightly Backup", + "ocid": "ocid1.autonomousdatabasebackup.oc1..aaaaaaaavwpj", + "isAutomatic": true, + "isRestorable": true, + "lifecycleDetails": "Backup completed successfully", + "lifecycleState": "Active", + "retentionPeriodInDays": 365, + "sizeInTbs": 2, + "timeAvailableTil": "2025-01-09T20:44:09.466Z", + "timeEnded": "2024-01-09T20:44:09.466Z", + "backupType": "Full", + "provisioningState": "Succeeded" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseBackup_patch.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseBackup_patch.json new file mode 100644 index 000000000000..e6d31dfb846f --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseBackup_patch.json @@ -0,0 +1,41 @@ +{ + "operationId": "AutonomousDatabaseBackups_Update", + "title": "AutonomousDatabaseBackups_Update", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "adbbackupid": "1711644130", + "properties": {} + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1/autonomousDatabaseBackups/1711644130", + "type": "Oracle.Database/autonomousDatabases/autonomousDatabaseBackups", + "properties": { + "autonomousDatabaseOcid": "ocid1.autonomousdatabase.oc1..aaaaa3klq", + "databaseSizeInTbs": 2, + "dbVersion": "19.6.0.0", + "displayName": "Nightly Backup", + "ocid": "ocid1.autonomousdatabasebackup.oc1..aaaaaaaavwpj", + "isAutomatic": true, + "isRestorable": true, + "lifecycleDetails": "Backup updated successfully", + "lifecycleState": "Active", + "retentionPeriodInDays": 400, + "sizeInTbs": 2, + "backupType": "Full", + "provisioningState": "Succeeded" + } + } + }, + "202": { + "headers": { + "Retry-After": 100, + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabaseBackups/1711644130/operationStatus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseCharacterSet_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseCharacterSet_get.json new file mode 100644 index 000000000000..f30cd9ff64ce --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseCharacterSet_get.json @@ -0,0 +1,21 @@ +{ + "operationId": "AutonomousDatabaseCharacterSets_get", + "title": "AutonomousDatabaseCharacterSets_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "adbscharsetname": "DATABASE" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDatabaseCharacterSets/DATABASE", + "type": "Oracle.Database/locations/autonomousDatabaseCharacterSets", + "properties": { + "characterSet": "AL32UTF8" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseCharacterSet_listByLocation.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseCharacterSet_listByLocation.json new file mode 100644 index 000000000000..80cbdfb6228e --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseCharacterSet_listByLocation.json @@ -0,0 +1,32 @@ +{ + "operationId": "AutonomousDatabaseCharacterSets_listByLocation", + "title": "AutonomousDatabaseCharacterSets_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDatabaseCharacterSets/DATABASE", + "type": "Oracle.Database/locations/autonomousDatabaseCharacterSets", + "properties": { + "characterSet": "AL32UTF8" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDatabaseCharacterSets/DATABASE", + "type": "Oracle.Database/locations/autonomousDatabaseCharacterSets", + "properties": { + "characterSet": "UTF8" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseClone_create.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseClone_create.json new file mode 100644 index 000000000000..64d4b41b863a --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseClone_create.json @@ -0,0 +1,141 @@ +{ + "operationId": "AutonomousDatabases_CreateOrUpdate", + "title": "AutonomousDatabases_CreateOrUpdate_clone", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "resource": { + "properties": { + "dataBaseType": "Clone", + "sourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "cloneType": "Full", + "displayName": "example_autonomous_databasedb1_clone", + "computeModel": "ECPU", + "computeCount": 2, + "dataStorageSizeInTbs": 1, + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "adminPassword": "********", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1" + }, + "location": "eastus", + "tags": { + "tagK1": "tagV1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1Clone", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "cloneType": "Full", + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Clone", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "sourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + }, + "201": { + "headers": { + "Retry-After": 100000000 + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1Clone", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "cloneType": "Full", + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Clone", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "sourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseNationalCharacterSet_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseNationalCharacterSet_get.json new file mode 100644 index 000000000000..b3fe4c27c91f --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseNationalCharacterSet_get.json @@ -0,0 +1,21 @@ +{ + "operationId": "AutonomousDatabaseNationalCharacterSets_get", + "title": "AutonomousDatabaseNationalCharacterSets_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "adbsncharsetname": "NATIONAL" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDatabaseNationalCharacterSets/NATIONAL", + "type": "Oracle.Database/locations/autonomousDatabaseNationalCharacterSets", + "properties": { + "characterSet": "AL16UTF16" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseNationalCharacterSet_listByLocation.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseNationalCharacterSet_listByLocation.json new file mode 100644 index 000000000000..a5985b92de4a --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseNationalCharacterSet_listByLocation.json @@ -0,0 +1,25 @@ +{ + "operationId": "AutonomousDatabaseNationalCharacterSets_listByLocation", + "title": "AutonomousDatabaseNationalCharacterSets_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDatabaseNationalCharacterSets/NATIONAL", + "type": "Oracle.Database/locations/autonomousDatabaseNationalCharacterSets", + "properties": { + "characterSet": "AL16UTF16" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseVersion_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseVersion_get.json new file mode 100644 index 000000000000..a7610dea57f8 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseVersion_get.json @@ -0,0 +1,21 @@ +{ + "operationId": "AutonomousDatabaseVersions_get", + "title": "AutonomousDatabaseVersions_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "autonomousdbversionsname": "18.4.0.0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDbVersions/18.4.0.0", + "type": "Oracle.Database/locations/autonomousDbVersions", + "properties": { + "version": "18.4.0.0" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseVersion_listByLocation.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseVersion_listByLocation.json new file mode 100644 index 000000000000..3b939976dbc5 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabaseVersion_listByLocation.json @@ -0,0 +1,25 @@ +{ + "operationId": "AutonomousDatabaseVersions_listByLocation", + "title": "AutonomousDatabaseVersions_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/locations/eastus/autonomousDbVersions/18.4.0.0", + "type": "Oracle.Database/locations/autonomousDbVersions", + "properties": { + "version": "18.4.0.0" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_create.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_create.json new file mode 100644 index 000000000000..e5f4afb3d2d0 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_create.json @@ -0,0 +1,136 @@ +{ + "operationId": "AutonomousDatabases_CreateOrUpdate", + "title": "AutonomousDatabases_CreateOrUpdate", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "resource": { + "properties": { + "dataBaseType": "Regular", + "displayName": "example_autonomous_databasedb1", + "computeModel": "ECPU", + "computeCount": 2, + "dataStorageSizeInTbs": 1, + "adminPassword": "********", + "dbVersion": "18.4.0.0", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1" + }, + "location": "eastus", + "tags": { + "tagK1": "tagV1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + }, + "201": { + "headers": { + "Retry-After": 100000000 + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_delete.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_delete.json new file mode 100644 index 000000000000..86a9c08c1bd8 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_delete.json @@ -0,0 +1,19 @@ +{ + "operationId": "AutonomousDatabases_delete", + "title": "AutonomousDatabases_delete", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + }, + "204": {} + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_failover.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_failover.json new file mode 100644 index 000000000000..e01e6b398b80 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_failover.json @@ -0,0 +1,90 @@ +{ + "operationId": "AutonomousDatabases_Failover", + "title": "AutonomousDatabases_Failover", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "body": { + "peerDbId": "peerDbId" + }, + "tags": { + "tagK1": "tagV1" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "failedDataRecoveryInSeconds": null, + "isLocalDataGuardEnabled": true, + "timeLocalDataGuardEnabled": "2024-02-28T19:03:43.714Z", + "localDisasterRecoveryType": "Adg", + "localAdgAutoFailoverMaxDataLossLimit": 300, + "role": "Primary", + "peerDbIds": null, + "localStandbyDb": { + "lagTimeInSeconds": null, + "lifecycleDetails": null, + "lifecycleState": "RoleChangeInProgress", + "timeDataGuardRoleChanged": null, + "timeDisasterRecoveryRoleChanged": null + }, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Updating", + "lifecycleDetails": null, + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Provisioning", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeOfLastFailover": null, + "timeOfLastSwitchover": null, + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_generateWallet.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_generateWallet.json new file mode 100644 index 000000000000..832ac5442248 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_generateWallet.json @@ -0,0 +1,25 @@ +{ + "operationId": "AutonomousDatabases_generateWallet", + "title": "AutonomousDatabases_generateWallet", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "body": { + "generateType": "Single", + "isRegional": false, + "password": "********" + }, + "tags": { + "tagK1": "tagV1" + } + }, + "responses": { + "200": { + "body": { + "walletFiles": "testEncodedFiles" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_get.json new file mode 100644 index 000000000000..b2c0360b3325 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_get.json @@ -0,0 +1,63 @@ +{ + "operationId": "AutonomousDatabases_Get", + "title": "AutonomousDatabases_Get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_listByResourceGroup.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_listByResourceGroup.json new file mode 100644 index 000000000000..c2d79a608283 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_listByResourceGroup.json @@ -0,0 +1,67 @@ +{ + "operationId": "AutonomousDatabases_listByResourceGroup", + "title": "AutonomousDatabases_listByResourceGroup", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_listBySubscription.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_listBySubscription.json new file mode 100644 index 000000000000..053f44f7c3b4 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_listBySubscription.json @@ -0,0 +1,66 @@ +{ + "operationId": "AutonomousDatabases_listBySubscription", + "title": "AutonomousDatabases_listBySubscription", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_patch.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_patch.json new file mode 100644 index 000000000000..78d378bddf6e --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_patch.json @@ -0,0 +1,73 @@ +{ + "operationId": "AutonomousDatabases_update", + "title": "AutonomousDatabases_update", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "properties": {}, + "tags": { + "tagK1": "tagV1" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Succeeded", + "lifecycleDetails": "success", + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_restore.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_restore.json new file mode 100644 index 000000000000..ded132edc05c --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_restore.json @@ -0,0 +1,80 @@ +{ + "operationId": "AutonomousDatabases_Restore", + "title": "AutonomousDatabases_Restore", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "body": { + "timestamp": "2024-04-23T00:00:00.000Z" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "backupRetentionPeriodInDays": 60, + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "RestoreInProgress", + "lifecycleDetails": "", + "nextLongTermBackupTimeStamp": "2024-04-24T21:03:41.000Z", + "longTermBackupSchedule": { + "isDisabled": null, + "repeatCadence": "Weekly", + "retentionPeriodInDays": 365, + "timeOfBackup": "2024-04-21T21:03:41.309Z" + }, + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + }, + "202": { + "headers": { + "Retry-After": 100, + "Location": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabaseBackups/1711644130/operationStatus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_shrink.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_shrink.json new file mode 100644 index 000000000000..98f110a7cbb1 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_shrink.json @@ -0,0 +1,77 @@ +{ + "operationId": "AutonomousDatabase_shrink", + "title": "AutonomousDatabase_shrink", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "backupRetentionPeriodInDays": 90, + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "isLocalDataGuardEnabled": false, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "ScaleInProgress", + "lifecycleDetails": "", + "nextLongTermBackupTimeStamp": "2024-04-24T21:03:41.000Z", + "longTermBackupSchedule": { + "isDisabled": null, + "repeatCadence": "Weekly", + "retentionPeriodInDays": 365, + "timeOfBackup": "2024-04-21T21:03:41.309Z" + }, + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + }, + "202": { + "headers": { + "Retry-After": 100, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_switchover.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_switchover.json new file mode 100644 index 000000000000..dcf77e07bb1f --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/autonomousDatabase_switchover.json @@ -0,0 +1,89 @@ +{ + "operationId": "AutonomousDatabases_Switchover", + "title": "AutonomousDatabases_Switchover", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "autonomousdatabasename": "databasedb1", + "body": { + "peerDbId": "peerDbId" + }, + "tags": { + "tagK1": "tagV1" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "type": "Oracle.Database/autonomousDatabases", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "autonomousDatabaseId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/autonomousDatabases/databasedb1", + "actualUsedDataStorageSizeInTbs": null, + "autonomousMaintenanceScheduleType": "Regular", + "characterSet": "AL32UTF8", + "ncharacterSet": "AL16UTF16", + "computeCount": 2.0, + "computeModel": "ECPU", + "cpuCoreCount": 1, + "customerContacts": null, + "dataStorageSizeInGbs": 1024, + "dataStorageSizeInTbs": 1, + "databaseEdition": "EnterpriseEdition", + "dataBaseType": "Regular", + "dbVersion": "18.4.0.0", + "displayName": "example_autonomous_databasedb1", + "isAutoScalingEnabled": false, + "isAutoScalingForStorageEnabled": false, + "failedDataRecoveryInSeconds": null, + "isLocalDataGuardEnabled": false, + "localDisasterRecoveryType": "BackupBased", + "localAdgAutoFailoverMaxDataLossLimit": null, + "role": "Primary", + "peerDbIds": null, + "localStandbyDb": { + "lagTimeInSeconds": null, + "lifecycleDetails": null, + "lifecycleState": "RoleChangeInProgress", + "timeDataGuardRoleChanged": null, + "timeDisasterRecoveryRoleChanged": null + }, + "isMtlsConnectionRequired": true, + "licenseModel": "BringYourOwnLicense", + "lifecycleState": "Updating", + "lifecycleDetails": null, + "privateEndpointIp": null, + "privateEndpointLabel": null, + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "provisioningState": "Provisioning", + "ociUrl": "https://fake", + "timeCreated": "2024-01-09T20:44:09.466Z", + "timeOfLastFailover": null, + "timeOfLastSwitchover": "2024-02-27T18:37:08.069Z", + "timeMaintenanceBegin": null, + "timeMaintenanceEnd": null, + "usedDataStorageSizeInGbs": null, + "usedDataStorageSizeInTbs": null, + "ocid": "ocid1..aaaaa", + "whitelistedIps": [ + "1.1.1.1", + "1.1.1.0/24", + "1.1.2.25" + ] + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbNodes_action.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbNodes_action.json new file mode 100644 index 000000000000..4caeab5517c5 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbNodes_action.json @@ -0,0 +1,50 @@ +{ + "operationId": "DbNodes_Action", + "title": "DbNodes_Action", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "dbnodeocid": "ocid1....aaaaaa", + "body": { + "action": "Start" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/dbNodes/ocid1", + "type": "Oracle.Database/cloudVmClusters/dbNodes", + "properties": { + "ocid": "ocid.dbNodes.1", + "backupIpId": "id1", + "backupVnic2Id": "id1", + "backupVnicId": "id1", + "cpuCoreCount": 1000, + "dbNodeStorageSizeInGbs": 500, + "dbServerId": "dbserver1", + "dbSystemId": "db1", + "faultDomain": "domain1", + "hostIpId": "10.0.0.0", + "hostname": "host1", + "provisioningState": "Succeeded", + "maintenanceType": "VmdbRebootMigration", + "memorySizeInGbs": 100, + "softwareStorageSizeInGb": 1000, + "timeCreated": "2023-10-21T13:44:04.924Z", + "timeMaintenanceWindowEnd": "2023-10-21T13:44:04.924Z", + "timeMaintenanceWindowStart": "2023-10-21T13:44:04.924Z", + "vnic2Id": "ocid.vnic.id2", + "vnicId": "ocid.vnic.id1" + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbNodes_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbNodes_get.json new file mode 100644 index 000000000000..f0bca3e58565 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbNodes_get.json @@ -0,0 +1,41 @@ +{ + "operationId": "DbNodes_get", + "title": "DbNodes_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "dbnodeocid": "ocid1....aaaaaa" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/dbNodes/ocid1", + "type": "Oracle.Database/cloudVmClusters/dbNodes", + "properties": { + "ocid": "ocid.dbNodes.1", + "backupIpId": "id1", + "backupVnic2Id": "id1", + "backupVnicId": "id1", + "cpuCoreCount": 1000, + "dbNodeStorageSizeInGbs": 500, + "dbServerId": "dbserver1", + "dbSystemId": "db1", + "faultDomain": "domain1", + "hostIpId": "10.0.0.0", + "hostname": "host1", + "lifecycleState": "Available", + "maintenanceType": "VmdbRebootMigration", + "memorySizeInGbs": 100, + "softwareStorageSizeInGb": 1000, + "timeCreated": "2023-10-21T13:44:04.924Z", + "timeMaintenanceWindowEnd": "2023-10-21T13:44:04.924Z", + "timeMaintenanceWindowStart": "2023-10-21T13:44:04.924Z", + "vnic2Id": "ocid.vnic.id2", + "vnicId": "ocid.vnic.id1" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbNodes_listByParent.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbNodes_listByParent.json new file mode 100644 index 000000000000..60d45307e509 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbNodes_listByParent.json @@ -0,0 +1,45 @@ +{ + "operationId": "DbNodes_listByParent", + "title": "DbNodes_listByParent", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/dbNodes/ocid1", + "type": "Oracle.Database/cloudVmClusters/dbNodes", + "properties": { + "ocid": "ocid.dbNodes.1", + "backupIpId": "id1", + "backupVnic2Id": "id1", + "backupVnicId": "id1", + "cpuCoreCount": 1000, + "dbNodeStorageSizeInGbs": 500, + "dbServerId": "dbserver1", + "dbSystemId": "db1", + "faultDomain": "domain1", + "hostIpId": "10.0.0.0", + "hostname": "host1", + "lifecycleState": "Available", + "maintenanceType": "VmdbRebootMigration", + "memorySizeInGbs": 100, + "softwareStorageSizeInGb": 1000, + "timeCreated": "2023-10-21T13:44:04.924Z", + "timeMaintenanceWindowEnd": "2023-10-21T13:44:04.924Z", + "timeMaintenanceWindowStart": "2023-10-21T13:44:04.924Z", + "vnic2Id": "ocid.vnic.id2", + "vnicId": "ocid.vnic.id1" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbServers_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbServers_get.json new file mode 100644 index 000000000000..acb905ed1610 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbServers_get.json @@ -0,0 +1,42 @@ +{ + "operationId": "DbServers_get", + "title": "DbServers_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudexadatainfrastructurename": "infra1", + "dbserverocid": "ocid1....aaaaaa" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1/dbServers/ocid1", + "type": "Oracle.Database/cloudVmClusters/dbServers", + "properties": { + "ocid": "ocid1", + "displayName": "dbserver1", + "compartmentId": "ocid1....aaaa", + "exadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "cpuCoreCount": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 150, + "vmClusterIds": [ + "ocid1..aaaaa" + ], + "dbNodeIds": [ + "ocid1..aaaaa" + ], + "lifecycleState": "Available", + "maxCpuCount": 1000, + "autonomousVmClusterIds": [ + "ocid1..aaaaa" + ], + "autonomousVirtualMachineIds": [ + "ocid1..aaaaa" + ] + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbServers_listByParent.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbServers_listByParent.json new file mode 100644 index 000000000000..ed3d7f23cf66 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbServers_listByParent.json @@ -0,0 +1,46 @@ +{ + "operationId": "DbServers_listByCloudExadataInfrastructure", + "title": "DbServers_listByCloudExadataInfrastructure", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudexadatainfrastructurename": "infra1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1/dbServers/ocid1", + "type": "Oracle.Database/cloudVmClusters/dbServers", + "properties": { + "ocid": "ocid1", + "displayName": "dbserver1", + "compartmentId": "ocid1....aaaa", + "exadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "cpuCoreCount": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 150, + "vmClusterIds": [ + "ocid1..aaaaa" + ], + "dbNodeIds": [ + "ocid1..aaaaa" + ], + "lifecycleState": "Available", + "maxCpuCount": 1000, + "autonomousVmClusterIds": [ + "ocid1..aaaaa" + ], + "autonomousVirtualMachineIds": [ + "ocid1..aaaaa" + ] + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbSystemShapes_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbSystemShapes_get.json new file mode 100644 index 000000000000..aa2a346f2b58 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbSystemShapes_get.json @@ -0,0 +1,40 @@ +{ + "operationId": "DbSystemShapes_get", + "title": "DbSystemShapes_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "dbsystemshapename": "EXADATA.X9M" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dbSystemShapes/EXADATA.X9M", + "type": "Oracle.Database/locations/dbSystemShapes", + "properties": { + "shapeFamily": "EXADATA", + "availableCoreCount": 100, + "minimumCoreCount": 1, + "runtimeMinimumCoreCount": 1, + "coreCountIncrement": 1, + "minStorageCount": 0, + "maxStorageCount": 100, + "availableDataStoragePerServerInTbs": 100, + "availableMemoryPerNodeInGbs": 10, + "availableDbNodePerNodeInGbs": 10, + "minCoreCountPerNode": 0, + "availableMemoryInGbs": 10, + "minMemoryPerNodeInGbs": 0, + "availableDbNodeStorageInGbs": 10, + "minDbNodeStoragePerNodeInGbs": 0, + "availableDataStorageInTbs": 10, + "minDataStorageInTbs": 0, + "minimumNodeCount": 0, + "maximumNodeCount": 1000, + "availableCoreCountPerNode": 1000 + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbSystemShapes_listByLocation.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbSystemShapes_listByLocation.json new file mode 100644 index 000000000000..f0a2f67db6ad --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dbSystemShapes_listByLocation.json @@ -0,0 +1,44 @@ +{ + "operationId": "DbSystemShapes_listByLocation", + "title": "DbSystemShapes_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dbSystemShapes/EXADATA.X9M", + "type": "Oracle.Database/locations/dbSystemShapes", + "properties": { + "shapeFamily": "EXADATA", + "availableCoreCount": 100, + "minimumCoreCount": 1, + "runtimeMinimumCoreCount": 1, + "coreCountIncrement": 1, + "minStorageCount": 0, + "maxStorageCount": 100, + "availableDataStoragePerServerInTbs": 100, + "availableMemoryPerNodeInGbs": 10, + "availableDbNodePerNodeInGbs": 10, + "minCoreCountPerNode": 0, + "availableMemoryInGbs": 10, + "minMemoryPerNodeInGbs": 0, + "availableDbNodeStorageInGbs": 10, + "minDbNodeStoragePerNodeInGbs": 0, + "availableDataStorageInTbs": 10, + "minDataStorageInTbs": 0, + "minimumNodeCount": 0, + "maximumNodeCount": 1000, + "availableCoreCountPerNode": 1000 + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dnsPrivateViews_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dnsPrivateViews_get.json new file mode 100644 index 000000000000..db465960e008 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dnsPrivateViews_get.json @@ -0,0 +1,27 @@ +{ + "operationId": "DnsPrivateViews_get", + "title": "DnsPrivateViews_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "dnsprivateviewocid": "ocid1....aaaaaa" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateViews/ocid1....aaaaaa", + "type": "Oracle.Database/locations/dnsPrivateViews", + "properties": { + "ocid": "ocid1....aaaaaa", + "displayName": "example-dns-private-view", + "isProtected": false, + "lifecycleState": "Active", + "self": "https://api.example.com/your-dns-private-view", + "timeCreated": "2023-10-26T12:34:56Z", + "timeUpdated": "2023-10-26T14:00:00Z" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dnsPrivateViews_listByLocation.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dnsPrivateViews_listByLocation.json new file mode 100644 index 000000000000..dc07b372c4fc --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dnsPrivateViews_listByLocation.json @@ -0,0 +1,44 @@ +{ + "operationId": "DnsPrivateViews_listByLocation", + "title": "DnsPrivateViews_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateViews/ocid1....aaaaaa", + "type": "Oracle.Database/locations/dnsPrivateViews", + "properties": { + "ocid": "ocid1....aaaaaa", + "displayName": "example-dns-private-view1", + "isProtected": false, + "lifecycleState": "Active", + "self": "https://api.example.com/view1", + "timeCreated": "2023-10-26T12:34:56Z", + "timeUpdated": "2023-10-26T14:00:00Z" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateViews/ocid1....aaaaab", + "type": "Oracle.Database/locations/dnsPrivateViews", + "properties": { + "ocid": "ocid1....aaaaab", + "displayName": "example-dns-private-view2", + "isProtected": true, + "lifecycleState": "Creating", + "self": "https://api.example.com/view2", + "timeCreated": "2023-10-27T09:45:00Z", + "timeUpdated": "2023-10-27T10:30:00Z" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dnsPrivateZones_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dnsPrivateZones_get.json new file mode 100644 index 000000000000..5ac3bf72823b --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dnsPrivateZones_get.json @@ -0,0 +1,29 @@ +{ + "operationId": "DnsPrivateZones_get", + "title": "DnsPrivateZones_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "dnsprivatezonename": "example-dns-private-zone" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateZones/example-dns-private-zone", + "type": "Oracle.Database/locations/dnsPrivateZones", + "properties": { + "ocid": "your-zone-id", + "isProtected": false, + "lifecycleState": "Active", + "self": "https://api.example.com/your-dns-private-zone", + "serial": 12345, + "version": "1.0.0.0", + "viewId": "your-view-id", + "zoneType": "Primary", + "timeCreated": "2023-10-26T12:34:56Z" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dnsPrivateZones_listByLocation.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dnsPrivateZones_listByLocation.json new file mode 100644 index 000000000000..66d8c458756e --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/dnsPrivateZones_listByLocation.json @@ -0,0 +1,48 @@ +{ + "operationId": "DnsPrivateZones_listByLocation", + "title": "DnsPrivateZones_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateZones/zone1", + "type": "Oracle.Database/locations/dnsPrivateZones", + "properties": { + "ocid": "zone-id-1", + "isProtected": false, + "lifecycleState": "Active", + "self": "https://api.example.com/zone1", + "serial": 12345, + "version": "1.0.0.0", + "viewId": "view-id-1", + "zoneType": "Primary", + "timeCreated": "2023-10-26T12:34:56Z" + } + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/dnsPrivateZones/zone2", + "type": "Oracle.Database/locations/dnsPrivateZones", + "properties": { + "ocid": "zone-id-2", + "isProtected": true, + "lifecycleState": "Creating", + "self": "https://api.example.com/zone2", + "serial": 54321, + "version": "2.0.0.0", + "viewId": "view-id-2", + "zoneType": "Secondary", + "timeCreated": "2023-10-27T09:45:00Z" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_addStorageCapacity.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_addStorageCapacity.json new file mode 100644 index 000000000000..851ab418998f --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_addStorageCapacity.json @@ -0,0 +1,95 @@ +{ + "operationId": "CloudExadataInfrastructures_addStorageCapacity", + "title": "CloudExadataInfrastructures_addStorageCapacity", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudexadatainfrastructurename": "infra1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaaaa", + "computeCount": 100, + "storageCount": 10, + "totalStorageSizeInGbs": 1000, + "availableStorageSizeInGbs": 1000, + "timeCreated": "2023-02-01T01:01:00", + "lifecycleDetails": "none", + "maintenanceWindow": { + "preference": "NoPreference", + "months": [ + { + "name": "January" + } + ], + "weeksOfMonth": [ + 0 + ], + "daysOfWeek": [ + { + "name": "Monday" + } + ], + "hoursOfDay": [ + 0 + ], + "leadTimeInWeeks": 0, + "patchingMode": "Rolling", + "customActionTimeoutInMins": 120, + "isCustomActionTimeoutEnabled": true, + "isMonthlyPatchingEnabled": true + }, + "estimatedPatchingTime": { + "estimatedDbServerPatchingTime": 3000, + "estimatedNetworkSwitchesPatchingTime": 3000, + "estimatedStorageServerPatchingTime": 3000, + "totalEstimatedPatchingTime": 3000 + }, + "customerContacts": [ + { + "email": "noreply@oracle.com" + } + ], + "provisioningState": "Succeeded", + "shape": "EXADATA.X9M", + "ociUrl": "https://url", + "cpuCount": 10, + "maxCpuCount": 100, + "memorySizeInGbs": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 10, + "maxDbNodeStorageSizeInGbs": 10, + "dataStorageSizeInTbs": 10, + "maxDataStorageInTbs": 1000, + "dbServerVersion": "19.0.0.0", + "storageServerVersion": "0.0", + "activatedStorageCount": 1, + "additionalStorageCount": 1, + "displayName": "infra 1", + "lastMaintenanceRunId": "ocid1..aaaaa", + "nextMaintenanceRunId": "ocid1..aaaaaa", + "monthlyDbServerVersion": "aaaa", + "monthlyStorageServerVersion": "aaaa" + }, + "zones": [ + "1" + ] + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_create.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_create.json new file mode 100644 index 000000000000..1da15945c65f --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_create.json @@ -0,0 +1,184 @@ +{ + "operationId": "CloudExadataInfrastructures_createOrUpdate", + "title": "CloudExadataInfrastructures_createOrUpdate", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudexadatainfrastructurename": "infra1", + "resource": { + "properties": { + "computeCount": 100, + "storageCount": 10, + "shape": "EXADATA.X9M", + "displayName": "infra 1" + }, + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "zones": [ + "1" + ] + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaaaa", + "computeCount": 100, + "storageCount": 10, + "totalStorageSizeInGbs": 1000, + "availableStorageSizeInGbs": 1000, + "timeCreated": "2023-02-01T01:01:00", + "lifecycleDetails": "none", + "maintenanceWindow": { + "preference": "NoPreference", + "months": [ + { + "name": "January" + } + ], + "weeksOfMonth": [ + 0 + ], + "daysOfWeek": [ + { + "name": "Monday" + } + ], + "hoursOfDay": [ + 0 + ], + "leadTimeInWeeks": 0, + "patchingMode": "Rolling", + "customActionTimeoutInMins": 120, + "isCustomActionTimeoutEnabled": true, + "isMonthlyPatchingEnabled": true + }, + "estimatedPatchingTime": { + "estimatedDbServerPatchingTime": 3000, + "estimatedNetworkSwitchesPatchingTime": 3000, + "estimatedStorageServerPatchingTime": 3000, + "totalEstimatedPatchingTime": 3000 + }, + "customerContacts": [ + { + "email": "noreply@oracle.com" + } + ], + "provisioningState": "Succeeded", + "shape": "EXADATA.X9M", + "ociUrl": "https://url", + "cpuCount": 10, + "maxCpuCount": 100, + "memorySizeInGbs": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 10, + "maxDbNodeStorageSizeInGbs": 10, + "dataStorageSizeInTbs": 10, + "maxDataStorageInTbs": 1000, + "dbServerVersion": "19.0.0.0", + "storageServerVersion": "0.0", + "activatedStorageCount": 1, + "additionalStorageCount": 1, + "displayName": "infra 1", + "lastMaintenanceRunId": "ocid1..aaaaa", + "nextMaintenanceRunId": "ocid1..aaaaaa", + "monthlyDbServerVersion": "aaaa", + "monthlyStorageServerVersion": "aaaa" + }, + "zones": [ + "1" + ] + } + }, + "201": { + "headers": { + "Retry-After": 100000000 + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaaaa", + "computeCount": 100, + "storageCount": 10, + "totalStorageSizeInGbs": 1000, + "availableStorageSizeInGbs": 1000, + "timeCreated": "2023-02-01T01:01:00", + "lifecycleDetails": "none", + "maintenanceWindow": { + "preference": "NoPreference", + "months": [ + { + "name": "January" + } + ], + "weeksOfMonth": [ + 0 + ], + "daysOfWeek": [ + { + "name": "Monday" + } + ], + "hoursOfDay": [ + 0 + ], + "leadTimeInWeeks": 0, + "patchingMode": "Rolling", + "customActionTimeoutInMins": 120, + "isCustomActionTimeoutEnabled": true, + "isMonthlyPatchingEnabled": true + }, + "estimatedPatchingTime": { + "estimatedDbServerPatchingTime": 3000, + "estimatedNetworkSwitchesPatchingTime": 3000, + "estimatedStorageServerPatchingTime": 3000, + "totalEstimatedPatchingTime": 3000 + }, + "customerContacts": [ + { + "email": "noreply@oracle.com" + } + ], + "provisioningState": "Succeeded", + "shape": "EXADATA.X9M", + "ociUrl": "https://url", + "cpuCount": 10, + "maxCpuCount": 100, + "memorySizeInGbs": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 10, + "maxDbNodeStorageSizeInGbs": 10, + "dataStorageSizeInTbs": 10, + "maxDataStorageInTbs": 1000, + "dbServerVersion": "19.0.0.0", + "storageServerVersion": "0.0", + "activatedStorageCount": 1, + "additionalStorageCount": 1, + "displayName": "infra 1", + "lastMaintenanceRunId": "ocid1..aaaaa", + "nextMaintenanceRunId": "ocid1..aaaaaa", + "monthlyDbServerVersion": "aaaa", + "monthlyStorageServerVersion": "aaaa" + }, + "zones": [ + "1" + ] + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_delete.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_delete.json new file mode 100644 index 000000000000..b119f726a165 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_delete.json @@ -0,0 +1,19 @@ +{ + "operationId": "CloudExadataInfrastructures_delete", + "title": "CloudExadataInfrastructures_delete", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudexadatainfrastructurename": "infra1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + }, + "204": {} + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_get.json new file mode 100644 index 000000000000..96e2654c3431 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_get.json @@ -0,0 +1,89 @@ +{ + "operationId": "CloudExadataInfrastructures_get", + "title": "CloudExadataInfrastructures_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudexadatainfrastructurename": "infra1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaaaa", + "computeCount": 100, + "storageCount": 10, + "totalStorageSizeInGbs": 1000, + "availableStorageSizeInGbs": 1000, + "timeCreated": "2023-02-01T01:01:00", + "lifecycleDetails": "none", + "maintenanceWindow": { + "preference": "NoPreference", + "months": [ + { + "name": "January" + } + ], + "weeksOfMonth": [ + 0 + ], + "daysOfWeek": [ + { + "name": "Monday" + } + ], + "hoursOfDay": [ + 0 + ], + "leadTimeInWeeks": 0, + "patchingMode": "Rolling", + "customActionTimeoutInMins": 120, + "isCustomActionTimeoutEnabled": true, + "isMonthlyPatchingEnabled": true + }, + "estimatedPatchingTime": { + "estimatedDbServerPatchingTime": 3000, + "estimatedNetworkSwitchesPatchingTime": 3000, + "estimatedStorageServerPatchingTime": 3000, + "totalEstimatedPatchingTime": 3000 + }, + "customerContacts": [ + { + "email": "noreply@oracle.com" + } + ], + "provisioningState": "Succeeded", + "shape": "EXADATA.X9M", + "ociUrl": "https://url", + "cpuCount": 10, + "maxCpuCount": 100, + "memorySizeInGbs": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 10, + "maxDbNodeStorageSizeInGbs": 10, + "dataStorageSizeInTbs": 10, + "maxDataStorageInTbs": 1000, + "dbServerVersion": "19.0.0.0", + "storageServerVersion": "0.0", + "activatedStorageCount": 1, + "additionalStorageCount": 1, + "displayName": "infra 1", + "lastMaintenanceRunId": "ocid1..aaaaa", + "nextMaintenanceRunId": "ocid1..aaaaaa", + "monthlyDbServerVersion": "aaaa", + "monthlyStorageServerVersion": "aaaa" + }, + "zones": [ + "1" + ] + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_listByResourceGroup.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_listByResourceGroup.json new file mode 100644 index 000000000000..7d7d55d0dfcb --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_listByResourceGroup.json @@ -0,0 +1,93 @@ +{ + "operationId": "CloudExadataInfrastructures_listByResourceGroup", + "title": "CloudExadataInfrastructures_listByResourceGroup", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaaaa", + "computeCount": 100, + "storageCount": 10, + "totalStorageSizeInGbs": 1000, + "availableStorageSizeInGbs": 1000, + "timeCreated": "2023-02-01T01:01:00", + "lifecycleDetails": "none", + "maintenanceWindow": { + "preference": "NoPreference", + "months": [ + { + "name": "January" + } + ], + "weeksOfMonth": [ + 0 + ], + "daysOfWeek": [ + { + "name": "Monday" + } + ], + "hoursOfDay": [ + 0 + ], + "leadTimeInWeeks": 0, + "patchingMode": "Rolling", + "customActionTimeoutInMins": 120, + "isCustomActionTimeoutEnabled": true, + "isMonthlyPatchingEnabled": true + }, + "estimatedPatchingTime": { + "estimatedDbServerPatchingTime": 3000, + "estimatedNetworkSwitchesPatchingTime": 3000, + "estimatedStorageServerPatchingTime": 3000, + "totalEstimatedPatchingTime": 3000 + }, + "customerContacts": [ + { + "email": "noreply@oracle.com" + } + ], + "provisioningState": "Succeeded", + "shape": "EXADATA.X9M", + "ociUrl": "https://url", + "cpuCount": 10, + "maxCpuCount": 100, + "memorySizeInGbs": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 10, + "maxDbNodeStorageSizeInGbs": 10, + "dataStorageSizeInTbs": 10, + "maxDataStorageInTbs": 1000, + "dbServerVersion": "19.0.0.0", + "storageServerVersion": "0.0", + "activatedStorageCount": 1, + "additionalStorageCount": 1, + "displayName": "infra 1", + "lastMaintenanceRunId": "ocid1..aaaaa", + "nextMaintenanceRunId": "ocid1..aaaaaa", + "monthlyDbServerVersion": "aaaa", + "monthlyStorageServerVersion": "aaaa" + }, + "zones": [ + "1" + ] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_listBySubscription.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_listBySubscription.json new file mode 100644 index 000000000000..f07600a26b95 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_listBySubscription.json @@ -0,0 +1,92 @@ +{ + "operationId": "CloudExadataInfrastructures_listBySubscription", + "title": "CloudExadataInfrastructures_listBySubscription", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaaaa", + "computeCount": 100, + "storageCount": 10, + "totalStorageSizeInGbs": 1000, + "availableStorageSizeInGbs": 1000, + "timeCreated": "2023-02-01T01:01:00", + "lifecycleDetails": "none", + "maintenanceWindow": { + "preference": "NoPreference", + "months": [ + { + "name": "January" + } + ], + "weeksOfMonth": [ + 0 + ], + "daysOfWeek": [ + { + "name": "Monday" + } + ], + "hoursOfDay": [ + 0 + ], + "leadTimeInWeeks": 0, + "patchingMode": "Rolling", + "customActionTimeoutInMins": 120, + "isCustomActionTimeoutEnabled": true, + "isMonthlyPatchingEnabled": true + }, + "estimatedPatchingTime": { + "estimatedDbServerPatchingTime": 3000, + "estimatedNetworkSwitchesPatchingTime": 3000, + "estimatedStorageServerPatchingTime": 3000, + "totalEstimatedPatchingTime": 3000 + }, + "customerContacts": [ + { + "email": "noreply@oracle.com" + } + ], + "provisioningState": "Succeeded", + "shape": "EXADATA.X9M", + "ociUrl": "https://url", + "cpuCount": 10, + "maxCpuCount": 100, + "memorySizeInGbs": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 10, + "maxDbNodeStorageSizeInGbs": 10, + "dataStorageSizeInTbs": 10, + "maxDataStorageInTbs": 1000, + "dbServerVersion": "19.0.0.0", + "storageServerVersion": "0.0", + "activatedStorageCount": 1, + "additionalStorageCount": 1, + "displayName": "infra 1", + "lastMaintenanceRunId": "ocid1..aaaaa", + "nextMaintenanceRunId": "ocid1..aaaaaa", + "monthlyDbServerVersion": "aaaa", + "monthlyStorageServerVersion": "aaaa" + }, + "zones": [ + "1" + ] + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_patch.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_patch.json new file mode 100644 index 000000000000..48e64b7089cb --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/exaInfra_patch.json @@ -0,0 +1,102 @@ +{ + "operationId": "CloudExadataInfrastructures_update", + "title": "CloudExadataInfrastructures_update", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudexadatainfrastructurename": "infra1", + "properties": {}, + "tags": { + "tagK1": "tagV1" + }, + "zones": [ + "1" + ] + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaaaa", + "computeCount": 100, + "storageCount": 10, + "totalStorageSizeInGbs": 1000, + "availableStorageSizeInGbs": 1000, + "timeCreated": "2023-02-01T01:01:00", + "lifecycleDetails": "none", + "maintenanceWindow": { + "preference": "NoPreference", + "months": [ + { + "name": "January" + } + ], + "weeksOfMonth": [ + 0 + ], + "daysOfWeek": [ + { + "name": "Monday" + } + ], + "hoursOfDay": [ + 0 + ], + "leadTimeInWeeks": 0, + "patchingMode": "Rolling", + "customActionTimeoutInMins": 120, + "isCustomActionTimeoutEnabled": true, + "isMonthlyPatchingEnabled": true + }, + "estimatedPatchingTime": { + "estimatedDbServerPatchingTime": 3000, + "estimatedNetworkSwitchesPatchingTime": 3000, + "estimatedStorageServerPatchingTime": 3000, + "totalEstimatedPatchingTime": 3000 + }, + "customerContacts": [ + { + "email": "noreply@oracle.com" + } + ], + "provisioningState": "Succeeded", + "shape": "EXADATA.X9M", + "ociUrl": "https://url", + "cpuCount": 10, + "maxCpuCount": 100, + "memorySizeInGbs": 100, + "maxMemoryInGbs": 1000, + "dbNodeStorageSizeInGbs": 10, + "maxDbNodeStorageSizeInGbs": 10, + "dataStorageSizeInTbs": 10, + "maxDataStorageInTbs": 1000, + "dbServerVersion": "19.0.0.0", + "storageServerVersion": "0.0", + "activatedStorageCount": 1, + "additionalStorageCount": 1, + "displayName": "infra 1", + "lastMaintenanceRunId": "ocid1..aaaaa", + "nextMaintenanceRunId": "ocid1..aaaaaa", + "monthlyDbServerVersion": "aaaa", + "monthlyStorageServerVersion": "aaaa" + }, + "zones": [ + "1" + ] + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/giVersions_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/giVersions_get.json new file mode 100644 index 000000000000..01248923f6f5 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/giVersions_get.json @@ -0,0 +1,21 @@ +{ + "operationId": "GiVersions_get", + "title": "GiVersions_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "giversionname": "19.0.0.0" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/giVersions/19.0.0.0", + "type": "Oracle.Database/locations/giVersions", + "properties": { + "version": "19.0.0.0" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/giVersions_listByLocation.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/giVersions_listByLocation.json new file mode 100644 index 000000000000..b866dca835c9 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/giVersions_listByLocation.json @@ -0,0 +1,25 @@ +{ + "operationId": "GiVersions_listByLocation", + "title": "GiVersions_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/giVersions/19.0.0.0", + "type": "Oracle.Database/locations/giVersions", + "properties": { + "version": "19.0.0.0" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/operations_list.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/operations_list.json new file mode 100644 index 000000000000..d927ae8962fc --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/operations_list.json @@ -0,0 +1,25 @@ +{ + "operationId": "Operations_list", + "title": "Operations_list", + "parameters": { + "api-version": "2023-09-01" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Oracle.Database/cloudExadataInfrastructures/Read", + "isDataAction": false, + "display": { + "provider": "Oracle.Database", + "resource": "cloudExadataInfrastructures", + "operation": "Get/list Exadata Infrastructure resources", + "description": "Reads Exadata Infrastructure" + } + } + ] + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_create.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_create.json new file mode 100644 index 000000000000..394635d7479b --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_create.json @@ -0,0 +1,56 @@ +{ + "operationId": "OracleSubscriptions_createOrUpdate", + "title": "OracleSubscriptions_createOrUpdate", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resource": { + "properties": {}, + "plan": { + "name": "plan1", + "publisher": "publisher1", + "product": "product1", + "promotionCode": "none", + "version": "alpha" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/oracleSubscriptions/default", + "type": "Oracle.Database/oracleSubscriptions", + "properties": { + "provisioningState": "Succeeded", + "saasSubscriptionId": "saas1", + "cloudAccountId": "ocid1..aaaaaa", + "cloudAccountState": "Pending" + }, + "plan": { + "name": "plan1", + "publisher": "publisher1", + "product": "product1", + "promotionCode": "none", + "version": "alpha" + } + } + }, + "201": { + "headers": { + "Retry-After": 100000000 + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/oracleSubscriptions/default", + "type": "Oracle.Database/oracleSubscriptions", + "properties": {}, + "plan": { + "name": "plan1", + "publisher": "publisher1", + "product": "product1", + "promotionCode": "none", + "version": "alpha" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_delete.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_delete.json new file mode 100644 index 000000000000..a3f4fdd80566 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_delete.json @@ -0,0 +1,17 @@ +{ + "operationId": "OracleSubscriptions_delete", + "title": "OracleSubscriptions_delete", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + }, + "204": {} + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_get.json new file mode 100644 index 000000000000..e17d4cc943ff --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_get.json @@ -0,0 +1,29 @@ +{ + "operationId": "OracleSubscriptions_get", + "title": "OracleSubscriptions_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/oracleSubscriptions/default", + "type": "Oracle.Database/oracleSubscriptions", + "properties": { + "provisioningState": "Succeeded", + "saasSubscriptionId": "saas1", + "cloudAccountId": "ocid1..aaaaaa", + "cloudAccountState": "Pending" + }, + "plan": { + "name": "plan1", + "publisher": "publisher1", + "product": "product1", + "promotionCode": "none", + "version": "alpha" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_listActivationLinks.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_listActivationLinks.json new file mode 100644 index 000000000000..bf739788191a --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_listActivationLinks.json @@ -0,0 +1,22 @@ +{ + "operationId": "OracleSubscriptions_listActivationLinks", + "title": "OracleSubscriptions_listActivationLinks", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "newCloudAccountActivationLink": "https://new-tenancy-activation-link", + "existingCloudAccountActivationLink": "https://existing-tenancy-activation-link" + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_listBySubscription.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_listBySubscription.json new file mode 100644 index 000000000000..9b92deeb3009 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_listBySubscription.json @@ -0,0 +1,34 @@ +{ + "operationId": "OracleSubscriptions_listBySubscription", + "title": "OracleSubscriptions_listBySubscription", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/oracleSubscriptions/default", + "type": "Oracle.Database/oracleSubscriptions", + "properties": { + "provisioningState": "Succeeded", + "saasSubscriptionId": "saas1", + "cloudAccountId": "ocid1..aaaaaa", + "cloudAccountState": "Pending" + }, + "plan": { + "name": "plan1", + "publisher": "publisher1", + "product": "product1", + "promotionCode": "none", + "version": "alpha" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_listCloudAccountDetails.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_listCloudAccountDetails.json new file mode 100644 index 000000000000..cbc79dc9991c --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_listCloudAccountDetails.json @@ -0,0 +1,22 @@ +{ + "operationId": "OracleSubscriptions_listCloudAccountDetails", + "title": "OracleSubscriptions_listCloudAccountDetails", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "cloudAccountName": "Cloud Account", + "cloudAccountHomeRegion": "East US" + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_listSaasSubscriptionDetails.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_listSaasSubscriptionDetails.json new file mode 100644 index 000000000000..d4d37478eac5 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_listSaasSubscriptionDetails.json @@ -0,0 +1,32 @@ +{ + "operationId": "OracleSubscriptions_listSaasSubscriptionDetails", + "title": "OracleSubscriptions_listSaasSubscriptionDetails", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "id": "1234567890", + "subscriptionName": "Oracle", + "timeCreated": "2022-03-07T00:00:00Z", + "offerId": "offer1", + "planId": "silver", + "saasSubscriptionStatus": "PendingFulfillmentStart", + "publisherId": "Oracle", + "purchaserEmailId": "test@test.com", + "purchaserTenantId": "1234567890", + "termUnit": "P1M", + "isAutoRenew": true, + "isFreeTrial": false + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_patch.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_patch.json new file mode 100644 index 000000000000..e036bd953687 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/oracleSubscriptions_patch.json @@ -0,0 +1,43 @@ +{ + "operationId": "OracleSubscriptions_update", + "title": "OracleSubscriptions_update", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "properties": {}, + "plan": { + "name": "plan1", + "publisher": "publisher1", + "product": "product1", + "promotionCode": "none", + "version": "alpha" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/oracleSubscriptions/default", + "type": "Oracle.Database/oracleSubscriptions", + "properties": { + "provisioningState": "Succeeded", + "saasSubscriptionId": "saas1", + "cloudAccountId": "ocid1..aaaaaa", + "cloudAccountState": "Pending" + }, + "plan": { + "name": "plan1", + "publisher": "publisher1", + "product": "product1", + "promotionCode": "none", + "version": "alpha" + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/systemVersions_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/systemVersions_get.json new file mode 100644 index 000000000000..ff277396146b --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/systemVersions_get.json @@ -0,0 +1,20 @@ +{ + "operationId": "SystemVersions_Get", + "title": "systemVersions_listSystemVersions", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus", + "systemversionname": "22.x" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/systemVersion/22.1.7.0.0.230113", + "properties": { + "systemVersion": "22.1.7.0.0.230113" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/systemVersions_listByLocation.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/systemVersions_listByLocation.json new file mode 100644 index 000000000000..3081db7a0107 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/systemVersions_listByLocation.json @@ -0,0 +1,24 @@ +{ + "operationId": "SystemVersions_ListByLocation", + "title": "systemVersions_listByLocation", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "location": "eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Oracle.Database/locations/eastus/systemVersion/22.1.7.0.0.230113", + "properties": { + "systemVersion": "22.1.7.0.0.230113" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/virtualNetworkAddresses_create.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/virtualNetworkAddresses_create.json new file mode 100644 index 000000000000..e4e5e4731c49 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/virtualNetworkAddresses_create.json @@ -0,0 +1,48 @@ +{ + "operationId": "VirtualNetworkAddresses_createOrUpdate", + "title": "VirtualNetworkAddresses_createOrUpdate", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "virtualnetworkaddressname": "hostname1", + "resource": { + "properties": { + "ipAddress": "192.168.0.1", + "vmOcid": "ocid1..aaaa" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/virtualNetworkAddresses/hostname1", + "type": "Oracle.Database/cloudVmClusters/virtualNetworkAddresses", + "properties": { + "ipAddress": "192.168.0.1", + "vmOcid": "ocid1..aaaa", + "ocid": "ocid1..aaaaaa", + "domain": "domain1", + "lifecycleDetails": "success", + "provisioningState": "Succeeded", + "lifecycleState": "Available", + "timeAssigned": "2023-10-22T00:27:02.119Z" + } + } + }, + "201": { + "headers": { + "Retry-After": 100000000 + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "type": "Oracle.Database/cloudExadataInfrastructures", + "properties": { + "ipAddress": "192.168.0.1", + "vmOcid": "ocid1..aaaa" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/virtualNetworkAddresses_delete.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/virtualNetworkAddresses_delete.json new file mode 100644 index 000000000000..52044e7b9b0d --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/virtualNetworkAddresses_delete.json @@ -0,0 +1,20 @@ +{ + "operationId": "VirtualNetworkAddresses_delete", + "title": "VirtualNetworkAddresses_delete", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "virtualnetworkaddressname": "hostname1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + }, + "204": {} + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/virtualNetworkAddresses_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/virtualNetworkAddresses_get.json new file mode 100644 index 000000000000..17965d066dc9 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/virtualNetworkAddresses_get.json @@ -0,0 +1,29 @@ +{ + "operationId": "VirtualNetworkAddresses_get", + "title": "VirtualNetworkAddresses_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "virtualnetworkaddressname": "hostname1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/virtualNetworkAddresses/hostname1", + "type": "Oracle.Database/cloudVmClusters/virtualNetworkAddresses", + "properties": { + "ipAddress": "192.168.0.1", + "vmOcid": "ocid1..aaaa", + "ocid": "ocid1..aaaaaa", + "domain": "domain1", + "lifecycleDetails": "success", + "provisioningState": "Succeeded", + "lifecycleState": "Available", + "timeAssigned": "2023-10-22T00:27:02.119Z" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/virtualNetworkAddresses_listByParent.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/virtualNetworkAddresses_listByParent.json new file mode 100644 index 000000000000..041bf6e58f70 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/virtualNetworkAddresses_listByParent.json @@ -0,0 +1,33 @@ +{ + "operationId": "VirtualNetworkAddresses_listByCloudVmCluster", + "title": "VirtualNetworkAddresses_listByCloudVmCluster", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1/virtualNetworkAddresses/hostname1", + "type": "Oracle.Database/cloudVmClusters/virtualNetworkAddresses", + "properties": { + "ipAddress": "192.168.0.1", + "vmOcid": "ocid1..aaaa", + "ocid": "ocid1..aaaaaa", + "domain": "domain1", + "lifecycleDetails": "success", + "provisioningState": "Succeeded", + "lifecycleState": "Available", + "timeAssigned": "2023-10-22T00:27:02.119Z" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_addVms.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_addVms.json new file mode 100644 index 000000000000..a59cbba9cc55 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_addVms.json @@ -0,0 +1,102 @@ +{ + "operationId": "CloudVmClusters_addVms", + "title": "CloudVmClusters_addVms", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "body": { + "dbServers": [ + "ocid1..aaaa", + "ocid1..aaaaaa" + ] + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaa", + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "Disabled", + "lifecycleState": "Disabled", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_create.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_create.json new file mode 100644 index 000000000000..725a39fed932 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_create.json @@ -0,0 +1,224 @@ +{ + "operationId": "CloudVmClusters_createOrUpdate", + "title": "CloudVmClusters_createOrUpdate", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "resource": { + "properties": { + "dataStorageSizeInTbs": 1000, + "dbNodeStorageSizeInGbs": 1000, + "memorySizeInGbs": 1000, + "timeZone": "UTC", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 2, + "ocpuCount": 3, + "clusterName": "cluster1", + "dataStoragePercentage": 100, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "nsgCidrs": [ + { + "source": "10.0.0.0/16", + "destinationPortRange": { + "min": 1520, + "max": 1522 + } + }, + { + "source": "10.10.0.0/24" + } + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "dbServers": [ + "ocid1..aaaa" + ] + }, + "location": "eastus", + "tags": { + "tagK1": "tagV1" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaa", + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "Disabled", + "lifecycleState": "Disabled", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + }, + "201": { + "headers": { + "Retry-After": 100000000 + }, + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "BootStrapping", + "lifecycleState": "BootStrapping", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_delete.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_delete.json new file mode 100644 index 000000000000..d3ecdf7acffb --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_delete.json @@ -0,0 +1,19 @@ +{ + "operationId": "CloudVmClusters_delete", + "title": "CloudVmClusters_delete", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1" + }, + "responses": { + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + }, + "204": {} + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_get.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_get.json new file mode 100644 index 000000000000..01a8f6223cd8 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_get.json @@ -0,0 +1,104 @@ +{ + "operationId": "CloudVmClusters_get", + "title": "CloudVmClusters_get", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaa", + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "nsgCidrs": [ + { + "source": "10.0.0.0/16", + "destinationPortRange": { + "min": 1520, + "max": 1522 + } + }, + { + "source": "10.10.0.0/24" + } + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "nsgUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "Disabled", + "lifecycleState": "Disabled", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_listByResourceGroup.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_listByResourceGroup.json new file mode 100644 index 000000000000..ccacae618db0 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_listByResourceGroup.json @@ -0,0 +1,95 @@ +{ + "operationId": "CloudVmClusters_listByResourceGroup", + "title": "CloudVmClusters_listByResourceGroup", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaa", + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "Disabled", + "lifecycleState": "Disabled", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_listBySubscription.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_listBySubscription.json new file mode 100644 index 000000000000..13bfe7b4071a --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_listBySubscription.json @@ -0,0 +1,94 @@ +{ + "operationId": "CloudVmClusters_listBySubscription", + "title": "CloudVmClusters_listBySubscription", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaa", + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "Disabled", + "lifecycleState": "Disabled", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + ], + "nextLink": null + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_listPrivateIpAddresses.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_listPrivateIpAddresses.json new file mode 100644 index 000000000000..0b6b219e0e0f --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_listPrivateIpAddresses.json @@ -0,0 +1,27 @@ +{ + "operationId": "CloudVmClusters_listPrivateIpAddresses", + "title": "CloudVmClusters_listPrivateIpAddresses", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "body": { + "subnetId": "ocid1..aaaaaa", + "vnicId": "ocid1..aaaaa" + } + }, + "responses": { + "200": { + "body": [ + { + "displayName": "ip1", + "hostnameLabel": "hostname1", + "ocid": "ocid1..aaaa", + "ipAddress": "192.168.0.1", + "subnetId": "ocid1..aaaa" + } + ] + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_patch.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_patch.json new file mode 100644 index 000000000000..76037942f35c --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_patch.json @@ -0,0 +1,101 @@ +{ + "operationId": "CloudVmClusters_update", + "title": "CloudVmClusters_update", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "properties": {}, + "tags": { + "tagK1": "tagV1" + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaa", + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "Disabled", + "lifecycleState": "Disabled", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_removeVms.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_removeVms.json new file mode 100644 index 000000000000..d7f3c0daebbc --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/examples/vmClusters_removeVms.json @@ -0,0 +1,102 @@ +{ + "operationId": "CloudVmClusters_removeVms", + "title": "CloudVmClusters_removeVms", + "parameters": { + "api-version": "2023-09-01", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "rg000", + "cloudvmclustername": "cluster1", + "body": { + "dbServers": [ + "ocid1..aaaa" + ] + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudVmClusters/cluster1", + "type": "Oracle.Database/cloudVmClusters", + "location": "eastus", + "tags": { + "tagK1": "tagV1" + }, + "properties": { + "ocid": "ocid1..aaaa", + "listenerPort": 1050, + "nodeCount": 100, + "storageSizeInGbs": 1000, + "dataStorageSizeInTbs": 10, + "dbNodeStorageSizeInGbs": 100, + "memorySizeInGbs": 1000, + "timeCreated": "2023-10-22T02:18:35.683Z", + "lifecycleDetails": "success", + "timeZone": "UTC", + "zoneId": "ocid1..aaaa", + "hostname": "hostname1", + "domain": "domain1", + "cpuCoreCount": 10, + "ocpuCount": 100, + "clusterName": "cluster1", + "dataStoragePercentage": 80, + "isLocalBackupEnabled": false, + "cloudExadataInfrastructureId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Oracle.Database/cloudExadataInfrastructures/infra1", + "isSparseDiskgroupEnabled": false, + "sshPublicKeys": [ + "ssh-key 1" + ], + "licenseModel": "LicenseIncluded", + "scanListenerPortTcp": 1050, + "scanListenerPortTcpSsl": 1025, + "vnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1", + "giVersion": "19.0.0.0", + "subnetId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg000/providers/Microsoft.Network/virtualNetworks/vnet1/subnets/subnet1", + "backupSubnetCidr": "172.17.5.0/24", + "systemVersion": "v1", + "diskRedundancy": "High", + "scanIpIds": [ + "10.0.0.1" + ], + "vipIds": [ + "10.0.1.3" + ], + "scanDnsName": "dbdns1", + "scanDnsRecordId": "scandns1", + "shape": "EXADATA.X9M", + "provisioningState": "Succeeded", + "ociUrl": "https://fake", + "dataCollectionOptions": { + "isDiagnosticsEventsEnabled": false, + "isHealthMonitoringEnabled": false, + "isIncidentLogsEnabled": false + }, + "displayName": "cluster 1", + "iormConfigCache": { + "dbPlans": [ + { + "dbName": "db1", + "flashCacheLimit": "none", + "share": 32 + } + ], + "lifecycleDetails": "Disabled", + "lifecycleState": "Disabled", + "objective": "LowLatency" + }, + "lastUpdateHistoryEntryId": "none", + "dbServers": [ + "ocid1..aaaa" + ], + "compartmentId": "ocid1..aaaaaa", + "subnetOcid": "ocid1..aaaaaa" + } + } + }, + "202": { + "headers": { + "Retry-After": 10000000, + "Location": "eastus" + } + } + } +} diff --git a/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/openapi.json b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/openapi.json new file mode 100644 index 000000000000..c52ff3db2159 --- /dev/null +++ b/specification/oracle/resource-manager/Oracle.Database/stable/2023-09-01/openapi.json @@ -0,0 +1,9811 @@ +{ + "swagger": "2.0", + "info": { + "title": "Oracle Database Resource Manager", + "version": "2023-09-01", + "x-typespec-generated": [ + { + "emitter": "@azure-tools/typespec-autorest" + } + ] + }, + "schemes": [ + "https" + ], + "host": "management.azure.com", + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ], + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "description": "Azure Active Directory OAuth2 Flow.", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + } + } + }, + "tags": [ + { + "name": "Operations" + }, + { + "name": "CloudExadataInfrastructures" + }, + { + "name": "DbServers" + }, + { + "name": "CloudVmClusters" + }, + { + "name": "VirtualNetworkAddresses" + }, + { + "name": "SystemVersions" + }, + { + "name": "OracleSubscriptions" + }, + { + "name": "DbNodes" + }, + { + "name": "GiVersions" + }, + { + "name": "DbSystemShapes" + }, + { + "name": "DnsPrivateViews" + }, + { + "name": "DnsPrivateZones" + }, + { + "name": "AutonomousDatabases" + }, + { + "name": "AutonomousDatabaseBackups" + }, + { + "name": "AutonomousDatabaseCharacterSets" + }, + { + "name": "AutonomousDatabaseNationalCharacterSets" + }, + { + "name": "AutonomousDatabaseVersions" + } + ], + "paths": { + "/providers/Oracle.Database/operations": { + "get": { + "operationId": "Operations_List", + "tags": [ + "Operations" + ], + "description": "List the operations for the provider", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/OperationListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Operations": { + "$ref": "./examples/operations_list.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/autonomousDatabases": { + "get": { + "operationId": "AutonomousDatabases_ListBySubscription", + "tags": [ + "AutonomousDatabases" + ], + "description": "List AutonomousDatabase resources by subscription ID", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabaseListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Autonomous Database by subscription": { + "$ref": "./examples/autonomousDatabase_listBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/cloudExadataInfrastructures": { + "get": { + "operationId": "CloudExadataInfrastructures_ListBySubscription", + "tags": [ + "CloudExadataInfrastructures" + ], + "description": "List CloudExadataInfrastructure resources by subscription ID", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CloudExadataInfrastructureListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Exadata Infrastructure by subscription": { + "$ref": "./examples/exaInfra_listBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/cloudVmClusters": { + "get": { + "operationId": "CloudVmClusters_ListBySubscription", + "tags": [ + "CloudVmClusters" + ], + "description": "List CloudVmCluster resources by subscription ID", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CloudVmClusterListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List VM Clusters by subscription": { + "$ref": "./examples/vmClusters_listBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/autonomousDatabaseCharacterSets": { + "get": { + "operationId": "AutonomousDatabaseCharacterSets_ListByLocation", + "tags": [ + "AutonomousDatabaseCharacterSets" + ], + "description": "List AutonomousDatabaseCharacterSet resources by Location", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabaseCharacterSetListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List autonomous db character sets by location": { + "$ref": "./examples/autonomousDatabaseCharacterSet_listByLocation.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/autonomousDatabaseCharacterSets/{adbscharsetname}": { + "get": { + "operationId": "AutonomousDatabaseCharacterSets_Get", + "tags": [ + "AutonomousDatabaseCharacterSets" + ], + "description": "Get a AutonomousDatabaseCharacterSet", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "adbscharsetname", + "in": "path", + "description": "AutonomousDatabaseCharacterSet name", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabaseCharacterSet" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get autonomous db character set": { + "$ref": "./examples/autonomousDatabaseCharacterSet_get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/autonomousDatabaseNationalCharacterSets": { + "get": { + "operationId": "AutonomousDatabaseNationalCharacterSets_ListByLocation", + "tags": [ + "AutonomousDatabaseNationalCharacterSets" + ], + "description": "List AutonomousDatabaseNationalCharacterSet resources by Location", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabaseNationalCharacterSetListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List autonomous db national character sets by location": { + "$ref": "./examples/autonomousDatabaseNationalCharacterSet_listByLocation.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/autonomousDatabaseNationalCharacterSets/{adbsncharsetname}": { + "get": { + "operationId": "AutonomousDatabaseNationalCharacterSets_Get", + "tags": [ + "AutonomousDatabaseNationalCharacterSets" + ], + "description": "Get a AutonomousDatabaseNationalCharacterSet", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "adbsncharsetname", + "in": "path", + "description": "AutonomousDatabaseNationalCharacterSets name", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabaseNationalCharacterSet" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get autonomous db national character set": { + "$ref": "./examples/autonomousDatabaseNationalCharacterSet_get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/autonomousDbVersions": { + "get": { + "operationId": "AutonomousDatabaseVersions_ListByLocation", + "tags": [ + "AutonomousDatabaseVersions" + ], + "description": "List AutonomousDbVersion resources by Location", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDbVersionListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List an autonomous versions by location": { + "$ref": "./examples/autonomousDatabaseVersion_listByLocation.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/autonomousDbVersions/{autonomousdbversionsname}": { + "get": { + "operationId": "AutonomousDatabaseVersions_Get", + "tags": [ + "AutonomousDatabaseVersions" + ], + "description": "Get a AutonomousDbVersion", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "autonomousdbversionsname", + "in": "path", + "description": "AutonomousDbVersion name", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDbVersion" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get an autonomous version": { + "$ref": "./examples/autonomousDatabaseVersion_get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/dbSystemShapes": { + "get": { + "operationId": "DbSystemShapes_ListByLocation", + "tags": [ + "DbSystemShapes" + ], + "description": "List DbSystemShape resources by Location", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DbSystemShapeListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List DbSystemShapes by location": { + "$ref": "./examples/dbSystemShapes_listByLocation.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/dbSystemShapes/{dbsystemshapename}": { + "get": { + "operationId": "DbSystemShapes_Get", + "tags": [ + "DbSystemShapes" + ], + "description": "Get a DbSystemShape", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "dbsystemshapename", + "in": "path", + "description": "DbSystemShape name", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DbSystemShape" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a DbSystemShape by name": { + "$ref": "./examples/dbSystemShapes_get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/dnsPrivateViews": { + "get": { + "operationId": "DnsPrivateViews_ListByLocation", + "tags": [ + "DnsPrivateViews" + ], + "description": "List DnsPrivateView resources by Location", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DnsPrivateViewListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List DnsPrivateViews by location": { + "$ref": "./examples/dnsPrivateViews_listByLocation.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/dnsPrivateViews/{dnsprivateviewocid}": { + "get": { + "operationId": "DnsPrivateViews_Get", + "tags": [ + "DnsPrivateViews" + ], + "description": "Get a DnsPrivateView", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "dnsprivateviewocid", + "in": "path", + "description": "DnsPrivateView OCID", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 255, + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DnsPrivateView" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a DnsPrivateView by name": { + "$ref": "./examples/dnsPrivateViews_get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/dnsPrivateZones": { + "get": { + "operationId": "DnsPrivateZones_ListByLocation", + "tags": [ + "DnsPrivateZones" + ], + "description": "List DnsPrivateZone resources by Location", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DnsPrivateZoneListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List DnsPrivateZones by location": { + "$ref": "./examples/dnsPrivateZones_listByLocation.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/dnsPrivateZones/{dnsprivatezonename}": { + "get": { + "operationId": "DnsPrivateZones_Get", + "tags": [ + "DnsPrivateZones" + ], + "description": "Get a DnsPrivateZone", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "dnsprivatezonename", + "in": "path", + "description": "DnsPrivateZone name", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DnsPrivateZone" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a DnsPrivateZone by name": { + "$ref": "./examples/dnsPrivateZones_get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/giVersions": { + "get": { + "operationId": "GiVersions_ListByLocation", + "tags": [ + "GiVersions" + ], + "description": "List GiVersion resources by Location", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/GiVersionListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List GiVersions by location": { + "$ref": "./examples/giVersions_listByLocation.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/giVersions/{giversionname}": { + "get": { + "operationId": "GiVersions_Get", + "tags": [ + "GiVersions" + ], + "description": "Get a GiVersion", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "giversionname", + "in": "path", + "description": "GiVersion name", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/GiVersion" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get a GiVersion by name": { + "$ref": "./examples/giVersions_get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/systemVersions": { + "get": { + "operationId": "SystemVersions_ListByLocation", + "tags": [ + "SystemVersions" + ], + "description": "List SystemVersion resources by Location", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/SystemVersionListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Exadata System Versions by the provided filter": { + "$ref": "./examples/systemVersions_listByLocation.json" + }, + "systemVersions_listByLocation": { + "$ref": "./examples/systemVersions_listByLocation.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/locations/{location}/systemVersions/{systemversionname}": { + "get": { + "operationId": "SystemVersions_Get", + "tags": [ + "SystemVersions" + ], + "description": "Get a SystemVersion", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/LocationParameter" + }, + { + "name": "systemversionname", + "in": "path", + "description": "SystemVersion name", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/SystemVersion" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Exadata System Version": { + "$ref": "./examples/systemVersions_get.json" + }, + "systemVersions_listSystemVersions": { + "$ref": "./examples/systemVersions_get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/oracleSubscriptions": { + "get": { + "operationId": "OracleSubscriptions_ListBySubscription", + "tags": [ + "OracleSubscriptions" + ], + "description": "List OracleSubscription resources by subscription ID", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/OracleSubscriptionListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Oracle Subscriptions by subscription": { + "$ref": "./examples/oracleSubscriptions_listBySubscription.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/oracleSubscriptions/default": { + "get": { + "operationId": "OracleSubscriptions_Get", + "tags": [ + "OracleSubscriptions" + ], + "description": "Get a OracleSubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/OracleSubscription" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Oracle Subscription": { + "$ref": "./examples/oracleSubscriptions_get.json" + } + } + }, + "put": { + "operationId": "OracleSubscriptions_CreateOrUpdate", + "tags": [ + "OracleSubscriptions" + ], + "description": "Create a OracleSubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/OracleSubscription" + } + } + ], + "responses": { + "200": { + "description": "Resource 'OracleSubscription' update operation succeeded", + "schema": { + "$ref": "#/definitions/OracleSubscription" + } + }, + "201": { + "description": "Resource 'OracleSubscription' create operation succeeded", + "schema": { + "$ref": "#/definitions/OracleSubscription" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create or Update Oracle Subscription": { + "$ref": "./examples/oracleSubscriptions_create.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "OracleSubscriptions_Update", + "tags": [ + "OracleSubscriptions" + ], + "description": "Update a OracleSubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/OracleSubscriptionUpdate" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/OracleSubscription" + } + }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Oracle Subscription": { + "$ref": "./examples/oracleSubscriptions_patch.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "OracleSubscriptions_Delete", + "tags": [ + "OracleSubscriptions" + ], + "description": "Delete a OracleSubscription", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Oracle Subscription": { + "$ref": "./examples/oracleSubscriptions_delete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/oracleSubscriptions/default/listActivationLinks": { + "post": { + "operationId": "OracleSubscriptions_ListActivationLinks", + "tags": [ + "OracleSubscriptions" + ], + "description": "List Activation Links", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/ActivationLinks" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Activation Links for the Oracle Subscription": { + "$ref": "./examples/oracleSubscriptions_listActivationLinks.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/oracleSubscriptions/default/listCloudAccountDetails": { + "post": { + "operationId": "OracleSubscriptions_ListCloudAccountDetails", + "tags": [ + "OracleSubscriptions" + ], + "description": "List Cloud Account Details", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CloudAccountDetails" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Cloud Account details for the Oracle Subscription": { + "$ref": "./examples/oracleSubscriptions_listCloudAccountDetails.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/providers/Oracle.Database/oracleSubscriptions/default/listSaasSubscriptionDetails": { + "post": { + "operationId": "OracleSubscriptions_ListSaasSubscriptionDetails", + "tags": [ + "OracleSubscriptions" + ], + "description": "List Saas Subscription Details", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/SaasSubscriptionDetails" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Saas Subscription details for the Oracle Subscription": { + "$ref": "./examples/oracleSubscriptions_listSaasSubscriptionDetails.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/autonomousDatabases": { + "get": { + "operationId": "AutonomousDatabases_ListByResourceGroup", + "tags": [ + "AutonomousDatabases" + ], + "description": "List AutonomousDatabase resources by resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabaseListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Autonomous Database by resource group": { + "$ref": "./examples/autonomousDatabase_listByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/autonomousDatabases/{autonomousdatabasename}": { + "get": { + "operationId": "AutonomousDatabases_Get", + "tags": [ + "AutonomousDatabases" + ], + "description": "Get a AutonomousDatabase", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "autonomousdatabasename", + "in": "path", + "description": "The database name.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 30, + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabase" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AutonomousDatabases_Get": { + "$ref": "./examples/autonomousDatabase_get.json" + }, + "Get Autonomous Database": { + "$ref": "./examples/autonomousDatabase_get.json" + } + } + }, + "put": { + "operationId": "AutonomousDatabases_CreateOrUpdate", + "tags": [ + "AutonomousDatabases" + ], + "description": "Create a AutonomousDatabase", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "autonomousdatabasename", + "in": "path", + "description": "The database name.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 30, + "pattern": ".*" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/AutonomousDatabase" + } + } + ], + "responses": { + "200": { + "description": "Resource 'AutonomousDatabase' update operation succeeded", + "schema": { + "$ref": "#/definitions/AutonomousDatabase" + } + }, + "201": { + "description": "Resource 'AutonomousDatabase' create operation succeeded", + "schema": { + "$ref": "#/definitions/AutonomousDatabase" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AutonomousDatabases_CreateOrUpdate": { + "$ref": "./examples/autonomousDatabase_create.json" + }, + "AutonomousDatabases_CreateOrUpdate_clone": { + "$ref": "./examples/autonomousDatabaseClone_create.json" + }, + "Create Autonomous Database": { + "$ref": "./examples/autonomousDatabase_create.json" + }, + "Create clone Autonomous Database": { + "$ref": "./examples/autonomousDatabaseClone_create.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "AutonomousDatabases_Update", + "tags": [ + "AutonomousDatabases" + ], + "description": "Update a AutonomousDatabase", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "autonomousdatabasename", + "in": "path", + "description": "The database name.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 30, + "pattern": ".*" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/AutonomousDatabaseUpdate" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabase" + } + }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Autonomous Database": { + "$ref": "./examples/autonomousDatabase_patch.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "AutonomousDatabases_Delete", + "tags": [ + "AutonomousDatabases" + ], + "description": "Delete a AutonomousDatabase", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "autonomousdatabasename", + "in": "path", + "description": "The database name.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 30, + "pattern": ".*" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Autonomous Database": { + "$ref": "./examples/autonomousDatabase_delete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/autonomousDatabases/{autonomousdatabasename}/autonomousDatabaseBackups": { + "get": { + "operationId": "AutonomousDatabaseBackups_ListByAutonomousDatabase", + "tags": [ + "AutonomousDatabaseBackups" + ], + "description": "List AutonomousDatabaseBackup resources by AutonomousDatabase", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "autonomousdatabasename", + "in": "path", + "description": "The database name.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 30, + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabaseBackupListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AutonomousDatabaseBackups_ListByAutonomousDatabase": { + "$ref": "./examples/autonomousDatabaseBackup_listByParent.json" + }, + "List Autonomous Database Backups by Autonomous Database.": { + "$ref": "./examples/autonomousDatabaseBackup_listByParent.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/autonomousDatabases/{autonomousdatabasename}/autonomousDatabaseBackups/{adbbackupid}": { + "get": { + "operationId": "AutonomousDatabaseBackups_Get", + "tags": [ + "AutonomousDatabaseBackups" + ], + "description": "Get a AutonomousDatabaseBackup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "autonomousdatabasename", + "in": "path", + "description": "The database name.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 30, + "pattern": ".*" + }, + { + "name": "adbbackupid", + "in": "path", + "description": "AutonomousDatabaseBackup id", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabaseBackup" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AutonomousDatabaseBackups_Get": { + "$ref": "./examples/autonomousDatabaseBackup_get.json" + }, + "Get Autonomous Database Backup.": { + "$ref": "./examples/autonomousDatabaseBackup_get.json" + } + } + }, + "put": { + "operationId": "AutonomousDatabaseBackups_CreateOrUpdate", + "tags": [ + "AutonomousDatabaseBackups" + ], + "description": "Create a AutonomousDatabaseBackup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "autonomousdatabasename", + "in": "path", + "description": "The database name.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 30, + "pattern": ".*" + }, + { + "name": "adbbackupid", + "in": "path", + "description": "AutonomousDatabaseBackup id", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/AutonomousDatabaseBackup" + } + } + ], + "responses": { + "200": { + "description": "Resource 'AutonomousDatabaseBackup' update operation succeeded", + "schema": { + "$ref": "#/definitions/AutonomousDatabaseBackup" + } + }, + "201": { + "description": "Resource 'AutonomousDatabaseBackup' create operation succeeded", + "schema": { + "$ref": "#/definitions/AutonomousDatabaseBackup" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AutonomousDatabaseBackups_CreateOrUpdate": { + "$ref": "./examples/autonomousDatabaseBackup_create.json" + }, + "Create Autonomous Database Backup.": { + "$ref": "./examples/autonomousDatabaseBackup_create.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "AutonomousDatabaseBackups_Update", + "tags": [ + "AutonomousDatabaseBackups" + ], + "description": "Update a AutonomousDatabaseBackup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "autonomousdatabasename", + "in": "path", + "description": "The database name.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 30, + "pattern": ".*" + }, + { + "name": "adbbackupid", + "in": "path", + "description": "AutonomousDatabaseBackup id", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/AutonomousDatabaseBackupUpdate" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabaseBackup" + } + }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AutonomousDatabaseBackups_Update": { + "$ref": "./examples/autonomousDatabaseBackup_patch.json" + }, + "Patch Autonomous Database Backup.": { + "$ref": "./examples/autonomousDatabaseBackup_patch.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "AutonomousDatabaseBackups_Delete", + "tags": [ + "AutonomousDatabaseBackups" + ], + "description": "Delete a AutonomousDatabaseBackup", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "autonomousdatabasename", + "in": "path", + "description": "The database name.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 30, + "pattern": ".*" + }, + { + "name": "adbbackupid", + "in": "path", + "description": "AutonomousDatabaseBackup id", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AutonomousDatabaseBackups_Delete": { + "$ref": "./examples/autonomousDatabaseBackup_delete.json" + }, + "Delete Autonomous Database Backup.": { + "$ref": "./examples/autonomousDatabaseBackup_delete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/autonomousDatabases/{autonomousdatabasename}/failover": { + "post": { + "operationId": "AutonomousDatabases_Failover", + "tags": [ + "AutonomousDatabases" + ], + "description": "Perform failover action on Autonomous Database", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "autonomousdatabasename", + "in": "path", + "description": "The database name.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 30, + "pattern": ".*" + }, + { + "name": "body", + "in": "body", + "description": "The content of the action request", + "required": true, + "schema": { + "$ref": "#/definitions/PeerDbDetails" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabase" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AutonomousDatabases_Failover": { + "$ref": "./examples/autonomousDatabase_failover.json" + }, + "Perform failover action on Autonomous Database": { + "$ref": "./examples/autonomousDatabase_failover.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/autonomousDatabases/{autonomousdatabasename}/generateWallet": { + "post": { + "operationId": "AutonomousDatabases_GenerateWallet", + "tags": [ + "AutonomousDatabases" + ], + "description": "Generate wallet action on Autonomous Database", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "autonomousdatabasename", + "in": "path", + "description": "The database name.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 30, + "pattern": ".*" + }, + { + "name": "body", + "in": "body", + "description": "The content of the action request", + "required": true, + "schema": { + "$ref": "#/definitions/GenerateAutonomousDatabaseWalletDetails" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabaseWalletFile" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Generate wallet action on Autonomous Database": { + "$ref": "./examples/autonomousDatabase_generateWallet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/autonomousDatabases/{autonomousdatabasename}/restore": { + "post": { + "operationId": "AutonomousDatabases_Restore", + "tags": [ + "AutonomousDatabases" + ], + "description": "Restores an Autonomous Database based on the provided request parameters.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "autonomousdatabasename", + "in": "path", + "description": "The database name.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 30, + "pattern": ".*" + }, + { + "name": "body", + "in": "body", + "description": "The content of the action request", + "required": true, + "schema": { + "$ref": "#/definitions/RestoreAutonomousDatabaseDetails" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabase" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AutonomousDatabases_Restore": { + "$ref": "./examples/autonomousDatabase_restore.json" + }, + "Perform restore action on Autonomous Database": { + "$ref": "./examples/autonomousDatabase_restore.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/autonomousDatabases/{autonomousdatabasename}/shrink": { + "post": { + "operationId": "AutonomousDatabases_Shrink", + "tags": [ + "AutonomousDatabases" + ], + "description": "This operation shrinks the current allocated storage down to the current actual used data storage.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "autonomousdatabasename", + "in": "path", + "description": "The database name.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 30, + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabase" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Perform shrink action on Autonomous Database": { + "$ref": "./examples/autonomousDatabase_shrink.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/autonomousDatabases/{autonomousdatabasename}/switchover": { + "post": { + "operationId": "AutonomousDatabases_Switchover", + "tags": [ + "AutonomousDatabases" + ], + "description": "Perform switchover action on Autonomous Database", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "autonomousdatabasename", + "in": "path", + "description": "The database name.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 30, + "pattern": ".*" + }, + { + "name": "body", + "in": "body", + "description": "The content of the action request", + "required": true, + "schema": { + "$ref": "#/definitions/PeerDbDetails" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/AutonomousDatabase" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "AutonomousDatabases_Switchover": { + "$ref": "./examples/autonomousDatabase_switchover.json" + }, + "Perform switchover action on Autonomous Database": { + "$ref": "./examples/autonomousDatabase_switchover.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudExadataInfrastructures": { + "get": { + "operationId": "CloudExadataInfrastructures_ListByResourceGroup", + "tags": [ + "CloudExadataInfrastructures" + ], + "description": "List CloudExadataInfrastructure resources by resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CloudExadataInfrastructureListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Exadata Infrastructure by resource group": { + "$ref": "./examples/exaInfra_listByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudExadataInfrastructures/{cloudexadatainfrastructurename}": { + "get": { + "operationId": "CloudExadataInfrastructures_Get", + "tags": [ + "CloudExadataInfrastructures" + ], + "description": "Get a CloudExadataInfrastructure", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudexadatainfrastructurename", + "in": "path", + "description": "CloudExadataInfrastructure name", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CloudExadataInfrastructure" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Exadata Infrastructure": { + "$ref": "./examples/exaInfra_get.json" + } + } + }, + "put": { + "operationId": "CloudExadataInfrastructures_CreateOrUpdate", + "tags": [ + "CloudExadataInfrastructures" + ], + "description": "Create a CloudExadataInfrastructure", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudexadatainfrastructurename", + "in": "path", + "description": "CloudExadataInfrastructure name", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/CloudExadataInfrastructure" + } + } + ], + "responses": { + "200": { + "description": "Resource 'CloudExadataInfrastructure' update operation succeeded", + "schema": { + "$ref": "#/definitions/CloudExadataInfrastructure" + } + }, + "201": { + "description": "Resource 'CloudExadataInfrastructure' create operation succeeded", + "schema": { + "$ref": "#/definitions/CloudExadataInfrastructure" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create Exadata Infrastructure": { + "$ref": "./examples/exaInfra_create.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "CloudExadataInfrastructures_Update", + "tags": [ + "CloudExadataInfrastructures" + ], + "description": "Update a CloudExadataInfrastructure", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudexadatainfrastructurename", + "in": "path", + "description": "CloudExadataInfrastructure name", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/CloudExadataInfrastructureUpdate" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CloudExadataInfrastructure" + } + }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch Exadata Infrastructure": { + "$ref": "./examples/exaInfra_patch.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "CloudExadataInfrastructures_Delete", + "tags": [ + "CloudExadataInfrastructures" + ], + "description": "Delete a CloudExadataInfrastructure", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudexadatainfrastructurename", + "in": "path", + "description": "CloudExadataInfrastructure name", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Exadata Infrastructure": { + "$ref": "./examples/exaInfra_delete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudExadataInfrastructures/{cloudexadatainfrastructurename}/addStorageCapacity": { + "post": { + "operationId": "CloudExadataInfrastructures_AddStorageCapacity", + "tags": [ + "CloudExadataInfrastructures" + ], + "description": "Perform add storage capacity on exadata infra", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudexadatainfrastructurename", + "in": "path", + "description": "CloudExadataInfrastructure name", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CloudExadataInfrastructure" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Perform add storage capacity on exadata infra": { + "$ref": "./examples/exaInfra_addStorageCapacity.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudExadataInfrastructures/{cloudexadatainfrastructurename}/dbServers": { + "get": { + "operationId": "DbServers_ListByCloudExadataInfrastructure", + "tags": [ + "DbServers" + ], + "description": "List DbServer resources by CloudExadataInfrastructure", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudexadatainfrastructurename", + "in": "path", + "description": "CloudExadataInfrastructure name", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DbServerListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List DbServers by Exadata Infrastructure": { + "$ref": "./examples/dbServers_listByParent.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudExadataInfrastructures/{cloudexadatainfrastructurename}/dbServers/{dbserverocid}": { + "get": { + "operationId": "DbServers_Get", + "tags": [ + "DbServers" + ], + "description": "Get a DbServer", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudexadatainfrastructurename", + "in": "path", + "description": "CloudExadataInfrastructure name", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "dbserverocid", + "in": "path", + "description": "DbServer OCID.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 255, + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DbServer" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get DbServer by parent": { + "$ref": "./examples/dbServers_get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudVmClusters": { + "get": { + "operationId": "CloudVmClusters_ListByResourceGroup", + "tags": [ + "CloudVmClusters" + ], + "description": "List CloudVmCluster resources by resource group", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CloudVmClusterListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List VM Clusters by resource group": { + "$ref": "./examples/vmClusters_listByResourceGroup.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudVmClusters/{cloudvmclustername}": { + "get": { + "operationId": "CloudVmClusters_Get", + "tags": [ + "CloudVmClusters" + ], + "description": "Get a CloudVmCluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudvmclustername", + "in": "path", + "description": "CloudVmCluster name", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CloudVmCluster" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get VM Cluster": { + "$ref": "./examples/vmClusters_get.json" + } + } + }, + "put": { + "operationId": "CloudVmClusters_CreateOrUpdate", + "tags": [ + "CloudVmClusters" + ], + "description": "Create a CloudVmCluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudvmclustername", + "in": "path", + "description": "CloudVmCluster name", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/CloudVmCluster" + } + } + ], + "responses": { + "200": { + "description": "Resource 'CloudVmCluster' update operation succeeded", + "schema": { + "$ref": "#/definitions/CloudVmCluster" + } + }, + "201": { + "description": "Resource 'CloudVmCluster' create operation succeeded", + "schema": { + "$ref": "#/definitions/CloudVmCluster" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create VM Cluster": { + "$ref": "./examples/vmClusters_create.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "patch": { + "operationId": "CloudVmClusters_Update", + "tags": [ + "CloudVmClusters" + ], + "description": "Update a CloudVmCluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudvmclustername", + "in": "path", + "description": "CloudVmCluster name", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "properties", + "in": "body", + "description": "The resource properties to be updated.", + "required": true, + "schema": { + "$ref": "#/definitions/CloudVmClusterUpdate" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CloudVmCluster" + } + }, + "202": { + "description": "Resource update request accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch VM Cluster": { + "$ref": "./examples/vmClusters_patch.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "CloudVmClusters_Delete", + "tags": [ + "CloudVmClusters" + ], + "description": "Delete a CloudVmCluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudvmclustername", + "in": "path", + "description": "CloudVmCluster name", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete VM Cluster": { + "$ref": "./examples/vmClusters_delete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudVmClusters/{cloudvmclustername}/addVms": { + "post": { + "operationId": "CloudVmClusters_AddVms", + "tags": [ + "CloudVmClusters" + ], + "description": "Add VMs to the VM Cluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudvmclustername", + "in": "path", + "description": "CloudVmCluster name", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "body", + "in": "body", + "description": "The content of the action request", + "required": true, + "schema": { + "$ref": "#/definitions/AddRemoveDbNode" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CloudVmCluster" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Add VMs to VM Cluster": { + "$ref": "./examples/vmClusters_addVms.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudVmClusters/{cloudvmclustername}/dbNodes": { + "get": { + "operationId": "DbNodes_ListByCloudVmCluster", + "tags": [ + "DbNodes" + ], + "description": "List DbNode resources by CloudVmCluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudvmclustername", + "in": "path", + "description": "CloudVmCluster name", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DbNodeListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List DbNodes by VM Cluster": { + "$ref": "./examples/dbNodes_listByParent.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudVmClusters/{cloudvmclustername}/dbNodes/{dbnodeocid}": { + "get": { + "operationId": "DbNodes_Get", + "tags": [ + "DbNodes" + ], + "description": "Get a DbNode", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudvmclustername", + "in": "path", + "description": "CloudVmCluster name", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "dbnodeocid", + "in": "path", + "description": "DbNode OCID.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 255, + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DbNode" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get DbNode": { + "$ref": "./examples/dbNodes_get.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudVmClusters/{cloudvmclustername}/dbNodes/{dbnodeocid}/action": { + "post": { + "operationId": "DbNodes_Action", + "tags": [ + "DbNodes" + ], + "description": "VM actions on DbNode of VM Cluster by the provided filter", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudvmclustername", + "in": "path", + "description": "CloudVmCluster name", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "dbnodeocid", + "in": "path", + "description": "DbNode OCID.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 255, + "pattern": ".*" + }, + { + "name": "body", + "in": "body", + "description": "The content of the action request", + "required": true, + "schema": { + "$ref": "#/definitions/DbNodeAction" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/DbNode" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "DbNodes_Action": { + "$ref": "./examples/dbNodes_action.json" + }, + "VM actions on DbNodes of VM Cluster": { + "$ref": "./examples/dbNodes_action.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudVmClusters/{cloudvmclustername}/listPrivateIpAddresses": { + "post": { + "operationId": "CloudVmClusters_ListPrivateIpAddresses", + "tags": [ + "CloudVmClusters" + ], + "description": "List Private IP Addresses by the provided filter", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudvmclustername", + "in": "path", + "description": "CloudVmCluster name", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "body", + "in": "body", + "description": "The content of the action request", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateIpAddressesFilter" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/PrivateIpAddressProperties" + }, + "x-ms-identifiers": [] + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Private IP Addresses for VM Cluster": { + "$ref": "./examples/vmClusters_listPrivateIpAddresses.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudVmClusters/{cloudvmclustername}/removeVms": { + "post": { + "operationId": "CloudVmClusters_RemoveVms", + "tags": [ + "CloudVmClusters" + ], + "description": "Remove VMs from the VM Cluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudvmclustername", + "in": "path", + "description": "CloudVmCluster name", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "body", + "in": "body", + "description": "The content of the action request", + "required": true, + "schema": { + "$ref": "#/definitions/AddRemoveDbNode" + } + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/CloudVmCluster" + } + }, + "202": { + "description": "Resource operation accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Remove VMs from VM Cluster": { + "$ref": "./examples/vmClusters_removeVms.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudVmClusters/{cloudvmclustername}/virtualNetworkAddresses": { + "get": { + "operationId": "VirtualNetworkAddresses_ListByCloudVmCluster", + "tags": [ + "VirtualNetworkAddresses" + ], + "description": "List VirtualNetworkAddress resources by CloudVmCluster", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudvmclustername", + "in": "path", + "description": "CloudVmCluster name", + "required": true, + "type": "string", + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/VirtualNetworkAddressListResult" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "List Virtual Network Addresses by VM Cluster": { + "$ref": "./examples/virtualNetworkAddresses_listByParent.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Oracle.Database/cloudVmClusters/{cloudvmclustername}/virtualNetworkAddresses/{virtualnetworkaddressname}": { + "get": { + "operationId": "VirtualNetworkAddresses_Get", + "tags": [ + "VirtualNetworkAddresses" + ], + "description": "Get a VirtualNetworkAddress", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudvmclustername", + "in": "path", + "description": "CloudVmCluster name", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "virtualnetworkaddressname", + "in": "path", + "description": "Virtual IP address hostname.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": ".*" + } + ], + "responses": { + "200": { + "description": "Azure operation completed successfully.", + "schema": { + "$ref": "#/definitions/VirtualNetworkAddress" + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get Virtual Network Address": { + "$ref": "./examples/virtualNetworkAddresses_get.json" + } + } + }, + "put": { + "operationId": "VirtualNetworkAddresses_CreateOrUpdate", + "tags": [ + "VirtualNetworkAddresses" + ], + "description": "Create a VirtualNetworkAddress", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudvmclustername", + "in": "path", + "description": "CloudVmCluster name", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "virtualnetworkaddressname", + "in": "path", + "description": "Virtual IP address hostname.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": ".*" + }, + { + "name": "resource", + "in": "body", + "description": "Resource create parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/VirtualNetworkAddress" + } + } + ], + "responses": { + "200": { + "description": "Resource 'VirtualNetworkAddress' update operation succeeded", + "schema": { + "$ref": "#/definitions/VirtualNetworkAddress" + } + }, + "201": { + "description": "Resource 'VirtualNetworkAddress' create operation succeeded", + "schema": { + "$ref": "#/definitions/VirtualNetworkAddress" + }, + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Create Virtual Network Address": { + "$ref": "./examples/virtualNetworkAddresses_create.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-long-running-operation": true + }, + "delete": { + "operationId": "VirtualNetworkAddresses_Delete", + "tags": [ + "VirtualNetworkAddresses" + ], + "description": "Delete a VirtualNetworkAddress", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "name": "cloudvmclustername", + "in": "path", + "description": "CloudVmCluster name", + "required": true, + "type": "string", + "pattern": ".*" + }, + { + "name": "virtualnetworkaddressname", + "in": "path", + "description": "Virtual IP address hostname.", + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 63, + "pattern": ".*" + } + ], + "responses": { + "202": { + "description": "Resource deletion accepted.", + "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + } + } + }, + "204": { + "description": "Resource does not exist." + }, + "default": { + "description": "An unexpected error response.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Delete Virtual Network Address": { + "$ref": "./examples/virtualNetworkAddresses_delete.json" + } + }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-long-running-operation": true + } + } + }, + "definitions": { + "ActivationLinks": { + "type": "object", + "description": "Activation Links model", + "properties": { + "newCloudAccountActivationLink": { + "type": "string", + "description": "New Cloud Account Activation Link", + "readOnly": true + }, + "existingCloudAccountActivationLink": { + "type": "string", + "description": "Existing Cloud Account Activation Link", + "readOnly": true + } + } + }, + "AddRemoveDbNode": { + "type": "object", + "description": "Add/Remove (Virtual Machine) DbNode model", + "properties": { + "dbServers": { + "type": "array", + "description": "Db servers ocids", + "items": { + "$ref": "#/definitions/Ocid" + } + } + }, + "required": [ + "dbServers" + ] + }, + "AllConnectionStringType": { + "type": "object", + "description": "The connection string profile to allow clients to group, filter and select connection string values based on structured metadata.", + "properties": { + "high": { + "type": "string", + "description": "The High database service provides the highest level of resources to each SQL statement resulting in the highest performance, but supports the fewest number of concurrent SQL statements.", + "minLength": 10, + "maxLength": 255 + }, + "low": { + "type": "string", + "description": "The Low database service provides the least level of resources to each SQL statement, but supports the most number of concurrent SQL statements.", + "minLength": 10, + "maxLength": 255 + }, + "medium": { + "type": "string", + "description": "The Medium database service provides a lower level of resources to each SQL statement potentially resulting a lower level of performance, but supports more concurrent SQL statements.", + "minLength": 10, + "maxLength": 255 + } + } + }, + "ApexDetailsType": { + "type": "object", + "description": "Information about Oracle APEX Application Development.", + "properties": { + "apexVersion": { + "type": "string", + "description": "The Oracle APEX Application Development version." + }, + "ordsVersion": { + "type": "string", + "description": "The Oracle REST Data Services (ORDS) version." + } + } + }, + "AutonomousDatabase": { + "type": "object", + "description": "Autonomous Database resource model.", + "properties": { + "properties": { + "$ref": "#/definitions/AutonomousDatabaseBaseProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ] + }, + "AutonomousDatabaseBackup": { + "type": "object", + "description": "AutonomousDatabaseBackup resource definition", + "properties": { + "properties": { + "$ref": "#/definitions/AutonomousDatabaseBackupProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "AutonomousDatabaseBackupLifecycleState": { + "type": "string", + "description": "Autonomous database backup lifecycle state enum", + "enum": [ + "Creating", + "Active", + "Deleting", + "Failed", + "Updating" + ], + "x-ms-enum": { + "name": "AutonomousDatabaseBackupLifecycleState", + "modelAsString": true, + "values": [ + { + "name": "Creating", + "value": "Creating", + "description": "AutonomousDatabase backup is creating" + }, + { + "name": "Active", + "value": "Active", + "description": "AutonomousDatabase backup is active" + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "AutonomousDatabase backup is deleting" + }, + { + "name": "Failed", + "value": "Failed", + "description": "AutonomousDatabase backup is failed" + }, + { + "name": "Updating", + "value": "Updating", + "description": "AutonomousDatabase backup is updating" + } + ] + } + }, + "AutonomousDatabaseBackupListResult": { + "type": "object", + "description": "The response of a AutonomousDatabaseBackup list operation.", + "properties": { + "value": { + "type": "array", + "description": "The AutonomousDatabaseBackup items on this page", + "items": { + "$ref": "#/definitions/AutonomousDatabaseBackup" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "AutonomousDatabaseBackupProperties": { + "type": "object", + "description": "AutonomousDatabaseBackup resource model", + "properties": { + "autonomousDatabaseOcid": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the Autonomous Database.", + "readOnly": true + }, + "databaseSizeInTbs": { + "type": "number", + "format": "double", + "description": "The size of the database in terabytes at the time the backup was taken.", + "readOnly": true + }, + "dbVersion": { + "type": "string", + "description": "A valid Oracle Database version for Autonomous Database.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "The user-friendly name for the backup. The name does not have to be unique.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "ocid": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the Autonomous Database backup.", + "readOnly": true + }, + "isAutomatic": { + "type": "boolean", + "description": "Indicates whether the backup is user-initiated or automatic.", + "readOnly": true + }, + "isRestorable": { + "type": "boolean", + "description": "Indicates whether the backup can be used to restore the associated Autonomous Database.", + "readOnly": true + }, + "lifecycleDetails": { + "type": "string", + "description": "Additional information about the current lifecycle state.", + "readOnly": true + }, + "lifecycleState": { + "$ref": "#/definitions/AutonomousDatabaseBackupLifecycleState", + "description": "The current state of the backup.", + "readOnly": true + }, + "retentionPeriodInDays": { + "type": "integer", + "format": "int32", + "description": "Retention period, in days, for long-term backups.", + "minimum": 60, + "maximum": 3650, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "sizeInTbs": { + "type": "number", + "format": "double", + "description": "The backup size in terabytes (TB).", + "readOnly": true + }, + "timeAvailableTil": { + "type": "string", + "format": "date-time", + "description": "Timestamp until when the backup will be available.", + "readOnly": true + }, + "timeStarted": { + "type": "string", + "description": "The date and time the backup started.", + "readOnly": true + }, + "timeEnded": { + "type": "string", + "description": "The date and time the backup completed.", + "readOnly": true + }, + "backupType": { + "$ref": "#/definitions/AutonomousDatabaseBackupType", + "description": "The type of backup.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/AzureResourceProvisioningState", + "description": "Azure resource provisioning state.", + "readOnly": true + } + } + }, + "AutonomousDatabaseBackupType": { + "type": "string", + "description": "Autonomous database backup type enum", + "enum": [ + "Incremental", + "Full", + "LongTerm" + ], + "x-ms-enum": { + "name": "AutonomousDatabaseBackupType", + "modelAsString": true, + "values": [ + { + "name": "Incremental", + "value": "Incremental", + "description": "Incremental backup" + }, + { + "name": "Full", + "value": "Full", + "description": "Full backup" + }, + { + "name": "LongTerm", + "value": "LongTerm", + "description": "LongTerm backup" + } + ] + } + }, + "AutonomousDatabaseBackupUpdate": { + "type": "object", + "description": "The type used for update operations of the AutonomousDatabaseBackup.", + "properties": { + "properties": { + "$ref": "#/definitions/AutonomousDatabaseBackupUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "AutonomousDatabaseBackupUpdateProperties": { + "type": "object", + "description": "The updatable properties of the AutonomousDatabaseBackup.", + "properties": { + "retentionPeriodInDays": { + "type": "integer", + "format": "int32", + "description": "Retention period, in days, for long-term backups.", + "minimum": 60, + "maximum": 3650, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + } + } + }, + "AutonomousDatabaseBaseProperties": { + "type": "object", + "description": "Autonomous Database base resource model.", + "properties": { + "adminPassword": { + "$ref": "#/definitions/Password", + "description": "Admin password.", + "minLength": 12, + "maxLength": 30, + "x-ms-mutability": [ + "update", + "create" + ] + }, + "dataBaseType": { + "$ref": "#/definitions/DataBaseType", + "description": "Database type to be created.", + "x-ms-mutability": [ + "create" + ] + }, + "autonomousMaintenanceScheduleType": { + "$ref": "#/definitions/AutonomousMaintenanceScheduleType", + "description": "The maintenance schedule type of the Autonomous Database Serverless.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "characterSet": { + "type": "string", + "description": "The character set for the autonomous database.", + "minLength": 1, + "maxLength": 255, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "computeCount": { + "type": "number", + "format": "float", + "description": "The compute amount (CPUs) available to the database.", + "minimum": 0.1, + "maximum": 512, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "computeModel": { + "$ref": "#/definitions/ComputeModel", + "description": "The compute model of the Autonomous Database.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "cpuCoreCount": { + "type": "integer", + "format": "int32", + "description": "The number of CPU cores to be made available to the database.", + "minimum": 1, + "maximum": 128, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "customerContacts": { + "type": "array", + "description": "Customer Contacts.", + "items": { + "$ref": "#/definitions/CustomerContact" + }, + "x-ms-identifiers": [], + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "dataStorageSizeInTbs": { + "type": "integer", + "format": "int32", + "description": "The quantity of data in the database, in terabytes.", + "minimum": 1, + "maximum": 384, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "dataStorageSizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The size, in gigabytes, of the data volume that will be created and attached to the database.", + "minimum": 20, + "maximum": 393216, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "dbVersion": { + "type": "string", + "description": "A valid Oracle Database version for Autonomous Database.", + "minLength": 1, + "maxLength": 255, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "dbWorkload": { + "$ref": "#/definitions/WorkloadType", + "description": "The Autonomous Database workload type", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "displayName": { + "type": "string", + "description": "The user-friendly name for the Autonomous Database.", + "minLength": 1, + "maxLength": 255, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "isAutoScalingEnabled": { + "type": "boolean", + "description": "Indicates if auto scaling is enabled for the Autonomous Database CPU core count.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "isAutoScalingForStorageEnabled": { + "type": "boolean", + "description": "Indicates if auto scaling is enabled for the Autonomous Database storage.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "peerDbIds": { + "type": "array", + "description": "The list of [OCIDs](https://docs.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of standby databases located in Autonomous Data Guard remote regions that are associated with the source database. Note that for Autonomous Database Serverless instances, standby databases located in the same region as the source primary database do not have OCIDs.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "peerDbId": { + "type": "string", + "description": "The database OCID of the Disaster Recovery peer database, which is located in a different region from the current peer database.", + "minLength": 1, + "maxLength": 255, + "x-ms-mutability": [ + "update" + ] + }, + "isLocalDataGuardEnabled": { + "type": "boolean", + "description": "Indicates whether the Autonomous Database has local or called in-region Data Guard enabled.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "isRemoteDataGuardEnabled": { + "type": "boolean", + "description": "Indicates whether the Autonomous Database has Cross Region Data Guard enabled.", + "readOnly": true + }, + "localDisasterRecoveryType": { + "$ref": "#/definitions/DisasterRecoveryType", + "description": "Indicates the local disaster recovery (DR) type of the Autonomous Database Serverless instance.Autonomous Data Guard (ADG) DR type provides business critical DR with a faster recovery time objective (RTO) during failover or switchover.Backup-based DR type provides lower cost DR with a slower RTO during failover or switchover.", + "readOnly": true + }, + "localStandbyDb": { + "$ref": "#/definitions/AutonomousDatabaseStandbySummary", + "description": "Local Autonomous Disaster Recovery standby database details.", + "readOnly": true + }, + "failedDataRecoveryInSeconds": { + "type": "integer", + "format": "int32", + "description": "Indicates the number of seconds of data loss for a Data Guard failover.", + "readOnly": true + }, + "isMtlsConnectionRequired": { + "type": "boolean", + "description": "Specifies if the Autonomous Database requires mTLS connections.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "isPreviewVersionWithServiceTermsAccepted": { + "type": "boolean", + "description": "Specifies if the Autonomous Database preview version is being provisioned.", + "x-ms-mutability": [ + "create" + ] + }, + "licenseModel": { + "$ref": "#/definitions/LicenseModel", + "description": "The Oracle license model that applies to the Oracle Autonomous Database. The default is LICENSE_INCLUDED.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "ncharacterSet": { + "type": "string", + "description": "The character set for the Autonomous Database.", + "minLength": 1, + "maxLength": 255, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "lifecycleDetails": { + "type": "string", + "description": "Additional information about the current lifecycle state.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/AzureResourceProvisioningState", + "description": "Azure resource provisioning state.", + "readOnly": true + }, + "lifecycleState": { + "$ref": "#/definitions/AutonomousDatabaseLifecycleState", + "description": "Views lifecycleState", + "readOnly": true + }, + "scheduledOperations": { + "$ref": "#/definitions/ScheduledOperationsType", + "description": "The list of scheduled operations.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "privateEndpointIp": { + "type": "string", + "description": "The private endpoint Ip address for the resource.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "privateEndpointLabel": { + "type": "string", + "description": "The resource's private endpoint label.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "ociUrl": { + "type": "string", + "description": "HTTPS link to OCI resources exposed to Azure Customer via Azure Interface.", + "readOnly": true + }, + "subnetId": { + "$ref": "#/definitions/SubnetId", + "description": "Client subnet", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "vnetId": { + "$ref": "#/definitions/VnetId", + "description": "VNET for network connectivity", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "timeCreated": { + "type": "string", + "format": "date-time", + "description": "The date and time that the database was created.", + "readOnly": true + }, + "timeMaintenanceBegin": { + "type": "string", + "format": "date-time", + "description": "The date and time when maintenance will begin.", + "readOnly": true + }, + "timeMaintenanceEnd": { + "type": "string", + "format": "date-time", + "description": "The date and time when maintenance will end.", + "readOnly": true + }, + "actualUsedDataStorageSizeInTbs": { + "type": "number", + "format": "double", + "description": "The current amount of storage in use for user and system data, in terabytes (TB).", + "readOnly": true + }, + "allocatedStorageSizeInTbs": { + "type": "number", + "format": "double", + "description": "The amount of storage currently allocated for the database tables and billed for, rounded up.", + "readOnly": true + }, + "apexDetails": { + "$ref": "#/definitions/ApexDetailsType", + "description": "Information about Oracle APEX Application Development.", + "readOnly": true + }, + "availableUpgradeVersions": { + "type": "array", + "description": "List of Oracle Database versions available for a database upgrade. If there are no version upgrades available, this list is empty.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "connectionStrings": { + "$ref": "#/definitions/ConnectionStringType", + "description": "The connection string used to connect to the Autonomous Database.", + "readOnly": true + }, + "connectionUrls": { + "$ref": "#/definitions/ConnectionUrlType", + "description": "The URLs for accessing Oracle Application Express (APEX) and SQL Developer Web with a browser from a Compute instance within your VCN or that has a direct connection to your VCN. ", + "readOnly": true + }, + "dataSafeStatus": { + "$ref": "#/definitions/DataSafeStatusType", + "description": "Status of the Data Safe registration for this Autonomous Database.", + "readOnly": true + }, + "databaseEdition": { + "$ref": "#/definitions/DatabaseEditionType", + "description": "The Oracle Database Edition that applies to the Autonomous databases.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "autonomousDatabaseId": { + "$ref": "#/definitions/AutonomousDatabaseId", + "description": "Autonomous Database ID", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "inMemoryAreaInGbs": { + "type": "integer", + "format": "int32", + "description": "The area assigned to In-Memory tables in Autonomous Database.", + "readOnly": true + }, + "nextLongTermBackupTimeStamp": { + "type": "string", + "format": "date-time", + "description": "The date and time when the next long-term backup would be created.", + "readOnly": true + }, + "longTermBackupSchedule": { + "$ref": "#/definitions/LongTermBackUpScheduleDetails", + "description": "Details for the long-term backup schedule.", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "isPreview": { + "type": "boolean", + "description": "Indicates if the Autonomous Database version is a preview version.", + "readOnly": true + }, + "localAdgAutoFailoverMaxDataLossLimit": { + "type": "integer", + "format": "int32", + "description": "Parameter that allows users to select an acceptable maximum data loss limit in seconds, up to which Automatic Failover will be triggered when necessary for a Local Autonomous Data Guard", + "minimum": 0, + "maximum": 3600, + "x-ms-mutability": [ + "read", + "update" + ] + }, + "memoryPerOracleComputeUnitInGbs": { + "type": "integer", + "format": "int32", + "description": "The amount of memory (in GBs) enabled per ECPU or OCPU.", + "readOnly": true + }, + "openMode": { + "$ref": "#/definitions/OpenModeType", + "description": "Indicates the Autonomous Database mode.", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "operationsInsightsStatus": { + "$ref": "#/definitions/OperationsInsightsStatusType", + "description": "Status of Operations Insights for this Autonomous Database.", + "readOnly": true + }, + "permissionLevel": { + "$ref": "#/definitions/PermissionLevelType", + "description": "The Autonomous Database permission level.", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "privateEndpoint": { + "type": "string", + "description": "The private endpoint for the resource.", + "readOnly": true + }, + "provisionableCpus": { + "type": "array", + "description": "An array of CPU values that an Autonomous Database can be scaled to.", + "items": { + "type": "integer", + "format": "int32" + }, + "readOnly": true + }, + "role": { + "$ref": "#/definitions/RoleType", + "description": "The Data Guard role of the Autonomous Container Database or Autonomous Database, if Autonomous Data Guard is enabled.", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "serviceConsoleUrl": { + "type": "string", + "description": "The URL of the Service Console for the Autonomous Database.", + "minLength": 10, + "maxLength": 255, + "readOnly": true + }, + "sqlWebDeveloperUrl": { + "type": "string", + "description": "The SQL Web Developer URL for the Oracle Autonomous Database.", + "minLength": 10, + "maxLength": 2048, + "readOnly": true + }, + "supportedRegionsToCloneTo": { + "type": "array", + "description": "The list of regions that support the creation of an Autonomous Database clone or an Autonomous Data Guard standby database.", + "maxItems": 50, + "items": { + "type": "string" + }, + "readOnly": true + }, + "timeDataGuardRoleChanged": { + "type": "string", + "description": "The date and time the Autonomous Data Guard role was switched for the Autonomous Database.", + "readOnly": true + }, + "timeDeletionOfFreeAutonomousDatabase": { + "type": "string", + "description": "The date and time the Always Free database will be automatically deleted because of inactivity.", + "readOnly": true + }, + "timeLocalDataGuardEnabled": { + "type": "string", + "description": "The date and time that Autonomous Data Guard was enabled for an Autonomous Database where the standby was provisioned in the same region as the primary database.", + "readOnly": true + }, + "timeOfLastFailover": { + "type": "string", + "description": "The timestamp of the last failover operation.", + "readOnly": true + }, + "timeOfLastRefresh": { + "type": "string", + "description": "The date and time when last refresh happened.", + "readOnly": true + }, + "timeOfLastRefreshPoint": { + "type": "string", + "description": "The refresh point timestamp (UTC).", + "readOnly": true + }, + "timeOfLastSwitchover": { + "type": "string", + "description": "The timestamp of the last switchover operation for the Autonomous Database.", + "readOnly": true + }, + "timeReclamationOfFreeAutonomousDatabase": { + "type": "string", + "description": "The date and time the Always Free database will be stopped because of inactivity.", + "readOnly": true + }, + "usedDataStorageSizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The storage space consumed by Autonomous Database in GBs.", + "readOnly": true + }, + "usedDataStorageSizeInTbs": { + "type": "integer", + "format": "int32", + "description": "The amount of storage that has been used, in terabytes.", + "readOnly": true + }, + "ocid": { + "$ref": "#/definitions/Ocid", + "description": "Database ocid", + "readOnly": true + }, + "backupRetentionPeriodInDays": { + "type": "integer", + "format": "int32", + "description": "Retention period, in days, for long-term backups", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "whitelistedIps": { + "type": "array", + "description": "The client IP access control list (ACL). This is an array of CIDR notations and/or IP addresses. Values should be separate strings, separated by commas. Example: ['1.1.1.1','1.1.1.0/24','1.1.2.25']", + "items": { + "$ref": "#/definitions/aclString" + }, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + } + }, + "discriminator": "dataBaseType", + "required": [ + "dataBaseType" + ] + }, + "AutonomousDatabaseCharacterSet": { + "type": "object", + "description": "AutonomousDatabaseCharacterSets resource definition", + "properties": { + "properties": { + "$ref": "#/definitions/AutonomousDatabaseCharacterSetProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "AutonomousDatabaseCharacterSetListResult": { + "type": "object", + "description": "The response of a AutonomousDatabaseCharacterSet list operation.", + "properties": { + "value": { + "type": "array", + "description": "The AutonomousDatabaseCharacterSet items on this page", + "items": { + "$ref": "#/definitions/AutonomousDatabaseCharacterSet" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "AutonomousDatabaseCharacterSetProperties": { + "type": "object", + "description": "AutonomousDatabaseCharacterSet resource model", + "properties": { + "characterSet": { + "type": "string", + "description": "The Oracle Autonomous Database supported character sets.", + "minLength": 1, + "maxLength": 255, + "readOnly": true + } + }, + "required": [ + "characterSet" + ] + }, + "AutonomousDatabaseCloneProperties": { + "type": "object", + "description": "Autonomous Database clone resource model.", + "properties": { + "source": { + "$ref": "#/definitions/SourceType", + "description": "The source of the database.", + "x-ms-mutability": [ + "create" + ] + }, + "sourceId": { + "$ref": "#/definitions/AutonomousDatabaseId", + "description": "The Azure ID of the Autonomous Database that was cloned to create the current Autonomous Database.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "cloneType": { + "$ref": "#/definitions/CloneType", + "description": "The Autonomous Database clone type.", + "x-ms-mutability": [ + "create" + ] + }, + "isReconnectCloneEnabled": { + "type": "boolean", + "description": "Indicates if the refreshable clone can be reconnected to its source database.", + "readOnly": true + }, + "isRefreshableClone": { + "type": "boolean", + "description": "Indicates if the Autonomous Database is a refreshable clone.", + "readOnly": true + }, + "refreshableModel": { + "$ref": "#/definitions/RefreshableModelType", + "description": "The refresh mode of the clone.", + "x-ms-mutability": [ + "create" + ] + }, + "refreshableStatus": { + "$ref": "#/definitions/RefreshableStatusType", + "description": "The refresh status of the clone.", + "readOnly": true + }, + "timeUntilReconnectCloneEnabled": { + "type": "string", + "description": "The time and date as an RFC3339 formatted string, e.g., 2022-01-01T12:00:00.000Z, to set the limit for a refreshable clone to be reconnected to its source database.", + "x-ms-mutability": [ + "read", + "update" + ] + } + }, + "required": [ + "sourceId", + "cloneType" + ], + "allOf": [ + { + "$ref": "#/definitions/AutonomousDatabaseBaseProperties" + } + ], + "x-ms-discriminator-value": "Clone" + }, + "AutonomousDatabaseId": { + "type": "string", + "format": "arm-id", + "description": "A type definition that refers the id to an Azure Resource Manager resource.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Oracle.Database/autonomousDatabases" + } + ] + } + }, + "AutonomousDatabaseLifecycleState": { + "type": "string", + "description": "Autonomous database lifecycle state enum", + "enum": [ + "Provisioning", + "Available", + "Stopping", + "Stopped", + "Starting", + "Terminating", + "Terminated", + "Unavailable", + "RestoreInProgress", + "RestoreFailed", + "BackupInProgress", + "ScaleInProgress", + "AvailableNeedsAttention", + "Updating", + "MaintenanceInProgress", + "Restarting", + "Recreating", + "RoleChangeInProgress", + "Upgrading", + "Inaccessible", + "Standby" + ], + "x-ms-enum": { + "name": "AutonomousDatabaseLifecycleState", + "modelAsString": true, + "values": [ + { + "name": "Provisioning", + "value": "Provisioning", + "description": "Indicates that resource in Provisioning state" + }, + { + "name": "Available", + "value": "Available", + "description": "Indicates that resource in Available state" + }, + { + "name": "Stopping", + "value": "Stopping", + "description": "Indicates that resource in Stopping state" + }, + { + "name": "Stopped", + "value": "Stopped", + "description": "Indicates that resource in Stopped state" + }, + { + "name": "Starting", + "value": "Starting", + "description": "Indicates that resource in Starting state" + }, + { + "name": "Terminating", + "value": "Terminating", + "description": "Indicates that resource in Terminating state" + }, + { + "name": "Terminated", + "value": "Terminated", + "description": "Indicates that resource in Terminated state" + }, + { + "name": "Unavailable", + "value": "Unavailable", + "description": "Indicates that resource in Unavailable state" + }, + { + "name": "RestoreInProgress", + "value": "RestoreInProgress", + "description": "Indicates that resource in RestoreInProgress state" + }, + { + "name": "RestoreFailed", + "value": "RestoreFailed", + "description": "Indicates that resource in RestoreFailed state" + }, + { + "name": "BackupInProgress", + "value": "BackupInProgress", + "description": "Indicates that resource in BackupInProgress state" + }, + { + "name": "ScaleInProgress", + "value": "ScaleInProgress", + "description": "Indicates that resource in ScaleInProgress state" + }, + { + "name": "AvailableNeedsAttention", + "value": "AvailableNeedsAttention", + "description": "Indicates that resource is available but needs attention" + }, + { + "name": "Updating", + "value": "Updating", + "description": "Indicates that resource in Updating state" + }, + { + "name": "MaintenanceInProgress", + "value": "MaintenanceInProgress", + "description": "Indicates that resource maintenance in progress state" + }, + { + "name": "Restarting", + "value": "Restarting", + "description": "Indicates that resource in Restarting state" + }, + { + "name": "Recreating", + "value": "Recreating", + "description": "Indicates that resource in Recreating state" + }, + { + "name": "RoleChangeInProgress", + "value": "RoleChangeInProgress", + "description": "Indicates that resource role change in progress state" + }, + { + "name": "Upgrading", + "value": "Upgrading", + "description": "Indicates that resource in Upgrading state" + }, + { + "name": "Inaccessible", + "value": "Inaccessible", + "description": "IIndicates that resource in Inaccessible state" + }, + { + "name": "Standby", + "value": "Standby", + "description": "Indicates that resource in Standby state" + } + ] + } + }, + "AutonomousDatabaseListResult": { + "type": "object", + "description": "The response of a AutonomousDatabase list operation.", + "properties": { + "value": { + "type": "array", + "description": "The AutonomousDatabase items on this page", + "items": { + "$ref": "#/definitions/AutonomousDatabase" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "AutonomousDatabaseNationalCharacterSet": { + "type": "object", + "description": "AutonomousDatabaseNationalCharacterSets resource definition", + "properties": { + "properties": { + "$ref": "#/definitions/AutonomousDatabaseNationalCharacterSetProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "AutonomousDatabaseNationalCharacterSetListResult": { + "type": "object", + "description": "The response of a AutonomousDatabaseNationalCharacterSet list operation.", + "properties": { + "value": { + "type": "array", + "description": "The AutonomousDatabaseNationalCharacterSet items on this page", + "items": { + "$ref": "#/definitions/AutonomousDatabaseNationalCharacterSet" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "AutonomousDatabaseNationalCharacterSetProperties": { + "type": "object", + "description": "AutonomousDatabaseNationalCharacterSet resource model", + "properties": { + "characterSet": { + "type": "string", + "description": "The Oracle Autonomous Database supported national character sets.", + "minLength": 1, + "maxLength": 255, + "readOnly": true + } + }, + "required": [ + "characterSet" + ] + }, + "AutonomousDatabaseProperties": { + "type": "object", + "description": "Autonomous Database resource model.", + "allOf": [ + { + "$ref": "#/definitions/AutonomousDatabaseBaseProperties" + } + ], + "x-ms-discriminator-value": "Regular" + }, + "AutonomousDatabaseStandbySummary": { + "type": "object", + "description": "Autonomous Disaster Recovery standby database details.", + "properties": { + "lagTimeInSeconds": { + "type": "integer", + "format": "int32", + "description": "The amount of time, in seconds, that the data of the standby database lags the data of the primary database. Can be used to determine the potential data loss in the event of a failover." + }, + "lifecycleState": { + "$ref": "#/definitions/AutonomousDatabaseLifecycleState", + "description": "The current state of the Autonomous Database." + }, + "lifecycleDetails": { + "type": "string", + "description": "Additional information about the current lifecycle state." + }, + "timeDataGuardRoleChanged": { + "type": "string", + "description": "The date and time the Autonomous Data Guard role was switched for the standby Autonomous Database." + }, + "timeDisasterRecoveryRoleChanged": { + "type": "string", + "description": "The date and time the Disaster Recovery role was switched for the standby Autonomous Database." + } + } + }, + "AutonomousDatabaseUpdate": { + "type": "object", + "description": "The type used for update operations of the AutonomousDatabase.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/AutonomousDatabaseUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "AutonomousDatabaseUpdateProperties": { + "type": "object", + "description": "The updatable properties of the AutonomousDatabase.", + "properties": { + "adminPassword": { + "$ref": "#/definitions/Password", + "description": "Admin password.", + "minLength": 12, + "maxLength": 30, + "x-ms-mutability": [ + "update", + "create" + ] + }, + "autonomousMaintenanceScheduleType": { + "$ref": "#/definitions/AutonomousMaintenanceScheduleType", + "description": "The maintenance schedule type of the Autonomous Database Serverless.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "computeCount": { + "type": "number", + "format": "float", + "description": "The compute amount (CPUs) available to the database.", + "minimum": 0.1, + "maximum": 512, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "cpuCoreCount": { + "type": "integer", + "format": "int32", + "description": "The number of CPU cores to be made available to the database.", + "minimum": 1, + "maximum": 128, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "customerContacts": { + "type": "array", + "description": "Customer Contacts.", + "items": { + "$ref": "#/definitions/CustomerContact" + }, + "x-ms-identifiers": [], + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "dataStorageSizeInTbs": { + "type": "integer", + "format": "int32", + "description": "The quantity of data in the database, in terabytes.", + "minimum": 1, + "maximum": 384, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "dataStorageSizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The size, in gigabytes, of the data volume that will be created and attached to the database.", + "minimum": 20, + "maximum": 393216, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "displayName": { + "type": "string", + "description": "The user-friendly name for the Autonomous Database.", + "minLength": 1, + "maxLength": 255, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "isAutoScalingEnabled": { + "type": "boolean", + "description": "Indicates if auto scaling is enabled for the Autonomous Database CPU core count.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "isAutoScalingForStorageEnabled": { + "type": "boolean", + "description": "Indicates if auto scaling is enabled for the Autonomous Database storage.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "peerDbId": { + "type": "string", + "description": "The database OCID of the Disaster Recovery peer database, which is located in a different region from the current peer database.", + "minLength": 1, + "maxLength": 255, + "x-ms-mutability": [ + "update" + ] + }, + "isLocalDataGuardEnabled": { + "type": "boolean", + "description": "Indicates whether the Autonomous Database has local or called in-region Data Guard enabled.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "isMtlsConnectionRequired": { + "type": "boolean", + "description": "Specifies if the Autonomous Database requires mTLS connections.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "licenseModel": { + "$ref": "#/definitions/LicenseModel", + "description": "The Oracle license model that applies to the Oracle Autonomous Database. The default is LICENSE_INCLUDED.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "scheduledOperations": { + "$ref": "#/definitions/ScheduledOperationsTypeUpdate", + "description": "The list of scheduled operations.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "databaseEdition": { + "$ref": "#/definitions/DatabaseEditionType", + "description": "The Oracle Database Edition that applies to the Autonomous databases.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "longTermBackupSchedule": { + "$ref": "#/definitions/LongTermBackUpScheduleDetails", + "description": "Details for the long-term backup schedule.", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "localAdgAutoFailoverMaxDataLossLimit": { + "type": "integer", + "format": "int32", + "description": "Parameter that allows users to select an acceptable maximum data loss limit in seconds, up to which Automatic Failover will be triggered when necessary for a Local Autonomous Data Guard", + "minimum": 0, + "maximum": 3600, + "x-ms-mutability": [ + "read", + "update" + ] + }, + "openMode": { + "$ref": "#/definitions/OpenModeType", + "description": "Indicates the Autonomous Database mode.", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "permissionLevel": { + "$ref": "#/definitions/PermissionLevelType", + "description": "The Autonomous Database permission level.", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "role": { + "$ref": "#/definitions/RoleType", + "description": "The Data Guard role of the Autonomous Container Database or Autonomous Database, if Autonomous Data Guard is enabled.", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "backupRetentionPeriodInDays": { + "type": "integer", + "format": "int32", + "description": "Retention period, in days, for long-term backups", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "whitelistedIps": { + "type": "array", + "description": "The client IP access control list (ACL). This is an array of CIDR notations and/or IP addresses. Values should be separate strings, separated by commas. Example: ['1.1.1.1','1.1.1.0/24','1.1.2.25']", + "items": { + "$ref": "#/definitions/aclString" + }, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + } + } + }, + "AutonomousDatabaseWalletFile": { + "type": "object", + "description": "Autonomous Database Wallet File resource model.", + "properties": { + "walletFiles": { + "type": "string", + "description": "The base64 encoded wallet files" + } + }, + "required": [ + "walletFiles" + ] + }, + "AutonomousDbVersion": { + "type": "object", + "description": "AutonomousDbVersion resource definition", + "properties": { + "properties": { + "$ref": "#/definitions/AutonomousDbVersionProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "AutonomousDbVersionListResult": { + "type": "object", + "description": "The response of a AutonomousDbVersion list operation.", + "properties": { + "value": { + "type": "array", + "description": "The AutonomousDbVersion items on this page", + "items": { + "$ref": "#/definitions/AutonomousDbVersion" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "AutonomousDbVersionProperties": { + "type": "object", + "description": "AutonomousDbVersion resource model", + "properties": { + "version": { + "type": "string", + "description": "Supported Autonomous Db versions.", + "minLength": 1, + "maxLength": 255, + "readOnly": true + }, + "dbWorkload": { + "$ref": "#/definitions/WorkloadType", + "description": "The Autonomous Database workload type", + "readOnly": true + }, + "isDefaultForFree": { + "type": "boolean", + "description": "True if this version of the Oracle Database software's default is free.", + "readOnly": true + }, + "isDefaultForPaid": { + "type": "boolean", + "description": "True if this version of the Oracle Database software's default is paid.", + "readOnly": true + }, + "isFreeTierEnabled": { + "type": "boolean", + "description": "True if this version of the Oracle Database software can be used for Always-Free Autonomous Databases.", + "readOnly": true + }, + "isPaidEnabled": { + "type": "boolean", + "description": "True if this version of the Oracle Database software has payments enabled.", + "readOnly": true + } + }, + "required": [ + "version" + ] + }, + "AutonomousMaintenanceScheduleType": { + "type": "string", + "description": "Autonomous database maintenance schedule type enum.", + "enum": [ + "Early", + "Regular" + ], + "x-ms-enum": { + "name": "AutonomousMaintenanceScheduleType", + "modelAsString": true, + "values": [ + { + "name": "Early", + "value": "Early", + "description": "Early maintenance schedule" + }, + { + "name": "Regular", + "value": "Regular", + "description": "Regular maintenance schedule" + } + ] + } + }, + "Azure.ResourceManager.ResourceProvisioningState": { + "type": "string", + "description": "The provisioning state of a resource type.", + "enum": [ + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "ResourceProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Resource has been created." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Resource creation failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Resource creation was canceled." + } + ] + }, + "readOnly": true + }, + "AzureResourceProvisioningState": { + "type": "string", + "description": "Azure Resource Provisioning State enum", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Provisioning" + ], + "x-ms-enum": { + "name": "AzureResourceProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Resource has been created." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Resource creation failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Resource creation was canceled." + }, + { + "name": "Provisioning", + "value": "Provisioning", + "description": "Indicates that resource in Provisioning state" + } + ] + }, + "readOnly": true + }, + "CloneType": { + "type": "string", + "description": "Clone type enum", + "enum": [ + "Full", + "Metadata" + ], + "x-ms-enum": { + "name": "CloneType", + "modelAsString": true, + "values": [ + { + "name": "Full", + "value": "Full", + "description": "Full clone" + }, + { + "name": "Metadata", + "value": "Metadata", + "description": "Metadata only" + } + ] + } + }, + "CloudAccountDetails": { + "type": "object", + "description": "Cloud Account Details model", + "properties": { + "cloudAccountName": { + "type": "string", + "description": "Cloud Account name", + "readOnly": true + }, + "cloudAccountHomeRegion": { + "type": "string", + "description": "Cloud Account Home region", + "readOnly": true + } + } + }, + "CloudAccountProvisioningState": { + "type": "string", + "description": "CloudAccountProvisioningState enum", + "enum": [ + "Pending", + "Provisioning", + "Available" + ], + "x-ms-enum": { + "name": "CloudAccountProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Pending", + "value": "Pending", + "description": "Pending - Initial state when Oracle cloud account is not configured" + }, + { + "name": "Provisioning", + "value": "Provisioning", + "description": "Provisioning - State when Oracle cloud account is being provisioned" + }, + { + "name": "Available", + "value": "Available", + "description": "Available - State when Oracle cloud account cloud linking is complete and it is available" + } + ] + } + }, + "CloudExadataInfrastructure": { + "type": "object", + "description": "CloudExadataInfrastructure resource definition", + "properties": { + "properties": { + "$ref": "#/definitions/CloudExadataInfrastructureProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + }, + "zones": { + "type": "array", + "description": "CloudExadataInfrastructure zones", + "items": { + "type": "string" + } + } + }, + "required": [ + "zones" + ], + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ] + }, + "CloudExadataInfrastructureId": { + "type": "string", + "format": "arm-id", + "description": "A type definition that refers the id to an Azure Resource Manager resource.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Oracle.Database/cloudExadataInfrastructures" + } + ] + } + }, + "CloudExadataInfrastructureLifecycleState": { + "type": "string", + "description": "CloudExadataInfrastructureLifecycleState enum", + "enum": [ + "Provisioning", + "Available", + "Updating", + "Terminating", + "Terminated", + "MaintenanceInProgress", + "Failed" + ], + "x-ms-enum": { + "name": "CloudExadataInfrastructureLifecycleState", + "modelAsString": true, + "values": [ + { + "name": "Provisioning", + "value": "Provisioning", + "description": "Indicates that resource in Provisioning state" + }, + { + "name": "Available", + "value": "Available", + "description": "Indicates that resource in Available state" + }, + { + "name": "Updating", + "value": "Updating", + "description": "Indicates that resource in Updating state" + }, + { + "name": "Terminating", + "value": "Terminating", + "description": "Indicates that resource in Terminating state" + }, + { + "name": "Terminated", + "value": "Terminated", + "description": "Indicates that resource in Terminated state" + }, + { + "name": "MaintenanceInProgress", + "value": "MaintenanceInProgress", + "description": "Indicates that resource maintenance in progress state" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Indicates that resource in Failed state" + } + ] + } + }, + "CloudExadataInfrastructureListResult": { + "type": "object", + "description": "The response of a CloudExadataInfrastructure list operation.", + "properties": { + "value": { + "type": "array", + "description": "The CloudExadataInfrastructure items on this page", + "items": { + "$ref": "#/definitions/CloudExadataInfrastructure" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "CloudExadataInfrastructureProperties": { + "type": "object", + "description": "CloudExadataInfrastructure resource model", + "properties": { + "ocid": { + "$ref": "#/definitions/Ocid", + "description": "Exadata infra ocid", + "readOnly": true + }, + "computeCount": { + "type": "integer", + "format": "int32", + "description": "The number of compute servers for the cloud Exadata infrastructure.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "storageCount": { + "type": "integer", + "format": "int32", + "description": "The number of storage servers for the cloud Exadata infrastructure.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "totalStorageSizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The total storage allocated to the cloud Exadata infrastructure resource, in gigabytes (GB).", + "readOnly": true + }, + "availableStorageSizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The available storage can be allocated to the cloud Exadata infrastructure resource, in gigabytes (GB).", + "readOnly": true + }, + "timeCreated": { + "type": "string", + "description": "The date and time the cloud Exadata infrastructure resource was created.", + "readOnly": true + }, + "lifecycleDetails": { + "type": "string", + "description": "Additional information about the current lifecycle state.", + "readOnly": true + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "maintenanceWindow property", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "estimatedPatchingTime": { + "$ref": "#/definitions/EstimatedPatchingTime", + "description": "The estimated total time required in minutes for all patching operations (database server, storage server, and network switch patching).", + "readOnly": true + }, + "customerContacts": { + "type": "array", + "description": "The list of customer email addresses that receive information from Oracle about the specified OCI Database service resource. Oracle uses these email addresses to send notifications about planned and unplanned software maintenance updates, information about system hardware, and other information needed by administrators. Up to 10 email addresses can be added to the customer contacts for a cloud Exadata infrastructure instance. ", + "items": { + "$ref": "#/definitions/CustomerContact" + }, + "x-ms-identifiers": [], + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "provisioningState": { + "$ref": "#/definitions/AzureResourceProvisioningState", + "description": "CloudExadataInfrastructure provisioning state", + "readOnly": true + }, + "lifecycleState": { + "$ref": "#/definitions/CloudExadataInfrastructureLifecycleState", + "description": "CloudExadataInfrastructure lifecycle state", + "readOnly": true + }, + "shape": { + "type": "string", + "description": "The model name of the cloud Exadata infrastructure resource.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "ociUrl": { + "type": "string", + "format": "uri", + "description": "HTTPS link to OCI resources exposed to Azure Customer via Azure Interface.", + "readOnly": true + }, + "cpuCount": { + "type": "integer", + "format": "int32", + "description": "The total number of CPU cores allocated.", + "readOnly": true + }, + "maxCpuCount": { + "type": "integer", + "format": "int32", + "description": "The total number of CPU cores available.", + "readOnly": true + }, + "memorySizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The memory allocated in GBs.", + "readOnly": true + }, + "maxMemoryInGbs": { + "type": "integer", + "format": "int32", + "description": "The total memory available in GBs.", + "readOnly": true + }, + "dbNodeStorageSizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The local node storage to be allocated in GBs.", + "readOnly": true + }, + "maxDbNodeStorageSizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The total local node storage available in GBs.", + "readOnly": true + }, + "dataStorageSizeInTbs": { + "type": "number", + "format": "double", + "description": "The quantity of data in the database, in terabytes.", + "readOnly": true + }, + "maxDataStorageInTbs": { + "type": "number", + "format": "double", + "description": "The total available DATA disk group size.", + "readOnly": true + }, + "dbServerVersion": { + "type": "string", + "description": "The software version of the database servers (dom0) in the Exadata infrastructure.", + "readOnly": true + }, + "storageServerVersion": { + "type": "string", + "description": "The software version of the storage servers (cells) in the Exadata infrastructure.", + "readOnly": true + }, + "activatedStorageCount": { + "type": "integer", + "format": "int32", + "description": "The requested number of additional storage servers activated for the Exadata infrastructure.", + "readOnly": true + }, + "additionalStorageCount": { + "type": "integer", + "format": "int32", + "description": "The requested number of additional storage servers for the Exadata infrastructure.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "The name for the Exadata infrastructure.", + "minLength": 1, + "maxLength": 255, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "lastMaintenanceRunId": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the last maintenance run.", + "readOnly": true + }, + "nextMaintenanceRunId": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the next maintenance run.", + "readOnly": true + }, + "monthlyDbServerVersion": { + "type": "string", + "description": "Monthly Db Server version", + "readOnly": true + }, + "monthlyStorageServerVersion": { + "type": "string", + "description": "Monthly Storage Server version", + "readOnly": true + } + }, + "required": [ + "shape", + "displayName" + ] + }, + "CloudExadataInfrastructureUpdate": { + "type": "object", + "description": "The type used for update operations of the CloudExadataInfrastructure.", + "properties": { + "zones": { + "type": "array", + "description": "CloudExadataInfrastructure zones", + "items": { + "type": "string" + } + }, + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/CloudExadataInfrastructureUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "CloudExadataInfrastructureUpdateProperties": { + "type": "object", + "description": "The updatable properties of the CloudExadataInfrastructure.", + "properties": { + "computeCount": { + "type": "integer", + "format": "int32", + "description": "The number of compute servers for the cloud Exadata infrastructure.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "storageCount": { + "type": "integer", + "format": "int32", + "description": "The number of storage servers for the cloud Exadata infrastructure.", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "maintenanceWindow": { + "$ref": "#/definitions/MaintenanceWindow", + "description": "maintenanceWindow property", + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "customerContacts": { + "type": "array", + "description": "The list of customer email addresses that receive information from Oracle about the specified OCI Database service resource. Oracle uses these email addresses to send notifications about planned and unplanned software maintenance updates, information about system hardware, and other information needed by administrators. Up to 10 email addresses can be added to the customer contacts for a cloud Exadata infrastructure instance. ", + "items": { + "$ref": "#/definitions/CustomerContact" + }, + "x-ms-identifiers": [], + "x-ms-mutability": [ + "read", + "update", + "create" + ] + }, + "displayName": { + "type": "string", + "description": "The name for the Exadata infrastructure.", + "minLength": 1, + "maxLength": 255, + "x-ms-mutability": [ + "read", + "update", + "create" + ] + } + } + }, + "CloudVmCluster": { + "type": "object", + "description": "CloudVmCluster resource definition", + "properties": { + "properties": { + "$ref": "#/definitions/CloudVmClusterProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ] + }, + "CloudVmClusterLifecycleState": { + "type": "string", + "description": "Cloud VM Cluster lifecycle state enum", + "enum": [ + "Provisioning", + "Available", + "Updating", + "Terminating", + "Terminated", + "MaintenanceInProgress", + "Failed" + ], + "x-ms-enum": { + "name": "CloudVmClusterLifecycleState", + "modelAsString": true, + "values": [ + { + "name": "Provisioning", + "value": "Provisioning", + "description": "Indicates that resource in Provisioning state" + }, + { + "name": "Available", + "value": "Available", + "description": "Indicates that resource in Available state" + }, + { + "name": "Updating", + "value": "Updating", + "description": "Indicates that resource in Updating state" + }, + { + "name": "Terminating", + "value": "Terminating", + "description": "Indicates that resource in Terminating state" + }, + { + "name": "Terminated", + "value": "Terminated", + "description": "Indicates that resource in Terminated state" + }, + { + "name": "MaintenanceInProgress", + "value": "MaintenanceInProgress", + "description": "Indicates that resource Maintenance in progress state" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Indicates that resource in Failed state" + } + ] + } + }, + "CloudVmClusterListResult": { + "type": "object", + "description": "The response of a CloudVmCluster list operation.", + "properties": { + "value": { + "type": "array", + "description": "The CloudVmCluster items on this page", + "items": { + "$ref": "#/definitions/CloudVmCluster" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "CloudVmClusterProperties": { + "type": "object", + "description": "CloudVmCluster resource model", + "properties": { + "ocid": { + "$ref": "#/definitions/Ocid", + "description": "Cloud VM Cluster ocid", + "readOnly": true + }, + "listenerPort": { + "type": "integer", + "format": "int64", + "description": "The port number configured for the listener on the cloud VM cluster.", + "readOnly": true + }, + "nodeCount": { + "type": "integer", + "format": "int32", + "description": "The number of nodes in the cloud VM cluster. ", + "readOnly": true + }, + "storageSizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The data disk group size to be allocated in GBs per VM.", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "dataStorageSizeInTbs": { + "type": "number", + "format": "double", + "description": "The data disk group size to be allocated in TBs." + }, + "dbNodeStorageSizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The local node storage to be allocated in GBs." + }, + "memorySizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The memory to be allocated in GBs." + }, + "timeCreated": { + "type": "string", + "format": "date-time", + "description": "The date and time that the cloud VM cluster was created.", + "readOnly": true + }, + "lifecycleDetails": { + "type": "string", + "description": "Additional information about the current lifecycle state.", + "readOnly": true + }, + "timeZone": { + "type": "string", + "description": "The time zone of the cloud VM cluster. For details, see [Exadata Infrastructure Time Zones](/Content/Database/References/timezones.htm).", + "minLength": 1, + "maxLength": 255, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "zoneId": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the zone the cloud VM cluster is associated with.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "hostname": { + "type": "string", + "description": "The hostname for the cloud VM cluster.", + "minLength": 1, + "maxLength": 23, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "domain": { + "type": "string", + "description": "The domain name for the cloud VM cluster.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "cpuCoreCount": { + "type": "integer", + "format": "int32", + "description": "The number of CPU cores enabled on the cloud VM cluster." + }, + "ocpuCount": { + "type": "number", + "format": "float", + "description": "The number of OCPU cores to enable on the cloud VM cluster. Only 1 decimal place is allowed for the fractional part." + }, + "clusterName": { + "type": "string", + "description": "The cluster name for cloud VM cluster. The cluster name must begin with an alphabetic character, and may contain hyphens (-). Underscores (_) are not permitted. The cluster name can be no longer than 11 characters and is not case sensitive. ", + "minLength": 1, + "maxLength": 11, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "dataStoragePercentage": { + "type": "integer", + "format": "int32", + "description": "The percentage assigned to DATA storage (user data and database files). The remaining percentage is assigned to RECO storage (database redo logs, archive logs, and recovery manager backups). Accepted values are 35, 40, 60 and 80. The default is 80 percent assigned to DATA storage. See [Storage Configuration](/Content/Database/Concepts/exaoverview.htm#Exadata) in the Exadata documentation for details on the impact of the configuration settings on storage. ", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "isLocalBackupEnabled": { + "type": "boolean", + "description": "If true, database backup on local Exadata storage is configured for the cloud VM cluster. If false, database backup on local Exadata storage is not available in the cloud VM cluster. ", + "default": false, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "cloudExadataInfrastructureId": { + "$ref": "#/definitions/CloudExadataInfrastructureId", + "description": "Cloud Exadata Infrastructure ID", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "isSparseDiskgroupEnabled": { + "type": "boolean", + "description": "If true, sparse disk group is configured for the cloud VM cluster. If false, sparse disk group is not created. ", + "default": false, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "systemVersion": { + "type": "string", + "description": "Operating system version of the image.", + "minLength": 1, + "maxLength": 255, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "sshPublicKeys": { + "type": "array", + "description": "The public key portion of one or more key pairs used for SSH access to the cloud VM cluster.", + "items": { + "type": "string" + } + }, + "licenseModel": { + "$ref": "#/definitions/LicenseModel", + "description": "The Oracle license model that applies to the cloud VM cluster. The default is LICENSE_INCLUDED. " + }, + "diskRedundancy": { + "$ref": "#/definitions/DiskRedundancy", + "description": "The type of redundancy configured for the cloud Vm cluster. NORMAL is 2-way redundancy. HIGH is 3-way redundancy. ", + "readOnly": true + }, + "scanIpIds": { + "type": "array", + "description": "The Single Client Access Name (SCAN) IP addresses associated with the cloud VM cluster. SCAN IP addresses are typically used for load balancing and are not assigned to any interface. Oracle Clusterware directs the requests to the appropriate nodes in the cluster. **Note:** For a single-node DB system, this list is empty.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "vipIds": { + "type": "array", + "description": "The virtual IP (VIP) addresses associated with the cloud VM cluster. The Cluster Ready Services (CRS) creates and maintains one VIP address for each node in the Exadata Cloud Service instance to enable failover. If one node fails, the VIP is reassigned to another active node in the cluster. **Note:** For a single-node DB system, this list is empty.", + "items": { + "type": "string" + }, + "readOnly": true + }, + "scanDnsName": { + "type": "string", + "description": "The FQDN of the DNS record for the SCAN IP addresses that are associated with the cloud VM cluster. ", + "minLength": 1, + "maxLength": 72, + "readOnly": true + }, + "scanListenerPortTcp": { + "type": "integer", + "format": "int32", + "description": "The TCP Single Client Access Name (SCAN) port. The default port is 1521.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "scanListenerPortTcpSsl": { + "type": "integer", + "format": "int32", + "description": "The TCPS Single Client Access Name (SCAN) port. The default port is 2484.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "scanDnsRecordId": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the DNS record for the SCAN IP addresses that are associated with the cloud VM cluster.", + "readOnly": true + }, + "shape": { + "type": "string", + "description": "The model name of the Exadata hardware running the cloud VM cluster.", + "minLength": 1, + "maxLength": 255, + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/AzureResourceProvisioningState", + "description": "CloudVmCluster provisioning state", + "readOnly": true + }, + "lifecycleState": { + "$ref": "#/definitions/CloudVmClusterLifecycleState", + "description": "CloudVmCluster lifecycle state", + "readOnly": true + }, + "vnetId": { + "$ref": "#/definitions/VnetId", + "description": "VNET for network connectivity", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "giVersion": { + "type": "string", + "description": "Oracle Grid Infrastructure (GI) software version", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "ociUrl": { + "type": "string", + "format": "uri", + "description": "HTTPS link to OCI resources exposed to Azure Customer via Azure Interface.", + "readOnly": true + }, + "nsgUrl": { + "type": "string", + "format": "uri", + "description": "HTTPS link to OCI Network Security Group exposed to Azure Customer via the Azure Interface.", + "readOnly": true + }, + "subnetId": { + "$ref": "#/definitions/SubnetId", + "description": "Client subnet", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "backupSubnetCidr": { + "type": "string", + "description": "Client OCI backup subnet CIDR, default is 192.168.252.0/22", + "minLength": 1, + "maxLength": 32, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "nsgCidrs": { + "type": "array", + "description": "CIDR blocks for additional NSG ingress rules. The VNET CIDRs used to provision the VM Cluster will be added by default.", + "items": { + "$ref": "#/definitions/NsgCidr" + }, + "x-ms-identifiers": [], + "x-ms-mutability": [ + "read", + "create" + ] + }, + "dataCollectionOptions": { + "$ref": "#/definitions/DataCollectionOptions", + "description": "Indicates user preferences for the various diagnostic collection options for the VM cluster/Cloud VM cluster/VMBM DBCS." + }, + "displayName": { + "type": "string", + "description": "Display Name", + "minLength": 1, + "maxLength": 255 + }, + "computeNodes": { + "type": "array", + "description": "The list of compute servers to be added to the cloud VM cluster.", + "items": { + "$ref": "#/definitions/Ocid" + }, + "x-ms-mutability": [ + "update" + ] + }, + "iormConfigCache": { + "$ref": "#/definitions/ExadataIormConfig", + "description": "iormConfigCache details for cloud VM cluster.", + "readOnly": true + }, + "lastUpdateHistoryEntryId": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the last maintenance update history entry.", + "readOnly": true + }, + "dbServers": { + "type": "array", + "description": "The list of DB servers.", + "items": { + "$ref": "#/definitions/Ocid" + }, + "x-ms-mutability": [ + "read", + "create" + ] + }, + "compartmentId": { + "$ref": "#/definitions/Ocid", + "description": "Cluster compartmentId", + "readOnly": true + }, + "subnetOcid": { + "$ref": "#/definitions/Ocid", + "description": "Cluster subnet ocid", + "readOnly": true + } + }, + "required": [ + "hostname", + "cpuCoreCount", + "cloudExadataInfrastructureId", + "sshPublicKeys", + "vnetId", + "giVersion", + "subnetId", + "displayName" + ] + }, + "CloudVmClusterUpdate": { + "type": "object", + "description": "The type used for update operations of the CloudVmCluster.", + "properties": { + "tags": { + "type": "object", + "description": "Resource tags.", + "additionalProperties": { + "type": "string" + } + }, + "properties": { + "$ref": "#/definitions/CloudVmClusterUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "CloudVmClusterUpdateProperties": { + "type": "object", + "description": "The updatable properties of the CloudVmCluster.", + "properties": { + "storageSizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The data disk group size to be allocated in GBs per VM.", + "x-ms-mutability": [ + "read", + "update" + ] + }, + "dataStorageSizeInTbs": { + "type": "number", + "format": "double", + "description": "The data disk group size to be allocated in TBs." + }, + "dbNodeStorageSizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The local node storage to be allocated in GBs." + }, + "memorySizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The memory to be allocated in GBs." + }, + "cpuCoreCount": { + "type": "integer", + "format": "int32", + "description": "The number of CPU cores enabled on the cloud VM cluster." + }, + "ocpuCount": { + "type": "number", + "format": "float", + "description": "The number of OCPU cores to enable on the cloud VM cluster. Only 1 decimal place is allowed for the fractional part." + }, + "sshPublicKeys": { + "type": "array", + "description": "The public key portion of one or more key pairs used for SSH access to the cloud VM cluster.", + "items": { + "type": "string" + } + }, + "licenseModel": { + "$ref": "#/definitions/LicenseModel", + "description": "The Oracle license model that applies to the cloud VM cluster. The default is LICENSE_INCLUDED. " + }, + "dataCollectionOptions": { + "$ref": "#/definitions/DataCollectionOptions", + "description": "Indicates user preferences for the various diagnostic collection options for the VM cluster/Cloud VM cluster/VMBM DBCS." + }, + "displayName": { + "type": "string", + "description": "Display Name", + "minLength": 1, + "maxLength": 255 + }, + "computeNodes": { + "type": "array", + "description": "The list of compute servers to be added to the cloud VM cluster.", + "items": { + "$ref": "#/definitions/Ocid" + }, + "x-ms-mutability": [ + "update" + ] + } + } + }, + "ComputeModel": { + "type": "string", + "description": "Compute model enum", + "enum": [ + "ECPU", + "OCPU" + ], + "x-ms-enum": { + "name": "ComputeModel", + "modelAsString": true, + "values": [ + { + "name": "ECPU", + "value": "ECPU", + "description": "ECPU model type" + }, + { + "name": "OCPU", + "value": "OCPU", + "description": "OCPU model type" + } + ] + } + }, + "ConnectionStringType": { + "type": "object", + "description": "Connection strings to connect to an Oracle Autonomous Database.", + "properties": { + "allConnectionStrings": { + "$ref": "#/definitions/AllConnectionStringType", + "description": "Returns all connection strings that can be used to connect to the Autonomous Database." + }, + "dedicated": { + "type": "string", + "description": "The database service provides the least level of resources to each SQL statement, but supports the most number of concurrent SQL statements.", + "minLength": 10, + "maxLength": 255 + }, + "high": { + "type": "string", + "description": "The High database service provides the highest level of resources to each SQL statement resulting in the highest performance, but supports the fewest number of concurrent SQL statements.", + "minLength": 10, + "maxLength": 255 + }, + "low": { + "type": "string", + "description": "The Low database service provides the least level of resources to each SQL statement, but supports the most number of concurrent SQL statements.", + "minLength": 10, + "maxLength": 255 + }, + "medium": { + "type": "string", + "description": "The Medium database service provides a lower level of resources to each SQL statement potentially resulting a lower level of performance, but supports more concurrent SQL statements.", + "minLength": 10, + "maxLength": 255 + }, + "profiles": { + "type": "array", + "description": "A list of connection string profiles to allow clients to group, filter and select connection string values based on structured metadata.", + "items": { + "$ref": "#/definitions/ProfileType" + }, + "x-ms-identifiers": [] + } + } + }, + "ConnectionUrlType": { + "type": "object", + "description": "The URLs for accessing Oracle Application Express (APEX) and SQL Developer Web with a browser from a Compute instance within your VCN or that has a direct connection to your VCN.", + "properties": { + "apexUrl": { + "type": "string", + "description": "Oracle Application Express (APEX) URL.", + "minLength": 10, + "maxLength": 512 + }, + "databaseTransformsUrl": { + "type": "string", + "description": "The URL of the Database Transforms for the Autonomous Database.", + "minLength": 10, + "maxLength": 512 + }, + "graphStudioUrl": { + "type": "string", + "description": "The URL of the Graph Studio for the Autonomous Database.", + "minLength": 10, + "maxLength": 512 + }, + "machineLearningNotebookUrl": { + "type": "string", + "description": "The URL of the Oracle Machine Learning (OML) Notebook for the Autonomous Database.", + "minLength": 10, + "maxLength": 512 + }, + "mongoDbUrl": { + "type": "string", + "description": "The URL of the MongoDB API for the Autonomous Database.", + "minLength": 10, + "maxLength": 512 + }, + "ordsUrl": { + "type": "string", + "description": "The Oracle REST Data Services (ORDS) URL of the Web Access for the Autonomous Database.", + "minLength": 10, + "maxLength": 512 + }, + "sqlDevWebUrl": { + "type": "string", + "description": "Oracle SQL Developer Web URL.", + "minLength": 10, + "maxLength": 512 + } + } + }, + "ConsumerGroup": { + "type": "string", + "description": "Consumer group enum.", + "enum": [ + "High", + "Medium", + "Low", + "Tp", + "Tpurgent" + ], + "x-ms-enum": { + "name": "ConsumerGroup", + "modelAsString": true, + "values": [ + { + "name": "High", + "value": "High", + "description": "High group" + }, + { + "name": "Medium", + "value": "Medium", + "description": "Medium group" + }, + { + "name": "Low", + "value": "Low", + "description": "Low group" + }, + { + "name": "Tp", + "value": "Tp", + "description": "TP group" + }, + { + "name": "Tpurgent", + "value": "Tpurgent", + "description": "TPurgent group" + } + ] + } + }, + "CustomerContact": { + "type": "object", + "description": "CustomerContact resource properties", + "properties": { + "email": { + "type": "string", + "description": "The email address used by Oracle to send notifications regarding databases and infrastructure.", + "minLength": 1, + "maxLength": 320 + } + }, + "required": [ + "email" + ] + }, + "DataBaseType": { + "type": "string", + "description": "Database type enum", + "enum": [ + "Regular", + "Clone" + ], + "x-ms-enum": { + "name": "DataBaseType", + "modelAsString": true, + "values": [ + { + "name": "Regular", + "value": "Regular", + "description": "Regular DB" + }, + { + "name": "Clone", + "value": "Clone", + "description": "Clone DB" + } + ] + } + }, + "DataCollectionOptions": { + "type": "object", + "description": "DataCollectionOptions resource properties", + "properties": { + "isDiagnosticsEventsEnabled": { + "type": "boolean", + "description": "Indicates whether diagnostic collection is enabled for the VM cluster/Cloud VM cluster/VMBM DBCS.", + "default": false + }, + "isHealthMonitoringEnabled": { + "type": "boolean", + "description": "Indicates whether health monitoring is enabled for the VM cluster / Cloud VM cluster / VMBM DBCS.", + "default": false + }, + "isIncidentLogsEnabled": { + "type": "boolean", + "description": "Indicates whether incident logs and trace collection are enabled for the VM cluster / Cloud VM cluster / VMBM DBCS.", + "default": false + } + } + }, + "DataSafeStatusType": { + "type": "string", + "description": "DataSafe status type enum.", + "enum": [ + "Registering", + "Registered", + "Deregistering", + "NotRegistered", + "Failed" + ], + "x-ms-enum": { + "name": "DataSafeStatusType", + "modelAsString": true, + "values": [ + { + "name": "Registering", + "value": "Registering", + "description": "Registering status" + }, + { + "name": "Registered", + "value": "Registered", + "description": "Registered status" + }, + { + "name": "Deregistering", + "value": "Deregistering", + "description": "Deregistering status" + }, + { + "name": "NotRegistered", + "value": "NotRegistered", + "description": "NotRegistered status" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Failed status" + } + ] + } + }, + "DatabaseEditionType": { + "type": "string", + "description": "Database edition type enum.", + "enum": [ + "StandardEdition", + "EnterpriseEdition" + ], + "x-ms-enum": { + "name": "DatabaseEditionType", + "modelAsString": true, + "values": [ + { + "name": "StandardEdition", + "value": "StandardEdition", + "description": "Standard edition" + }, + { + "name": "EnterpriseEdition", + "value": "EnterpriseEdition", + "description": "Enterprise edition" + } + ] + } + }, + "DayOfWeek": { + "type": "object", + "description": "DayOfWeek resource properties", + "properties": { + "name": { + "$ref": "#/definitions/DayOfWeekName", + "description": "Name of the day of the week." + } + }, + "required": [ + "name" + ] + }, + "DayOfWeekName": { + "type": "string", + "description": "DayOfWeekName enum", + "enum": [ + "Monday", + "Tuesday", + "Wednesday", + "Thursday", + "Friday", + "Saturday", + "Sunday" + ], + "x-ms-enum": { + "name": "DayOfWeekName", + "modelAsString": true, + "values": [ + { + "name": "Monday", + "value": "Monday", + "description": "Monday value" + }, + { + "name": "Tuesday", + "value": "Tuesday", + "description": "Tuesday value" + }, + { + "name": "Wednesday", + "value": "Wednesday", + "description": "Wednesday value" + }, + { + "name": "Thursday", + "value": "Thursday", + "description": "Thursday value" + }, + { + "name": "Friday", + "value": "Friday", + "description": "Friday value" + }, + { + "name": "Saturday", + "value": "Saturday", + "description": "Saturday value" + }, + { + "name": "Sunday", + "value": "Sunday", + "description": "Sunday value" + } + ] + } + }, + "DayOfWeekUpdate": { + "type": "object", + "description": "DayOfWeek resource properties", + "properties": { + "name": { + "$ref": "#/definitions/DayOfWeekName", + "description": "Name of the day of the week." + } + } + }, + "DbIormConfig": { + "type": "object", + "description": "DbIormConfig for cloud vm cluster", + "properties": { + "dbName": { + "type": "string", + "description": "The database name. For the default DbPlan, the dbName is default." + }, + "flashCacheLimit": { + "type": "string", + "description": "The flash cache limit for this database. This value is internally configured based on the share value assigned to the database." + }, + "share": { + "type": "integer", + "format": "int32", + "description": "The relative priority of this database.", + "minimum": 1, + "maximum": 32 + } + } + }, + "DbNode": { + "type": "object", + "description": "The DbNode resource belonging to vmCluster", + "properties": { + "properties": { + "$ref": "#/definitions/DbNodeProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "DbNodeAction": { + "type": "object", + "description": "DbNode action object", + "properties": { + "action": { + "$ref": "#/definitions/DbNodeActionEnum", + "description": "Db action" + } + }, + "required": [ + "action" + ] + }, + "DbNodeActionEnum": { + "type": "string", + "description": "DbNode action enum", + "enum": [ + "Start", + "Stop", + "SoftReset", + "Reset" + ], + "x-ms-enum": { + "name": "DbNodeActionEnum", + "modelAsString": true, + "values": [ + { + "name": "Start", + "value": "Start", + "description": "Start DbNode" + }, + { + "name": "Stop", + "value": "Stop", + "description": "Stop DbNode" + }, + { + "name": "SoftReset", + "value": "SoftReset", + "description": "Soft reset DbNode" + }, + { + "name": "Reset", + "value": "Reset", + "description": "Reset DbNode" + } + ] + } + }, + "DbNodeListResult": { + "type": "object", + "description": "The response of a DbNode list operation.", + "properties": { + "value": { + "type": "array", + "description": "The DbNode items on this page", + "items": { + "$ref": "#/definitions/DbNode" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "DbNodeMaintenanceType": { + "type": "string", + "description": "The type of database node maintenance.", + "enum": [ + "VmdbRebootMigration" + ], + "x-ms-enum": { + "name": "DbNodeMaintenanceType", + "modelAsString": true, + "values": [ + { + "name": "VmdbRebootMigration", + "value": "VmdbRebootMigration", + "description": "VMDB reboot migration maintenance type" + } + ] + } + }, + "DbNodeProperties": { + "type": "object", + "description": "The properties of DbNodeResource", + "properties": { + "ocid": { + "$ref": "#/definitions/Ocid", + "description": "DbNode OCID", + "readOnly": true + }, + "additionalDetails": { + "type": "string", + "description": "Additional information about the planned maintenance.", + "readOnly": true + }, + "backupIpId": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the backup IP address associated with the database node.", + "readOnly": true + }, + "backupVnic2Id": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the second backup VNIC.", + "readOnly": true + }, + "backupVnicId": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the backup VNIC.", + "readOnly": true + }, + "cpuCoreCount": { + "type": "integer", + "format": "int32", + "description": "The number of CPU cores enabled on the Db node.", + "readOnly": true + }, + "dbNodeStorageSizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The allocated local node storage in GBs on the Db node.", + "readOnly": true + }, + "dbServerId": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the Exacc Db server associated with the database node.", + "readOnly": true + }, + "dbSystemId": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the DB system.", + "readOnly": true + }, + "faultDomain": { + "type": "string", + "description": "The name of the Fault Domain the instance is contained in.", + "minLength": 1, + "maxLength": 255, + "readOnly": true + }, + "hostIpId": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the host IP address associated with the database node.", + "readOnly": true + }, + "hostname": { + "type": "string", + "description": "The host name for the database node.", + "readOnly": true + }, + "lifecycleState": { + "$ref": "#/definitions/DbNodeProvisioningState", + "description": "The current state of the database node.", + "readOnly": true + }, + "lifecycleDetails": { + "type": "string", + "description": "Lifecycle details of Db Node.", + "readOnly": true + }, + "maintenanceType": { + "$ref": "#/definitions/DbNodeMaintenanceType", + "description": "The type of database node maintenance.", + "readOnly": true + }, + "memorySizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The allocated memory in GBs on the Db node.", + "readOnly": true + }, + "softwareStorageSizeInGb": { + "type": "integer", + "format": "int32", + "description": "The size (in GB) of the block storage volume allocation for the DB system. This attribute applies only for virtual machine DB systems.", + "readOnly": true + }, + "timeCreated": { + "type": "string", + "format": "date-time", + "description": "The date and time that the database node was created.", + "readOnly": true + }, + "timeMaintenanceWindowEnd": { + "type": "string", + "format": "date-time", + "description": "End date and time of maintenance window.", + "readOnly": true + }, + "timeMaintenanceWindowStart": { + "type": "string", + "format": "date-time", + "description": "Start date and time of maintenance window.", + "readOnly": true + }, + "vnic2Id": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the second VNIC.", + "readOnly": true + }, + "vnicId": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the VNIC.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/Azure.ResourceManager.ResourceProvisioningState", + "description": "Azure resource provisioning state.", + "readOnly": true + } + }, + "required": [ + "ocid", + "dbSystemId" + ] + }, + "DbNodeProvisioningState": { + "type": "string", + "description": "DnNode provisioning state enum", + "enum": [ + "Provisioning", + "Available", + "Updating", + "Stopping", + "Stopped", + "Starting", + "Terminating", + "Terminated", + "Failed" + ], + "x-ms-enum": { + "name": "DbNodeProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Provisioning", + "value": "Provisioning", + "description": "Indicates that resource in Provisioning state" + }, + { + "name": "Available", + "value": "Available", + "description": "Indicates that resource in Available state" + }, + { + "name": "Updating", + "value": "Updating", + "description": "Indicates that resource in Updating state" + }, + { + "name": "Stopping", + "value": "Stopping", + "description": "Indicates that resource in Stopping state" + }, + { + "name": "Stopped", + "value": "Stopped", + "description": "Indicates that resource in Stopped state" + }, + { + "name": "Starting", + "value": "Starting", + "description": "Indicates that resource in Starting state" + }, + { + "name": "Terminating", + "value": "Terminating", + "description": "Indicates that resource in Terminating state" + }, + { + "name": "Terminated", + "value": "Terminated", + "description": "Indicates that resource in Terminated state" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Indicates that resource in Failed state" + } + ] + } + }, + "DbServer": { + "type": "object", + "description": "DbServer resource model", + "properties": { + "properties": { + "$ref": "#/definitions/DbServerProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "DbServerListResult": { + "type": "object", + "description": "The response of a DbServer list operation.", + "properties": { + "value": { + "type": "array", + "description": "The DbServer items on this page", + "items": { + "$ref": "#/definitions/DbServer" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "DbServerPatchingDetails": { + "type": "object", + "description": "DbServer Patching Properties", + "properties": { + "estimatedPatchDuration": { + "type": "integer", + "format": "int32", + "description": "Estimated Patch Duration", + "minimum": 1, + "maximum": 3000, + "readOnly": true + }, + "patchingStatus": { + "$ref": "#/definitions/DbServerPatchingStatus", + "description": "Patching Status", + "readOnly": true + }, + "timePatchingEnded": { + "type": "string", + "format": "date-time", + "description": "Time Patching Ended", + "readOnly": true + }, + "timePatchingStarted": { + "type": "string", + "format": "date-time", + "description": "Time Patching Started", + "readOnly": true + } + } + }, + "DbServerPatchingStatus": { + "type": "string", + "description": "DB Server patching status enum", + "enum": [ + "Scheduled", + "MaintenanceInProgress", + "Failed", + "Complete" + ], + "x-ms-enum": { + "name": "DbServerPatchingStatus", + "modelAsString": true, + "values": [ + { + "name": "Scheduled", + "value": "Scheduled", + "description": "Patching scheduled" + }, + { + "name": "MaintenanceInProgress", + "value": "MaintenanceInProgress", + "description": "Patching in progress" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Patching failed" + }, + { + "name": "Complete", + "value": "Complete", + "description": "Patching completed" + } + ] + } + }, + "DbServerProperties": { + "type": "object", + "description": "DbServer resource properties", + "properties": { + "ocid": { + "$ref": "#/definitions/Ocid", + "description": "Db server name.", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "The name for the Db Server.", + "minLength": 1, + "maxLength": 255, + "readOnly": true + }, + "compartmentId": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the compartment.", + "readOnly": true + }, + "exadataInfrastructureId": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the Exadata infrastructure.", + "readOnly": true + }, + "cpuCoreCount": { + "type": "integer", + "format": "int32", + "description": "The number of CPU cores enabled on the Db server.", + "readOnly": true + }, + "dbServerPatchingDetails": { + "$ref": "#/definitions/DbServerPatchingDetails", + "description": "dbServerPatching details of the Db server.", + "readOnly": true + }, + "maxMemoryInGbs": { + "type": "integer", + "format": "int32", + "description": "The total memory available in GBs.", + "readOnly": true + }, + "dbNodeStorageSizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The allocated local node storage in GBs on the Db server.", + "readOnly": true + }, + "vmClusterIds": { + "type": "array", + "description": "The OCID of the VM Clusters associated with the Db server.", + "items": { + "$ref": "#/definitions/Ocid" + }, + "readOnly": true + }, + "dbNodeIds": { + "type": "array", + "description": "The OCID of the Db nodes associated with the Db server.", + "items": { + "$ref": "#/definitions/Ocid" + }, + "readOnly": true + }, + "lifecycleDetails": { + "type": "string", + "description": "Lifecycle details of dbServer.", + "readOnly": true + }, + "lifecycleState": { + "$ref": "#/definitions/DbServerProvisioningState", + "description": "DbServer provisioning state.", + "readOnly": true + }, + "maxCpuCount": { + "type": "integer", + "format": "int32", + "description": "The total number of CPU cores available.", + "readOnly": true + }, + "autonomousVmClusterIds": { + "type": "array", + "description": "The list of OCIDs of the Autonomous VM Clusters associated with the Db server.", + "items": { + "$ref": "#/definitions/Ocid" + }, + "readOnly": true + }, + "autonomousVirtualMachineIds": { + "type": "array", + "description": "The list of OCIDs of the Autonomous Virtual Machines associated with the Db server.", + "items": { + "$ref": "#/definitions/Ocid" + }, + "readOnly": true + }, + "maxDbNodeStorageInGbs": { + "type": "integer", + "format": "int32", + "description": "The total max dbNode storage in GBs.", + "readOnly": true + }, + "memorySizeInGbs": { + "type": "integer", + "format": "int32", + "description": "The total memory size in GBs.", + "readOnly": true + }, + "shape": { + "type": "string", + "description": "The shape of the Db server. The shape determines the amount of CPU, storage, and memory resources available.", + "minLength": 1, + "maxLength": 255, + "readOnly": true + }, + "timeCreated": { + "type": "string", + "format": "date-time", + "description": "The date and time that the Db Server was created.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/Azure.ResourceManager.ResourceProvisioningState", + "description": "Azure resource provisioning state.", + "readOnly": true + } + } + }, + "DbServerProvisioningState": { + "type": "string", + "description": "DbServerProvisioningState enum", + "enum": [ + "Creating", + "Available", + "Unavailable", + "Deleting", + "Deleted", + "MaintenanceInProgress" + ], + "x-ms-enum": { + "name": "DbServerProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Creating", + "value": "Creating", + "description": "Indicates that resource in Creating state" + }, + { + "name": "Available", + "value": "Available", + "description": "Indicates that resource in Available state" + }, + { + "name": "Unavailable", + "value": "Unavailable", + "description": "Indicates that resource in Unavailable state" + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "Indicates that resource in Deleting state" + }, + { + "name": "Deleted", + "value": "Deleted", + "description": "Indicates that resource in Deleted state" + }, + { + "name": "MaintenanceInProgress", + "value": "MaintenanceInProgress", + "description": "Indicates that resource maintenance in progress state" + } + ] + } + }, + "DbSystemShape": { + "type": "object", + "description": "DbSystemShape resource definition", + "properties": { + "properties": { + "$ref": "#/definitions/DbSystemShapeProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "DbSystemShapeListResult": { + "type": "object", + "description": "The response of a DbSystemShape list operation.", + "properties": { + "value": { + "type": "array", + "description": "The DbSystemShape items on this page", + "items": { + "$ref": "#/definitions/DbSystemShape" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "DbSystemShapeProperties": { + "type": "object", + "description": "DbSystemShape resource model", + "properties": { + "shapeFamily": { + "type": "string", + "description": "The family of the shape used for the DB system.", + "minLength": 1, + "maxLength": 255, + "readOnly": true + }, + "availableCoreCount": { + "type": "integer", + "format": "int32", + "description": "The maximum number of CPU cores that can be enabled on the DB system for this shape.", + "readOnly": true + }, + "minimumCoreCount": { + "type": "integer", + "format": "int32", + "description": "The minimum number of CPU cores that can be enabled on the DB system for this shape.", + "readOnly": true + }, + "runtimeMinimumCoreCount": { + "type": "integer", + "format": "int32", + "description": "The runtime minimum number of CPU cores that can be enabled on the DB system for this shape.", + "readOnly": true + }, + "coreCountIncrement": { + "type": "integer", + "format": "int32", + "description": "The discrete number by which the CPU core count for this shape can be increased or decreased.", + "readOnly": true + }, + "minStorageCount": { + "type": "integer", + "format": "int32", + "description": "The minimum number of Exadata storage servers available for the Exadata infrastructure.", + "readOnly": true + }, + "maxStorageCount": { + "type": "integer", + "format": "int32", + "description": "The maximum number of Exadata storage servers available for the Exadata infrastructure.", + "readOnly": true + }, + "availableDataStoragePerServerInTbs": { + "type": "number", + "format": "double", + "description": "The maximum data storage available per storage server for this shape. Only applicable to ExaCC Elastic shapes.", + "readOnly": true + }, + "availableMemoryPerNodeInGbs": { + "type": "integer", + "format": "int32", + "description": "The maximum memory available per database node for this shape. Only applicable to ExaCC Elastic shapes.", + "readOnly": true + }, + "availableDbNodePerNodeInGbs": { + "type": "integer", + "format": "int32", + "description": "The maximum Db Node storage available per database node for this shape. Only applicable to ExaCC Elastic shapes.", + "readOnly": true + }, + "minCoreCountPerNode": { + "type": "integer", + "format": "int32", + "description": "The minimum number of CPU cores that can be enabled per node for this shape.", + "readOnly": true + }, + "availableMemoryInGbs": { + "type": "integer", + "format": "int32", + "description": "The maximum memory that can be enabled for this shape.", + "readOnly": true + }, + "minMemoryPerNodeInGbs": { + "type": "integer", + "format": "int32", + "description": "The minimum memory that need be allocated per node for this shape.", + "readOnly": true + }, + "availableDbNodeStorageInGbs": { + "type": "integer", + "format": "int32", + "description": "The maximum Db Node storage that can be enabled for this shape.", + "readOnly": true + }, + "minDbNodeStoragePerNodeInGbs": { + "type": "integer", + "format": "int32", + "description": "The minimum Db Node storage that need be allocated per node for this shape.", + "readOnly": true + }, + "availableDataStorageInTbs": { + "type": "integer", + "format": "int32", + "description": "The maximum DATA storage that can be enabled for this shape.", + "readOnly": true + }, + "minDataStorageInTbs": { + "type": "integer", + "format": "int32", + "description": "The minimum data storage that need be allocated for this shape.", + "readOnly": true + }, + "minimumNodeCount": { + "type": "integer", + "format": "int32", + "description": "The minimum number of database nodes available for this shape.", + "readOnly": true + }, + "maximumNodeCount": { + "type": "integer", + "format": "int32", + "description": "The maximum number of database nodes available for this shape.", + "readOnly": true + }, + "availableCoreCountPerNode": { + "type": "integer", + "format": "int32", + "description": "The maximum number of CPU cores per database node that can be enabled for this shape. Only applicable to the flex Exadata shape and ExaCC Elastic shapes.", + "readOnly": true + } + }, + "required": [ + "availableCoreCount" + ] + }, + "DisasterRecoveryType": { + "type": "string", + "description": "Disaster recovery type enum.", + "enum": [ + "Adg", + "BackupBased" + ], + "x-ms-enum": { + "name": "DisasterRecoveryType", + "modelAsString": true, + "values": [ + { + "name": "Adg", + "value": "Adg", + "description": "ADG type" + }, + { + "name": "BackupBased", + "value": "BackupBased", + "description": "Backup based type" + } + ] + } + }, + "DiskRedundancy": { + "type": "string", + "description": "Disk redundancy enum", + "enum": [ + "High", + "Normal" + ], + "x-ms-enum": { + "name": "DiskRedundancy", + "modelAsString": true, + "values": [ + { + "name": "High", + "value": "High", + "description": "High redundancy" + }, + { + "name": "Normal", + "value": "Normal", + "description": "Normal redundancy" + } + ] + } + }, + "DnsPrivateView": { + "type": "object", + "description": "DnsPrivateView resource definition", + "properties": { + "properties": { + "$ref": "#/definitions/DnsPrivateViewProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "DnsPrivateViewListResult": { + "type": "object", + "description": "The response of a DnsPrivateView list operation.", + "properties": { + "value": { + "type": "array", + "description": "The DnsPrivateView items on this page", + "items": { + "$ref": "#/definitions/DnsPrivateView" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "DnsPrivateViewProperties": { + "type": "object", + "description": "Views resource model", + "properties": { + "ocid": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the view", + "readOnly": true + }, + "displayName": { + "type": "string", + "description": "The display name of the view resource", + "readOnly": true + }, + "isProtected": { + "type": "boolean", + "description": "A Boolean flag indicating whether or not parts of the resource are unable to be explicitly managed.", + "readOnly": true + }, + "lifecycleState": { + "$ref": "#/definitions/DnsPrivateViewsLifecycleState", + "description": "Views lifecycleState", + "readOnly": true + }, + "self": { + "type": "string", + "description": "The canonical absolute URL of the resource.", + "readOnly": true + }, + "timeCreated": { + "type": "string", + "format": "date-time", + "description": "views timeCreated", + "readOnly": true + }, + "timeUpdated": { + "type": "string", + "format": "date-time", + "description": "views timeCreated", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/Azure.ResourceManager.ResourceProvisioningState", + "description": "Azure resource provisioning state.", + "readOnly": true + } + }, + "required": [ + "ocid", + "isProtected", + "self", + "timeCreated", + "timeUpdated" + ] + }, + "DnsPrivateViewsLifecycleState": { + "type": "string", + "description": "DNS Private Views lifecycle state enum", + "enum": [ + "Active", + "Deleted", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "DnsPrivateViewsLifecycleState", + "modelAsString": true, + "values": [ + { + "name": "Active", + "value": "Active", + "description": "DNS Private View is active" + }, + { + "name": "Deleted", + "value": "Deleted", + "description": "DNS Private View is deleted" + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "DNS Private View is deleting" + }, + { + "name": "Updating", + "value": "Updating", + "description": "DNS Private View is updating" + } + ] + } + }, + "DnsPrivateZone": { + "type": "object", + "description": "DnsPrivateZone resource definition", + "properties": { + "properties": { + "$ref": "#/definitions/DnsPrivateZoneProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "DnsPrivateZoneListResult": { + "type": "object", + "description": "The response of a DnsPrivateZone list operation.", + "properties": { + "value": { + "type": "array", + "description": "The DnsPrivateZone items on this page", + "items": { + "$ref": "#/definitions/DnsPrivateZone" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "DnsPrivateZoneProperties": { + "type": "object", + "description": "Zones resource model", + "properties": { + "ocid": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the Zone", + "readOnly": true + }, + "isProtected": { + "type": "boolean", + "description": "A Boolean flag indicating whether or not parts of the resource are unable to be explicitly managed.", + "readOnly": true + }, + "lifecycleState": { + "$ref": "#/definitions/DnsPrivateZonesLifecycleState", + "description": "Zones lifecycleState", + "readOnly": true + }, + "self": { + "type": "string", + "description": "The canonical absolute URL of the resource.", + "readOnly": true + }, + "serial": { + "type": "integer", + "format": "int32", + "description": "The current serial of the zone. As seen in the zone's SOA record.", + "readOnly": true + }, + "version": { + "type": "string", + "description": "Version is the never-repeating, totally-orderable, version of the zone, from which the serial field of the zone's SOA record is derived.", + "readOnly": true + }, + "viewId": { + "$ref": "#/definitions/Ocid", + "description": "The OCID of the private view containing the zone. This value will be null for zones in the global DNS, which are publicly resolvable and not part of a private view.", + "readOnly": true + }, + "zoneType": { + "$ref": "#/definitions/ZoneType", + "description": "The type of the zone. Must be either PRIMARY or SECONDARY. SECONDARY is only supported for GLOBAL zones.", + "readOnly": true + }, + "timeCreated": { + "type": "string", + "format": "date-time", + "description": "Zones timeCreated", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/Azure.ResourceManager.ResourceProvisioningState", + "description": "Azure resource provisioning state.", + "readOnly": true + } + }, + "required": [ + "ocid", + "isProtected", + "self", + "serial", + "version", + "zoneType", + "timeCreated" + ] + }, + "DnsPrivateZonesLifecycleState": { + "type": "string", + "description": "DNS Private Zones lifecycle state enum", + "enum": [ + "Active", + "Creating", + "Deleted", + "Deleting", + "Updating" + ], + "x-ms-enum": { + "name": "DnsPrivateZonesLifecycleState", + "modelAsString": true, + "values": [ + { + "name": "Active", + "value": "Active", + "description": "DNS Private Zones is active" + }, + { + "name": "Creating", + "value": "Creating", + "description": "DNS Private Zones is creating" + }, + { + "name": "Deleted", + "value": "Deleted", + "description": "DNS Private Zones is deleted" + }, + { + "name": "Deleting", + "value": "Deleting", + "description": "DNS Private Zones is deleting" + }, + { + "name": "Updating", + "value": "Updating", + "description": "DNS Private Zones is updating" + } + ] + } + }, + "EstimatedPatchingTime": { + "type": "object", + "description": "The estimated total time required in minutes for all patching operations (database server, storage server, and network switch patching).", + "properties": { + "estimatedDbServerPatchingTime": { + "type": "integer", + "format": "int32", + "description": "The estimated time required in minutes for database server patching.", + "minimum": 1, + "maximum": 3000, + "readOnly": true + }, + "estimatedNetworkSwitchesPatchingTime": { + "type": "integer", + "format": "int32", + "description": "The estimated time required in minutes for network switch patching.", + "minimum": 1, + "maximum": 3000, + "readOnly": true + }, + "estimatedStorageServerPatchingTime": { + "type": "integer", + "format": "int32", + "description": "The estimated time required in minutes for storage server patching.", + "minimum": 1, + "maximum": 3000, + "readOnly": true + }, + "totalEstimatedPatchingTime": { + "type": "integer", + "format": "int32", + "description": "The estimated total time required in minutes for all patching operations.", + "minimum": 1, + "maximum": 3000, + "readOnly": true + } + } + }, + "ExadataIormConfig": { + "type": "object", + "description": "ExadataIormConfig for cloud vm cluster", + "properties": { + "dbPlans": { + "type": "array", + "description": "An array of IORM settings for all the database in the Exadata DB system.", + "items": { + "$ref": "#/definitions/DbIormConfig" + }, + "x-ms-identifiers": [] + }, + "lifecycleDetails": { + "type": "string", + "description": "Additional information about the current lifecycleState." + }, + "lifecycleState": { + "$ref": "#/definitions/IormLifecycleState", + "description": "The current state of IORM configuration for the Exadata DB system." + }, + "objective": { + "$ref": "#/definitions/Objective", + "description": "The current value for the IORM objective. The default is AUTO." + } + } + }, + "GenerateAutonomousDatabaseWalletDetails": { + "type": "object", + "description": "Autonomous Database Generate Wallet resource model.", + "properties": { + "generateType": { + "$ref": "#/definitions/GenerateType", + "description": "The type of wallet to generate." + }, + "isRegional": { + "type": "boolean", + "description": "True when requesting regional connection strings in PDB connect info, applicable to cross-region DG only." + }, + "password": { + "$ref": "#/definitions/Password", + "description": "The password to encrypt the keys inside the wallet", + "minLength": 8 + } + }, + "required": [ + "password" + ] + }, + "GenerateType": { + "type": "string", + "description": "Generate type enum", + "enum": [ + "Single", + "All" + ], + "x-ms-enum": { + "name": "GenerateType", + "modelAsString": true, + "values": [ + { + "name": "Single", + "value": "Single", + "description": "Generate single" + }, + { + "name": "All", + "value": "All", + "description": "Generate all" + } + ] + } + }, + "GiVersion": { + "type": "object", + "description": "GiVersion resource definition", + "properties": { + "properties": { + "$ref": "#/definitions/GiVersionProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "GiVersionListResult": { + "type": "object", + "description": "The response of a GiVersion list operation.", + "properties": { + "value": { + "type": "array", + "description": "The GiVersion items on this page", + "items": { + "$ref": "#/definitions/GiVersion" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "GiVersionProperties": { + "type": "object", + "description": "GiVersion resource model", + "properties": { + "version": { + "type": "string", + "description": "A valid Oracle Grid Infrastructure (GI) software version.", + "minLength": 1, + "maxLength": 255, + "readOnly": true + } + }, + "required": [ + "version" + ] + }, + "HostFormatType": { + "type": "string", + "description": "Host format type enum.", + "enum": [ + "Fqdn", + "Ip" + ], + "x-ms-enum": { + "name": "HostFormatType", + "modelAsString": true, + "values": [ + { + "name": "Fqdn", + "value": "Fqdn", + "description": "FQDN format" + }, + { + "name": "Ip", + "value": "Ip", + "description": "IP format" + } + ] + } + }, + "Intent": { + "type": "string", + "description": "Intent enum", + "enum": [ + "Retain", + "Reset" + ], + "x-ms-enum": { + "name": "Intent", + "modelAsString": true, + "values": [ + { + "name": "Retain", + "value": "Retain", + "description": "Retain intent" + }, + { + "name": "Reset", + "value": "Reset", + "description": "Reset intent" + } + ] + } + }, + "IormLifecycleState": { + "type": "string", + "description": "ORM lifecycle state enum", + "enum": [ + "BootStrapping", + "Enabled", + "Disabled", + "Updating", + "Failed" + ], + "x-ms-enum": { + "name": "IormLifecycleState", + "modelAsString": true, + "values": [ + { + "name": "BootStrapping", + "value": "BootStrapping", + "description": "Indicates that resource in Provisioning state" + }, + { + "name": "Enabled", + "value": "Enabled", + "description": "Indicates that resource in Enabled state" + }, + { + "name": "Disabled", + "value": "Disabled", + "description": "Indicates that resource in Disabled state" + }, + { + "name": "Updating", + "value": "Updating", + "description": "Indicates that resource in Updating state" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Indicates that resource in Failed state" + } + ] + } + }, + "LicenseModel": { + "type": "string", + "description": "LicenseModel enum", + "enum": [ + "LicenseIncluded", + "BringYourOwnLicense" + ], + "x-ms-enum": { + "name": "LicenseModel", + "modelAsString": true, + "values": [ + { + "name": "LicenseIncluded", + "value": "LicenseIncluded", + "description": "License included" + }, + { + "name": "BringYourOwnLicense", + "value": "BringYourOwnLicense", + "description": "Bring Your Own License" + } + ] + } + }, + "LongTermBackUpScheduleDetails": { + "type": "object", + "description": "Details for the long-term backup schedule.", + "properties": { + "repeatCadence": { + "$ref": "#/definitions/RepeatCadenceType", + "description": "The frequency of the long-term backup schedule" + }, + "timeOfBackup": { + "type": "string", + "format": "date-time", + "description": "The timestamp for the long-term backup schedule. For a MONTHLY cadence, months having fewer days than the provided date will have the backup taken on the last day of that month." + }, + "retentionPeriodInDays": { + "$ref": "#/definitions/RetentionPeriod", + "description": "Retention period, in days, for backups." + }, + "isDisabled": { + "type": "boolean", + "description": "Indicates if the long-term backup schedule should be deleted. The default value is `FALSE`." + } + } + }, + "MaintenanceWindow": { + "type": "object", + "description": "MaintenanceWindow resource properties", + "properties": { + "preference": { + "$ref": "#/definitions/Preference", + "description": "The maintenance window scheduling preference." + }, + "months": { + "type": "array", + "description": "Months during the year when maintenance should be performed.", + "items": { + "$ref": "#/definitions/Month" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "weeksOfMonth": { + "type": "array", + "description": "Weeks during the month when maintenance should be performed. Weeks start on the 1st, 8th, 15th, and 22nd days of the month, and have a duration of 7 days. Weeks start and end based on calendar dates, not days of the week. For example, to allow maintenance during the 2nd week of the month (from the 8th day to the 14th day of the month), use the value 2. Maintenance cannot be scheduled for the fifth week of months that contain more than 28 days. Note that this parameter works in conjunction with the daysOfWeek and hoursOfDay parameters to allow you to specify specific days of the week and hours that maintenance will be performed. ", + "items": { + "type": "integer", + "format": "int32" + } + }, + "daysOfWeek": { + "type": "array", + "description": "Days during the week when maintenance should be performed.", + "items": { + "$ref": "#/definitions/DayOfWeek" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "hoursOfDay": { + "type": "array", + "description": "The window of hours during the day when maintenance should be performed. The window is a 4 hour slot. Valid values are - 0 - represents time slot 0:00 - 3:59 UTC - 4 - represents time slot 4:00 - 7:59 UTC - 8 - represents time slot 8:00 - 11:59 UTC - 12 - represents time slot 12:00 - 15:59 UTC - 16 - represents time slot 16:00 - 19:59 UTC - 20 - represents time slot 20:00 - 23:59 UTC", + "items": { + "type": "integer", + "format": "int32" + } + }, + "leadTimeInWeeks": { + "type": "integer", + "format": "int32", + "description": "Lead time window allows user to set a lead time to prepare for a down time. The lead time is in weeks and valid value is between 1 to 4. " + }, + "patchingMode": { + "$ref": "#/definitions/PatchingMode", + "description": "Cloud Exadata infrastructure node patching method." + }, + "customActionTimeoutInMins": { + "type": "integer", + "format": "int32", + "description": "Determines the amount of time the system will wait before the start of each database server patching operation. Custom action timeout is in minutes and valid value is between 15 to 120 (inclusive).", + "minimum": 0, + "maximum": 120 + }, + "isCustomActionTimeoutEnabled": { + "type": "boolean", + "description": "If true, enables the configuration of a custom action timeout (waiting period) between database server patching operations." + }, + "isMonthlyPatchingEnabled": { + "type": "boolean", + "description": "is Monthly Patching Enabled" + } + } + }, + "Month": { + "type": "object", + "description": "Month resource properties", + "properties": { + "name": { + "$ref": "#/definitions/MonthName", + "description": "Name of the month of the year." + } + }, + "required": [ + "name" + ] + }, + "MonthName": { + "type": "string", + "description": "MonthName enum", + "enum": [ + "January", + "February", + "March", + "April", + "May", + "June", + "July", + "August", + "September", + "October", + "November", + "December" + ], + "x-ms-enum": { + "name": "MonthName", + "modelAsString": true, + "values": [ + { + "name": "January", + "value": "January", + "description": "January value" + }, + { + "name": "February", + "value": "February", + "description": "February value" + }, + { + "name": "March", + "value": "March", + "description": "March value" + }, + { + "name": "April", + "value": "April", + "description": "April value" + }, + { + "name": "May", + "value": "May", + "description": "May value" + }, + { + "name": "June", + "value": "June", + "description": "June value" + }, + { + "name": "July", + "value": "July", + "description": "July value" + }, + { + "name": "August", + "value": "August", + "description": "August value" + }, + { + "name": "September", + "value": "September", + "description": "September value" + }, + { + "name": "October", + "value": "October", + "description": "October value" + }, + { + "name": "November", + "value": "November", + "description": "November value" + }, + { + "name": "December", + "value": "December", + "description": "December value" + } + ] + } + }, + "MsRpaasNewResourceHeader": { + "type": "object", + "description": "Header to distinguish between resource creation or update" + }, + "NsgCidr": { + "type": "object", + "description": "A rule for allowing inbound (INGRESS) IP packets", + "properties": { + "source": { + "type": "string", + "description": "Conceptually, this is the range of IP addresses that a packet coming into the instance can come from.", + "minLength": 1, + "maxLength": 128 + }, + "destinationPortRange": { + "$ref": "#/definitions/PortRange", + "description": "Destination port range to specify particular destination ports for TCP rules." + } + }, + "required": [ + "source" + ] + }, + "Objective": { + "type": "string", + "description": "Objective enum", + "enum": [ + "LowLatency", + "HighThroughput", + "Balanced", + "Auto", + "Basic" + ], + "x-ms-enum": { + "name": "Objective", + "modelAsString": true, + "values": [ + { + "name": "LowLatency", + "value": "LowLatency", + "description": "Low latency objective" + }, + { + "name": "HighThroughput", + "value": "HighThroughput", + "description": "High throughput objective" + }, + { + "name": "Balanced", + "value": "Balanced", + "description": "Balanced objective" + }, + { + "name": "Auto", + "value": "Auto", + "description": "Auto objective" + }, + { + "name": "Basic", + "value": "Basic", + "description": "Basic objective" + } + ] + } + }, + "Ocid": { + "type": "string", + "description": "The [OCID](/Content/General/Concepts/identifiers.htm) of the resource.", + "minLength": 1, + "maxLength": 255 + }, + "OpenModeType": { + "type": "string", + "description": "Open mode type enum.", + "enum": [ + "ReadOnly", + "ReadWrite" + ], + "x-ms-enum": { + "name": "OpenModeType", + "modelAsString": true, + "values": [ + { + "name": "ReadOnly", + "value": "ReadOnly", + "description": "ReadOnly mode" + }, + { + "name": "ReadWrite", + "value": "ReadWrite", + "description": "ReadWrite mode" + } + ] + } + }, + "OperationsInsightsStatusType": { + "type": "string", + "description": "Operations Insights status type enum.", + "enum": [ + "Enabling", + "Enabled", + "Disabling", + "NotEnabled", + "FailedEnabling", + "FailedDisabling" + ], + "x-ms-enum": { + "name": "OperationsInsightsStatusType", + "modelAsString": true, + "values": [ + { + "name": "Enabling", + "value": "Enabling", + "description": "Enabling status" + }, + { + "name": "Enabled", + "value": "Enabled", + "description": "Enabled status" + }, + { + "name": "Disabling", + "value": "Disabling", + "description": "Disabling status" + }, + { + "name": "NotEnabled", + "value": "NotEnabled", + "description": "NotEnabled status" + }, + { + "name": "FailedEnabling", + "value": "FailedEnabling", + "description": "FailedEnabling status" + }, + { + "name": "FailedDisabling", + "value": "FailedDisabling", + "description": "FailedDisabling status" + } + ] + } + }, + "OracleSubscription": { + "type": "object", + "description": "OracleSubscription resource definition", + "properties": { + "properties": { + "$ref": "#/definitions/OracleSubscriptionProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + }, + "plan": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Plan", + "description": "Details of the resource plan." + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "OracleSubscriptionListResult": { + "type": "object", + "description": "The response of a OracleSubscription list operation.", + "properties": { + "value": { + "type": "array", + "description": "The OracleSubscription items on this page", + "items": { + "$ref": "#/definitions/OracleSubscription" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "OracleSubscriptionProperties": { + "type": "object", + "description": "Oracle Subscription resource model", + "properties": { + "provisioningState": { + "$ref": "#/definitions/OracleSubscriptionProvisioningState", + "description": "OracleSubscriptionProvisioningState provisioning state", + "readOnly": true + }, + "saasSubscriptionId": { + "type": "string", + "description": "SAAS subscription ID generated by Marketplace", + "readOnly": true + }, + "cloudAccountId": { + "$ref": "#/definitions/Ocid", + "description": "Cloud Account Id", + "readOnly": true + }, + "cloudAccountState": { + "$ref": "#/definitions/CloudAccountProvisioningState", + "description": "Cloud Account provisioning state.", + "readOnly": true + }, + "termUnit": { + "type": "string", + "description": "Term Unit. P1Y, P3Y, etc, see Durations https://en.wikipedia.org/wiki/ISO_8601", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "productCode": { + "type": "string", + "description": "Product code for the term unit", + "x-ms-mutability": [ + "update" + ] + }, + "intent": { + "$ref": "#/definitions/Intent", + "description": "Intent for the update operation", + "x-ms-mutability": [ + "update" + ] + } + } + }, + "OracleSubscriptionProvisioningState": { + "type": "string", + "description": "OracleSubscriptionProvisioningState enum", + "enum": [ + "Succeeded", + "Failed", + "Canceled" + ], + "x-ms-enum": { + "name": "OracleSubscriptionProvisioningState", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Resource has been created." + }, + { + "name": "Failed", + "value": "Failed", + "description": "Resource creation failed." + }, + { + "name": "Canceled", + "value": "Canceled", + "description": "Resource creation was canceled." + } + ] + }, + "readOnly": true + }, + "OracleSubscriptionUpdate": { + "type": "object", + "description": "The type used for update operations of the OracleSubscription.", + "properties": { + "plan": { + "$ref": "#/definitions/PlanUpdate", + "description": "Details of the resource plan." + }, + "properties": { + "$ref": "#/definitions/OracleSubscriptionUpdateProperties", + "x-ms-client-flatten": true + } + } + }, + "OracleSubscriptionUpdateProperties": { + "type": "object", + "description": "The updatable properties of the OracleSubscription.", + "properties": { + "productCode": { + "type": "string", + "description": "Product code for the term unit", + "x-ms-mutability": [ + "update" + ] + }, + "intent": { + "$ref": "#/definitions/Intent", + "description": "Intent for the update operation", + "x-ms-mutability": [ + "update" + ] + } + } + }, + "Password": { + "type": "string", + "format": "password", + "description": "Password string.", + "x-ms-secret": true + }, + "PatchingMode": { + "type": "string", + "description": "Patching mode enum", + "enum": [ + "Rolling", + "NonRolling" + ], + "x-ms-enum": { + "name": "PatchingMode", + "modelAsString": true, + "values": [ + { + "name": "Rolling", + "value": "Rolling", + "description": "Rolling patching" + }, + { + "name": "NonRolling", + "value": "NonRolling", + "description": "Non Rolling patching" + } + ] + } + }, + "PeerDbDetails": { + "type": "object", + "description": "PeerDb Details", + "properties": { + "peerDbId": { + "type": "string", + "description": "The database OCID of the Disaster Recovery peer database, which is located in a different region from the current peer database.", + "minLength": 1, + "maxLength": 255 + } + } + }, + "PermissionLevelType": { + "type": "string", + "description": "Permission level type enum.", + "enum": [ + "Restricted", + "Unrestricted" + ], + "x-ms-enum": { + "name": "PermissionLevelType", + "modelAsString": true, + "values": [ + { + "name": "Restricted", + "value": "Restricted", + "description": "Restricted permission level" + }, + { + "name": "Unrestricted", + "value": "Unrestricted", + "description": "Unrestricted permission level" + } + ] + } + }, + "PlanUpdate": { + "type": "object", + "description": "ResourcePlanTypeUpdate model definition", + "properties": { + "name": { + "type": "string", + "description": "A user defined name of the 3rd Party Artifact that is being procured." + }, + "publisher": { + "type": "string", + "description": "The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic" + }, + "product": { + "type": "string", + "description": "The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. " + }, + "promotionCode": { + "type": "string", + "description": "A publisher provided promotion code as provisioned in Data Market for the said product/artifact." + }, + "version": { + "type": "string", + "description": "The version of the desired product/artifact." + } + } + }, + "PortRange": { + "type": "object", + "description": "Port Range to specify particular destination ports for TCP rules.", + "properties": { + "min": { + "type": "integer", + "format": "int32", + "description": "The minimum port number, which must not be greater than the maximum port number.", + "minimum": 1, + "maximum": 65535 + }, + "max": { + "type": "integer", + "format": "int32", + "description": "The maximum port number, which must not be less than the minimum port number. To specify a single port number, set both the min and max to the same value.", + "minimum": 1, + "maximum": 65535 + } + }, + "required": [ + "min", + "max" + ] + }, + "Preference": { + "type": "string", + "description": "Preference enum", + "enum": [ + "NoPreference", + "CustomPreference" + ], + "x-ms-enum": { + "name": "Preference", + "modelAsString": true, + "values": [ + { + "name": "NoPreference", + "value": "NoPreference", + "description": "No preference" + }, + { + "name": "CustomPreference", + "value": "CustomPreference", + "description": "Custom preference" + } + ] + } + }, + "PrivateIpAddressProperties": { + "type": "object", + "description": "PrivateIpAddress resource properties", + "properties": { + "displayName": { + "type": "string", + "description": "PrivateIpAddresses displayName" + }, + "hostnameLabel": { + "type": "string", + "description": "PrivateIpAddresses hostnameLabel" + }, + "ocid": { + "$ref": "#/definitions/Ocid", + "description": "PrivateIpAddresses Id" + }, + "ipAddress": { + "type": "string", + "description": "PrivateIpAddresses ipAddress" + }, + "subnetId": { + "$ref": "#/definitions/Ocid", + "description": "PrivateIpAddresses subnetId" + } + }, + "required": [ + "displayName", + "hostnameLabel", + "ocid", + "ipAddress", + "subnetId" + ] + }, + "PrivateIpAddressesFilter": { + "type": "object", + "description": "Private Ip Addresses filter", + "properties": { + "subnetId": { + "$ref": "#/definitions/Ocid", + "description": "Subnet OCID" + }, + "vnicId": { + "$ref": "#/definitions/Ocid", + "description": "VCN OCID" + } + }, + "required": [ + "subnetId", + "vnicId" + ] + }, + "ProfileType": { + "type": "object", + "description": "The connection string profile to allow clients to group, filter and select connection string values based on structured metadata.", + "properties": { + "consumerGroup": { + "$ref": "#/definitions/ConsumerGroup", + "description": "Consumer group used by the connection." + }, + "displayName": { + "type": "string", + "description": "A user-friendly name for the connection.", + "minLength": 1, + "maxLength": 255 + }, + "hostFormat": { + "$ref": "#/definitions/HostFormatType", + "description": "Host format used in connection string." + }, + "isRegional": { + "type": "boolean", + "description": "True for a regional connection string, applicable to cross-region DG only." + }, + "protocol": { + "$ref": "#/definitions/ProtocolType", + "description": "Protocol used by the connection." + }, + "sessionMode": { + "$ref": "#/definitions/SessionModeType", + "description": "Specifies whether the listener performs a direct hand-off of the session, or redirects the session." + }, + "syntaxFormat": { + "$ref": "#/definitions/SyntaxFormatType", + "description": "Specifies whether the connection string is using the long (LONG), Easy Connect (EZCONNECT), or Easy Connect Plus (EZCONNECTPLUS) format." + }, + "tlsAuthentication": { + "$ref": "#/definitions/TlsAuthenticationType", + "description": "Specifies whether the TLS handshake is using one-way (SERVER) or mutual (MUTUAL) authentication." + }, + "value": { + "type": "string", + "description": "Connection string value." + } + }, + "required": [ + "displayName", + "hostFormat", + "protocol", + "sessionMode", + "syntaxFormat", + "value" + ] + }, + "ProtocolType": { + "type": "string", + "description": "Protocol type enum.", + "enum": [ + "TCP", + "TCPS" + ], + "x-ms-enum": { + "name": "ProtocolType", + "modelAsString": true, + "values": [ + { + "name": "TCP", + "value": "TCP", + "description": "TCP protocol" + }, + { + "name": "TCPS", + "value": "TCPS", + "description": "TCPS protocol" + } + ] + } + }, + "RefreshableModelType": { + "type": "string", + "description": "Refreshable model type enum", + "enum": [ + "Automatic", + "Manual" + ], + "x-ms-enum": { + "name": "RefreshableModelType", + "modelAsString": true, + "values": [ + { + "name": "Automatic", + "value": "Automatic", + "description": "Automatic refreshable model type" + }, + { + "name": "Manual", + "value": "Manual", + "description": "Manual refreshable model type" + } + ] + } + }, + "RefreshableStatusType": { + "type": "string", + "description": "Refreshable status type enum.", + "enum": [ + "Refreshing", + "NotRefreshing" + ], + "x-ms-enum": { + "name": "RefreshableStatusType", + "modelAsString": true, + "values": [ + { + "name": "Refreshing", + "value": "Refreshing", + "description": "Refreshing status" + }, + { + "name": "NotRefreshing", + "value": "NotRefreshing", + "description": "NotRefreshing status" + } + ] + } + }, + "RepeatCadenceType": { + "type": "string", + "description": "Repeat cadence type enum", + "enum": [ + "OneTime", + "Weekly", + "Monthly", + "Yearly" + ], + "x-ms-enum": { + "name": "RepeatCadenceType", + "modelAsString": true, + "values": [ + { + "name": "OneTime", + "value": "OneTime", + "description": "Repeat one time" + }, + { + "name": "Weekly", + "value": "Weekly", + "description": "Repeat weekly" + }, + { + "name": "Monthly", + "value": "Monthly", + "description": "Repeat monthly" + }, + { + "name": "Yearly", + "value": "Yearly", + "description": "Repeat yearly" + } + ] + } + }, + "RestoreAutonomousDatabaseDetails": { + "type": "object", + "description": "Details to restore an Oracle Autonomous Database.", + "properties": { + "timestamp": { + "type": "string", + "format": "date-time", + "description": "The time to restore the database to." + } + }, + "required": [ + "timestamp" + ] + }, + "RetentionPeriod": { + "type": "integer", + "format": "int32", + "description": "Retention period, in days, for backups.", + "minimum": 90, + "maximum": 2558 + }, + "RoleType": { + "type": "string", + "description": "Role type enum.", + "enum": [ + "Primary", + "Standby", + "DisabledStandby", + "BackupCopy", + "SnapshotStandby" + ], + "x-ms-enum": { + "name": "RoleType", + "modelAsString": true, + "values": [ + { + "name": "Primary", + "value": "Primary", + "description": "Primary role" + }, + { + "name": "Standby", + "value": "Standby", + "description": "Standby role" + }, + { + "name": "DisabledStandby", + "value": "DisabledStandby", + "description": "DisabledStandby role" + }, + { + "name": "BackupCopy", + "value": "BackupCopy", + "description": "BackupCopy role" + }, + { + "name": "SnapshotStandby", + "value": "SnapshotStandby", + "description": "SnapshotStandby role" + } + ] + } + }, + "SaasSubscriptionDetails": { + "type": "object", + "description": "SaaS Subscription Details model", + "properties": { + "id": { + "type": "string", + "description": "Purchased SaaS subscription ID", + "readOnly": true + }, + "subscriptionName": { + "type": "string", + "description": "SaaS subscription name", + "readOnly": true + }, + "timeCreated": { + "type": "string", + "format": "date-time", + "description": "Creation Date and Time", + "readOnly": true + }, + "offerId": { + "type": "string", + "description": "Purchased offer ID", + "readOnly": true + }, + "planId": { + "type": "string", + "description": "Purchased offer's plan ID", + "readOnly": true + }, + "saasSubscriptionStatus": { + "type": "string", + "description": "Indicates the status of the Subscription.", + "readOnly": true + }, + "publisherId": { + "type": "string", + "description": "Publisher ID", + "readOnly": true + }, + "purchaserEmailId": { + "type": "string", + "description": "Purchaser Email ID", + "readOnly": true + }, + "purchaserTenantId": { + "type": "string", + "description": "Purchaser Tenant ID", + "readOnly": true + }, + "termUnit": { + "type": "string", + "description": "Purchase Term Unit", + "readOnly": true + }, + "isAutoRenew": { + "type": "boolean", + "description": "AutoRenew flag", + "readOnly": true + }, + "isFreeTrial": { + "type": "boolean", + "description": "FreeTrial flag", + "readOnly": true + } + } + }, + "ScheduledOperationsType": { + "type": "object", + "description": "The list of scheduled operations.", + "properties": { + "dayOfWeek": { + "$ref": "#/definitions/DayOfWeek", + "description": "Day of week" + }, + "scheduledStartTime": { + "type": "string", + "description": "auto start time. value must be of ISO-8601 format HH:mm", + "minLength": 1, + "maxLength": 50 + }, + "scheduledStopTime": { + "type": "string", + "description": "auto stop time. value must be of ISO-8601 format HH:mm", + "minLength": 1, + "maxLength": 50 + } + }, + "required": [ + "dayOfWeek" + ] + }, + "ScheduledOperationsTypeUpdate": { + "type": "object", + "description": "The list of scheduled operations.", + "properties": { + "dayOfWeek": { + "$ref": "#/definitions/DayOfWeekUpdate", + "description": "Day of week" + }, + "scheduledStartTime": { + "type": "string", + "description": "auto start time. value must be of ISO-8601 format HH:mm", + "minLength": 1, + "maxLength": 50 + }, + "scheduledStopTime": { + "type": "string", + "description": "auto stop time. value must be of ISO-8601 format HH:mm", + "minLength": 1, + "maxLength": 50 + } + } + }, + "SessionModeType": { + "type": "string", + "description": "Session mode type enum.", + "enum": [ + "Direct", + "Redirect" + ], + "x-ms-enum": { + "name": "SessionModeType", + "modelAsString": true, + "values": [ + { + "name": "Direct", + "value": "Direct", + "description": "Direct session mode" + }, + { + "name": "Redirect", + "value": "Redirect", + "description": "Redirect session mode" + } + ] + } + }, + "SourceType": { + "type": "string", + "description": "Source type enum.", + "enum": [ + "None", + "Database", + "BackupFromId", + "BackupFromTimestamp", + "CloneToRefreshable", + "CrossRegionDataguard", + "CrossRegionDisasterRecovery" + ], + "x-ms-enum": { + "name": "SourceType", + "modelAsString": true, + "values": [ + { + "name": "None", + "value": "None", + "description": "None source" + }, + { + "name": "Database", + "value": "Database", + "description": "Database source" + }, + { + "name": "BackupFromId", + "value": "BackupFromId", + "description": "Backup from ID source" + }, + { + "name": "BackupFromTimestamp", + "value": "BackupFromTimestamp", + "description": "Backup from timestamp source" + }, + { + "name": "CloneToRefreshable", + "value": "CloneToRefreshable", + "description": "Clone to refreshable source" + }, + { + "name": "CrossRegionDataguard", + "value": "CrossRegionDataguard", + "description": "Cross region dataguard source" + }, + { + "name": "CrossRegionDisasterRecovery", + "value": "CrossRegionDisasterRecovery", + "description": "cross region disaster recovery source" + } + ] + } + }, + "SubnetId": { + "type": "string", + "format": "arm-id", + "description": "A type definition that refers the id to an Azure Resource Manager resource.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/virtualNetworks/subnets" + } + ] + } + }, + "SyntaxFormatType": { + "type": "string", + "description": "Syntax format type enum.", + "enum": [ + "Long", + "Ezconnect", + "Ezconnectplus" + ], + "x-ms-enum": { + "name": "SyntaxFormatType", + "modelAsString": true, + "values": [ + { + "name": "Long", + "value": "Long", + "description": "Long format" + }, + { + "name": "Ezconnect", + "value": "Ezconnect", + "description": "Ezconnect format" + }, + { + "name": "Ezconnectplus", + "value": "Ezconnectplus", + "description": "Ezconnectplus format" + } + ] + } + }, + "SystemVersion": { + "type": "object", + "description": "SystemVersion resource Definition", + "properties": { + "properties": { + "$ref": "#/definitions/SystemVersionProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "SystemVersionListResult": { + "type": "object", + "description": "The response of a SystemVersion list operation.", + "properties": { + "value": { + "type": "array", + "description": "The SystemVersion items on this page", + "items": { + "$ref": "#/definitions/SystemVersion" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "SystemVersionProperties": { + "type": "object", + "description": "System Version Resource model", + "properties": { + "systemVersion": { + "type": "string", + "description": "A valid Oracle System Version", + "readOnly": true + } + }, + "required": [ + "systemVersion" + ] + }, + "SystemVersionsFilter": { + "type": "object", + "description": "SystemVersions filter", + "properties": { + "giVersion": { + "type": "string", + "description": "Grid Infrastructure version" + }, + "shape": { + "type": "string", + "description": "Exadata shape" + }, + "isLatestVersion": { + "type": "boolean", + "description": "Check If we have to list only latest versions" + } + }, + "required": [ + "giVersion", + "shape" + ] + }, + "TlsAuthenticationType": { + "type": "string", + "description": "TLS authentication type enum.", + "enum": [ + "Server", + "Mutual" + ], + "x-ms-enum": { + "name": "TlsAuthenticationType", + "modelAsString": true, + "values": [ + { + "name": "Server", + "value": "Server", + "description": "Server authentication" + }, + { + "name": "Mutual", + "value": "Mutual", + "description": "Mutual TLS" + } + ] + } + }, + "UpdateAction": { + "type": "string", + "description": "Update action enum", + "enum": [ + "RollingApply", + "NonRollingApply", + "PreCheck", + "RollBack" + ], + "x-ms-enum": { + "name": "UpdateAction", + "modelAsString": true, + "values": [ + { + "name": "RollingApply", + "value": "RollingApply", + "description": "Rolling apply action" + }, + { + "name": "NonRollingApply", + "value": "NonRollingApply", + "description": "Non rolling apply action" + }, + { + "name": "PreCheck", + "value": "PreCheck", + "description": "Pre-check action" + }, + { + "name": "RollBack", + "value": "RollBack", + "description": "Rollback action" + } + ] + } + }, + "ValidationError": { + "type": "object", + "description": "validation error", + "properties": { + "code": { + "type": "string", + "description": "error code" + }, + "message": { + "type": "string", + "description": "error message" + } + }, + "required": [ + "code", + "message" + ] + }, + "ValidationResult": { + "type": "object", + "description": "validation result", + "properties": { + "status": { + "$ref": "#/definitions/ValidationStatus", + "description": "validation status" + }, + "error": { + "$ref": "#/definitions/ValidationError", + "description": "validation error" + } + }, + "required": [ + "status", + "error" + ] + }, + "ValidationStatus": { + "type": "string", + "description": "validation status", + "enum": [ + "Succeeded", + "Failed" + ], + "x-ms-enum": { + "name": "ValidationStatus", + "modelAsString": true, + "values": [ + { + "name": "Succeeded", + "value": "Succeeded", + "description": "Validation succeeded" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Validation failed" + } + ] + }, + "readOnly": true + }, + "VirtualNetworkAddress": { + "type": "object", + "description": "Virtual IP resource belonging to a vm cluster resource.", + "properties": { + "properties": { + "$ref": "#/definitions/VirtualNetworkAddressProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, + "VirtualNetworkAddressLifecycleState": { + "type": "string", + "description": "VirtualNetworkAddressLifecycleState enum", + "enum": [ + "Provisioning", + "Available", + "Terminating", + "Terminated", + "Failed" + ], + "x-ms-enum": { + "name": "VirtualNetworkAddressLifecycleState", + "modelAsString": true, + "values": [ + { + "name": "Provisioning", + "value": "Provisioning", + "description": "Indicates that resource in Provisioning state" + }, + { + "name": "Available", + "value": "Available", + "description": "Indicates that resource in Available state" + }, + { + "name": "Terminating", + "value": "Terminating", + "description": "Indicates that resource in Terminating state" + }, + { + "name": "Terminated", + "value": "Terminated", + "description": "Indicates that resource in Terminated state" + }, + { + "name": "Failed", + "value": "Failed", + "description": "Indicates that resource in Failed state" + } + ] + } + }, + "VirtualNetworkAddressListResult": { + "type": "object", + "description": "The response of a VirtualNetworkAddress list operation.", + "properties": { + "value": { + "type": "array", + "description": "The VirtualNetworkAddress items on this page", + "items": { + "$ref": "#/definitions/VirtualNetworkAddress" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "VirtualNetworkAddressProperties": { + "type": "object", + "description": "virtualNetworkAddress resource properties", + "properties": { + "ipAddress": { + "type": "string", + "description": "Virtual network Address address.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "vmOcid": { + "$ref": "#/definitions/Ocid", + "description": "Virtual Machine OCID.", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "ocid": { + "$ref": "#/definitions/Ocid", + "description": "Application VIP OCID.", + "readOnly": true + }, + "domain": { + "type": "string", + "description": "Virtual network address fully qualified domain name.", + "readOnly": true + }, + "lifecycleDetails": { + "type": "string", + "description": "Additional information about the current lifecycle state of the application virtual IP (VIP) address.", + "readOnly": true + }, + "provisioningState": { + "$ref": "#/definitions/AzureResourceProvisioningState", + "description": "Azure resource provisioning state.", + "readOnly": true + }, + "lifecycleState": { + "$ref": "#/definitions/VirtualNetworkAddressLifecycleState", + "description": "virtual network address lifecycle state.", + "readOnly": true + }, + "timeAssigned": { + "type": "string", + "format": "date-time", + "description": "The date and time when the create operation for the application virtual IP (VIP) address completed.", + "readOnly": true + } + } + }, + "VnetId": { + "type": "string", + "format": "arm-id", + "description": "A type definition that refers the id to an Azure Resource Manager resource.", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Network/virtualNetworks" + } + ] + } + }, + "WorkloadType": { + "type": "string", + "description": "WorkloadType enum", + "enum": [ + "OLTP", + "DW", + "AJD", + "APEX" + ], + "x-ms-enum": { + "name": "WorkloadType", + "modelAsString": true, + "values": [ + { + "name": "OLTP", + "value": "OLTP", + "description": "OLTP - indicates an Autonomous Transaction Processing database" + }, + { + "name": "DW", + "value": "DW", + "description": "DW - indicates an Autonomous Data Warehouse database" + }, + { + "name": "AJD", + "value": "AJD", + "description": "AJD - indicates an Autonomous JSON Database" + }, + { + "name": "APEX", + "value": "APEX", + "description": "APEX - indicates an Autonomous Database with the Oracle APEX Application Development workload type." + } + ] + } + }, + "ZoneType": { + "type": "string", + "description": "Zone type enum", + "enum": [ + "Primary", + "Secondary" + ], + "x-ms-enum": { + "name": "ZoneType", + "modelAsString": true, + "values": [ + { + "name": "Primary", + "value": "Primary", + "description": "Primary zone" + }, + { + "name": "Secondary", + "value": "Secondary", + "description": "Secondary zone" + } + ] + } + }, + "aclString": { + "type": "string", + "description": "The client IP access control list (ACL). This is an array of CIDR notations and/or IP addresses. Values should be separate strings, separated by commas. Example: ['1.1.1.1','1.1.1.0/24','1.1.2.25']", + "minLength": 1, + "maxLength": 1024 + } + }, + "parameters": {} +} diff --git a/specification/oracle/resource-manager/readme.java.md b/specification/oracle/resource-manager/readme.java.md index 01cdabebe9ad..aa511b93e4ad 100644 --- a/specification/oracle/resource-manager/readme.java.md +++ b/specification/oracle/resource-manager/readme.java.md @@ -4,4 +4,6 @@ These settings apply only when `--java` is specified on the command line. ``` yaml $(java) client-flattened-annotation-target: disabled +uuid-as-string: true +output-model-immutable: true ``` diff --git a/specification/oracle/resource-manager/readme.md b/specification/oracle/resource-manager/readme.md index 252906317796..56be976c7689 100644 --- a/specification/oracle/resource-manager/readme.md +++ b/specification/oracle/resource-manager/readme.md @@ -27,7 +27,7 @@ These are the global settings for the Oracle.Database. ```yaml openapi-type: arm openapi-subtype: rpaas -tag: package-2023-09-01-preview +tag: package-2023-09-01 ``` ``` yaml @@ -44,6 +44,15 @@ input-file: - Oracle.Database/preview/2023-09-01-preview/openapi.json ``` +### Tag: package-2023-09-01 + +These settings apply only when `--tag=package-2023-09-01` is specified on the command line. + +```yaml $(tag) == 'package-2023-09-01' +input-file: + - Oracle.Database/stable/2023-09-01/openapi.json +``` + --- # Code Generation diff --git a/specification/playwrighttesting/PlaywrightTesting.Management/main.tsp b/specification/playwrighttesting/PlaywrightTesting.Management/main.tsp index 69a49a3e37e8..f90575183eac 100644 --- a/specification/playwrighttesting/PlaywrightTesting.Management/main.tsp +++ b/specification/playwrighttesting/PlaywrightTesting.Management/main.tsp @@ -92,6 +92,12 @@ interface Accounts extends TrackedResourceOperations { @doc("Adds check global name availability operation, normally used if a resource name must be globally unique.") checkNameAvailability is checkGlobalNameAvailability; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST REMOVE AT NEXT API VERSION UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + Account, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; } @doc("The location of subscription quota resource.") diff --git a/specification/playwrighttesting/PlaywrightTesting/tspconfig.yaml b/specification/playwrighttesting/PlaywrightTesting/tspconfig.yaml index 8de6f39b8b80..7ec6149d4529 100644 --- a/specification/playwrighttesting/PlaywrightTesting/tspconfig.yaml +++ b/specification/playwrighttesting/PlaywrightTesting/tspconfig.yaml @@ -9,6 +9,7 @@ parameters: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/playwrighttesting.json" diff --git a/specification/playwrighttesting/resource-manager/Microsoft.AzurePlaywrightService/preview/2024-02-01-preview/playwrighttesting.json b/specification/playwrighttesting/resource-manager/Microsoft.AzurePlaywrightService/preview/2024-02-01-preview/playwrighttesting.json index 94efedc41032..b6f9d850e114 100644 --- a/specification/playwrighttesting/resource-manager/Microsoft.AzurePlaywrightService/preview/2024-02-01-preview/playwrighttesting.json +++ b/specification/playwrighttesting/resource-manager/Microsoft.AzurePlaywrightService/preview/2024-02-01-preview/playwrighttesting.json @@ -699,11 +699,7 @@ "properties": { "$ref": "#/definitions/AccountProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -877,11 +873,7 @@ "properties": { "$ref": "#/definitions/AccountQuotaProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1135,11 +1127,7 @@ "properties": { "$ref": "#/definitions/QuotaProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/portalservices/Extension.Management/models.tsp b/specification/portalservices/Extension.Management/models.tsp index 0cb843dea6d9..d6cf7d03efae 100644 --- a/specification/portalservices/Extension.Management/models.tsp +++ b/specification/portalservices/Extension.Management/models.tsp @@ -428,6 +428,7 @@ model PortalExtensionListSourcesFolder { /** * The content metadata of a file */ +#suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @discriminator("kind") model PortalExtensionListSourcesFile { /** diff --git a/specification/portalservices/resource-manager/Microsoft.PortalServices/copilotSettings/preview/2024-04-01-preview/copilotSettings.json b/specification/portalservices/resource-manager/Microsoft.PortalServices/copilotSettings/preview/2024-04-01-preview/copilotSettings.json index c841b0db39a8..cf8c28b43cbd 100644 --- a/specification/portalservices/resource-manager/Microsoft.PortalServices/copilotSettings/preview/2024-04-01-preview/copilotSettings.json +++ b/specification/portalservices/resource-manager/Microsoft.PortalServices/copilotSettings/preview/2024-04-01-preview/copilotSettings.json @@ -291,11 +291,7 @@ "properties": { "$ref": "#/definitions/CopilotSettingsProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/powerbiembedded/resource-manager/readme.md b/specification/powerbiembedded/resource-manager/readme.md index 14113378b1b2..d3a48d8cf036 100644 --- a/specification/powerbiembedded/resource-manager/readme.md +++ b/specification/powerbiembedded/resource-manager/readme.md @@ -82,30 +82,7 @@ csharp: ## Python -These settings apply only when `--python` is specified on the command line. -Please also specify `--python-sdks-folder=`. -Use `--python-mode=update` if you already have a setup.py and just want to update the code itself. - -``` yaml $(python) -python-mode: create -python: - azure-arm: true - license-header: MICROSOFT_MIT_NO_VERSION - payload-flattening-threshold: 2 - namespace: azure.mgmt.powerbiembedded - package-name: azure-mgmt-powerbiembedded - clear-output-folder: true -``` -``` yaml $(python) && $(python-mode) == 'update' -python: - no-namespace-folders: true - output-folder: $(python-sdks-folder)/powerbiembedded/azure-mgmt-powerbiembedded/azure/mgmt/powerbiembedded -``` -``` yaml $(python) && $(python-mode) == 'create' -python: - basic-setup-py: true - output-folder: $(python-sdks-folder)/powerbiembedded/azure-mgmt-powerbiembedded -``` +See configuration in [readme.python.md](./readme.python.md) ## Go diff --git a/specification/powerbiembedded/resource-manager/readme.python.md b/specification/powerbiembedded/resource-manager/readme.python.md new file mode 100644 index 000000000000..4d9931a02b30 --- /dev/null +++ b/specification/powerbiembedded/resource-manager/readme.python.md @@ -0,0 +1,19 @@ +## Python + +These settings apply only when `--python` is specified on the command line. +Please also specify `--python-sdks-folder=`. + +``` yaml $(python) +title: PowerBIEmbeddedManagementClient +azure-arm: true +license-header: MICROSOFT_MIT_NO_VERSION +package-name: azure-mgmt-powerbiembedded +namespace: azure.mgmt.powerbiembedded +package-version: 1.0.0b1 +clear-output-folder: true +``` + +``` yaml $(python) +no-namespace-folders: true +output-folder: $(python-sdks-folder)/powerbiembedded/azure-mgmt-powerbiembedded/azure/mgmt/powerbiembedded +``` diff --git a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/common.tsp b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/common.tsp index daf2d047610f..3393e203af29 100644 --- a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/common.tsp +++ b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/common.tsp @@ -104,3 +104,14 @@ model Ipv6Address { @doc("User equipment port.") port: int32; } + +alias BodyParameter< + T, + TName extends valueof string = "body", + TDoc extends valueof string = "Body parameter." +> = { + @doc(TDoc) + @friendlyName(TName) + @bodyRoot + body: T; +}; diff --git a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/location.tsp b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/location.tsp index 2fe865cf1574..c90f5b3e63f9 100644 --- a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/location.tsp +++ b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/location.tsp @@ -13,7 +13,7 @@ interface DeviceLocation { @doc("Verifies whether a device is within a specified location area, defined as an accuracy (radius) around a point, specified by longitude and latitude.") verify is Operations.ResourceAction< DeviceLocationEndpoint, - DeviceLocationVerificationContent, + BodyParameter, DeviceLocationVerificationResult >; } diff --git a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/network.tsp b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/network.tsp index 48faea42e171..47bb8931bd9d 100644 --- a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/network.tsp +++ b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/network.tsp @@ -14,7 +14,7 @@ interface DeviceNetwork { @doc("Retrieves the network a given device is on. Returns network in a networkCode format that can be used for other APIs.") retrieve is Operations.ResourceAction< DeviceNetworkRetrievalEndpoint, - NetworkIdentifier, + BodyParameter, NetworkRetrievalResult >; } diff --git a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/number.tsp b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/number.tsp index e28cc2a40819..c781676a7113 100644 --- a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/number.tsp +++ b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/number.tsp @@ -11,17 +11,17 @@ namespace Azure.ProgrammableConnectivity; /// Interfaces @doc(""" - Number operations include Frontend Authentication. - - Users first make a call to the endpoint /Number:verify, which returns a redirect to the device's - Network. This is followed by the device to authenticate directly with the Network. The Network - responds with a token and a redirect. This token can be exchanged with APC for a code. + Number operations include Frontend Authentication. - Users make a second call to the endpoint /Number:verify including the code. The code is used - to verify the device number. The second response is a 200 containing the result of the query. - - For more information on the steps required to use Number Verificaiton, see the APC documentation. -""") + Users first make a call to the endpoint /Number:verify, which returns a redirect to the device's + Network. This is followed by the device to authenticate directly with the Network. The Network + responds with a token and a redirect. This token can be exchanged with APC for a code. + + Users make a second call to the endpoint /Number:verify including the code. The code is used + to verify the device number. The second response is a 200 containing the result of the query. + + For more information on the steps required to use Number Verificaiton, see the APC documentation. + """) interface NumberVerification { #suppress "@azure-tools/typespec-azure-core/no-response-body" "302 redirect has no response body" @doc("Verifies the phone number (MSISDN) associated with a device. As part of the frontend authorization flow, the device is redirected to the operator network to authenticate directly.") @@ -29,7 +29,7 @@ interface NumberVerification { @action("verify") verifyWithoutCode is Operations.ResourceAction< NumberVerificationEndpoint, - NumberVerificationWithoutCodeContent, + BodyParameter, TypeSpec.Http.Response<302> & {}, TraitOverride, NumberVerificationResult >; } diff --git a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/simswap.tsp b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/simswap.tsp index c6c717e9b1b1..c1b76c601aad 100644 --- a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/simswap.tsp +++ b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/apis/simswap.tsp @@ -14,14 +14,14 @@ interface SimSwap { @doc("Provides timestamp of latest SIM swap") retrieve is Operations.ResourceAction< SimSwapEndpoint, - SimSwapRetrievalContent, + BodyParameter, SimSwapRetrievalResult >; @doc("Verifies if a SIM swap has been performed during a past period (defined in the request with 'maxAgeHours' attribute). Returns 'True' if a SIM swap has occured.") verify is Operations.ResourceAction< SimSwapEndpoint, - SimSwapVerificationContent, + BodyParameter, SimSwapVerificationResult >; } diff --git a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/tspconfig.yaml b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/tspconfig.yaml index 0c7cf5d47927..14d312af735b 100644 --- a/specification/programmableconnectivity/Azure.ProgrammableConnectivity/tspconfig.yaml +++ b/specification/programmableconnectivity/Azure.ProgrammableConnectivity/tspconfig.yaml @@ -9,6 +9,7 @@ emit: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/openapi.json" diff --git a/specification/programmableconnectivity/data-plane/Azure.ProgrammableConnectivity/preview/2024-02-09-preview/openapi.json b/specification/programmableconnectivity/data-plane/Azure.ProgrammableConnectivity/preview/2024-02-09-preview/openapi.json index 1f674e941505..4c09ff5a23a7 100644 --- a/specification/programmableconnectivity/data-plane/Azure.ProgrammableConnectivity/preview/2024-02-09-preview/openapi.json +++ b/specification/programmableconnectivity/data-plane/Azure.ProgrammableConnectivity/preview/2024-02-09-preview/openapi.json @@ -68,6 +68,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/DeviceLocationVerificationContent" @@ -130,6 +131,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/NetworkIdentifier" @@ -192,6 +194,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/NumberVerificationWithoutCodeContent" @@ -256,6 +259,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/SimSwapRetrievalContent" @@ -318,6 +322,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/SimSwapVerificationContent" @@ -382,6 +387,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/NumberVerificationWithCodeContent" diff --git a/specification/purview/Azure.Analytics.Purview.DataMap/main.tsp b/specification/purview/Azure.Analytics.Purview.DataMap/main.tsp index 67657574ea86..bec1c82a4957 100644 --- a/specification/purview/Azure.Analytics.Purview.DataMap/main.tsp +++ b/specification/purview/Azure.Analytics.Purview.DataMap/main.tsp @@ -17,11 +17,11 @@ using TypeSpec.Versioning; } ) @doc(""" -Purview Data Map Service is a fully managed cloud service whose users can -discover the data sources they need and understand the data sources they find. -At the same time, Data Map helps organizations get more value from their -existing investments. This spec defines REST API of Purview Data Map Service. -""") + Purview Data Map Service is a fully managed cloud service whose users can + discover the data sources they need and understand the data sources they find. + At the same time, Data Map helps organizations get more value from their + existing investments. This spec defines REST API of Purview Data Map Service. + """) @useAuth(AuthToken) @versioned(ApiVersions) namespace PurviewDataMap; diff --git a/specification/purview/Azure.Analytics.Purview.DataMap/models.tsp b/specification/purview/Azure.Analytics.Purview.DataMap/models.tsp index 2edf89e54833..854809ea17d1 100644 --- a/specification/purview/Azure.Analytics.Purview.DataMap/models.tsp +++ b/specification/purview/Azure.Analytics.Purview.DataMap/models.tsp @@ -275,9 +275,9 @@ union FilterOperator { } @doc(""" -An instance of an entity along with extended info - like hive_table, -hive_database. -""") + An instance of an entity along with extended info - like hive_table, + hive_database. + """) model AtlasEntityWithExtInfo { ...AtlasEntityExtInfo; @@ -335,9 +335,9 @@ model AtlasEntity { relationshipAttributes?: Record; @doc(""" -Status of the entity - can be active or deleted. Deleted entities are not -removed. -""") + Status of the entity - can be active or deleted. Deleted entities are not + removed. + """) status?: EntityStatus; @doc("The update time of the record.") @@ -354,9 +354,9 @@ removed. } @doc(""" -An instance of a classification; it doesn't have an identity, this object -exists only when associated with an entity. -""") + An instance of a classification; it doesn't have an identity, this object + exists only when associated with an entity. + """) model AtlasClassification { ...AtlasStruct; @@ -364,9 +364,9 @@ model AtlasClassification { entityGuid?: string; @doc(""" -Status of the entity - can be active or deleted. Deleted entities are not -removed. -""") + Status of the entity - can be active or deleted. Deleted entities are not + removed. + """) entityStatus?: EntityStatus; @doc("Determines if propagations will be removed on entity deletion.") @@ -389,9 +389,9 @@ model TimeBoundary { } @doc(""" -Captures details of struct contents. Not instantiated directly, used only via -AtlasEntity, AtlasClassification. -""") + Captures details of struct contents. Not instantiated directly, used only via + AtlasEntity, AtlasClassification. + """) model AtlasStruct { #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Should use Record to model Map" @doc("The attributes of the struct.") @@ -445,9 +445,9 @@ model ContactInfo { } @doc(""" -An instance of an entity along with extended info - like hive_table, -hive_database. -""") + An instance of an entity along with extended info - like hive_table, + hive_database. + """) model AtlasEntityExtInfo { @doc("The referred entities.") referredEntities?: Record; @@ -494,9 +494,9 @@ model AtlasEntityHeader { meanings?: AtlasTermAssignmentHeader[]; @doc(""" -Status of the entity - can be active or deleted. Deleted entities are not -removed. -""") + Status of the entity - can be active or deleted. Deleted entities are not + removed. + """) status?: EntityStatus; } @@ -514,9 +514,9 @@ model AtlasErrorResponse { } @doc(""" -An instance of an entity along with extended info - like hive_table, -hive_database. -""") + An instance of an entity along with extended info - like hive_table, + hive_database. + """) model AtlasEntitiesWithExtInfo { ...AtlasEntityExtInfo; @@ -527,9 +527,9 @@ model AtlasEntitiesWithExtInfo { @doc("The request payload for classification association.") model ClassificationAssociateOptions { @doc(""" -An instance of a classification; it doesn't have an identity, this object -exists only when associated with an entity. -""") + An instance of a classification; it doesn't have an identity, this object + exists only when associated with an entity. + """) classification?: AtlasClassification; @doc("The GUID of the entity.") @@ -770,10 +770,10 @@ model AtlasGlossaryTerm { #suppress "@azure-tools/typespec-azure-core/bad-record-type" "Should use Recode to model Map" @doc(""" -The custom attributes of the term, which is map>. -The -key of the first layer map is term template name. -""") + The custom attributes of the term, which is map>. + The + key of the first layer map is term template name. + """) attributes?: Record>; @doc("An array of related object IDs.") @@ -869,9 +869,9 @@ model ResourceLink { } @doc(""" -Reference to an object-instance of AtlasEntity type used in relationship -attribute values -""") + Reference to an object-instance of AtlasEntity type used in relationship + attribute values + """) model AtlasRelatedObjectId { ...AtlasObjectId; @@ -879,18 +879,18 @@ model AtlasRelatedObjectId { displayText?: string; @doc(""" -Status of the entity - can be active or deleted. Deleted entities are not -removed. -""") + Status of the entity - can be active or deleted. Deleted entities are not + removed. + """) entityStatus?: EntityStatus; @doc("Relationship type") relationshipType?: string; @doc(""" -Captures details of struct contents. Not instantiated directly, used only via -AtlasEntity, AtlasClassification. -""") + Captures details of struct contents. Not instantiated directly, used only via + AtlasEntity, AtlasClassification. + """) relationshipAttributes?: AtlasStruct; @doc("The GUID of the relationship.") @@ -935,15 +935,15 @@ model QueryOptions { keywords?: string; @doc(""" -The limit of the number of the search result. default value is 50; maximum -value is 1000. -""") + The limit of the number of the search result. default value is 50; maximum + value is 1000. + """) limit?: int32; @doc(""" -The token used to get next batch of data. Default 'Null' to get the first -batch, and will return new token in each response unless there's no more data. -""") + The token used to get next batch of data. Default 'Null' to get the first + batch, and will return new token in each response unless there's no more data. + """) continuationToken?: string; #suppress "@azure-tools/typespec-azure-core/bad-record-type" "This is a flexible property" @@ -1005,9 +1005,9 @@ model SearchTaxonomySetting { @doc("The result of the search result.") model QueryResult { @doc(""" -The total number of search results (not the number of documents in a single -page). -""") + The total number of search results (not the number of documents in a single + page). + """) @encodedName("application/json", "@search.count") searchCount?: int32; @@ -1019,10 +1019,10 @@ page). continuationToken?: string; @doc(""" -A facet list that consists of index fields assetType ,classification, -contactId, and label. When the facet is specified in the request, the value of -the facet is returned as an element of @search.facets. -""") + A facet list that consists of index fields assetType ,classification, + contactId, and label. When the facet is specified in the request, the value of + the facet is returned as an element of @search.facets. + """) @encodedName("application/json", "@search.facets") searchFacets?: SearchFacetResultValue; @@ -1031,10 +1031,10 @@ the facet is returned as an element of @search.facets. } @doc(""" -A facet list that consists of index fields assetType ,classification, -contactId, and label. When the facet is specified in the request, the value of -the facet is returned as an element of @search.facets. -""") + A facet list that consists of index fields assetType ,classification, + contactId, and label. When the facet is specified in the request, the value of + the facet is returned as an element of @search.facets. + """) model SearchFacetResultValue { @doc("Entity type") entityType?: SearchFacetItemValue[]; @@ -1079,25 +1079,25 @@ model SearchFacetItemValue { @doc("The value item of the search result.") model SearchResultValue { @doc(""" -The search score calculated by the search engine. The results are ordered by -search score by default. -""") + The search score calculated by the search engine. The results are ordered by + search score by default. + """) @encodedName("application/json", "@search.score") searchScore?: float32; @doc(""" -A highlight list that consists of index fields id ,qualifiedName, name, -description, entityType. When the keyword appears in those fields, the value of -the field, attached with emphasis mark, is returned as an element of -@search.highlights. -""") + A highlight list that consists of index fields id ,qualifiedName, name, + description, entityType. When the keyword appears in those fields, the value of + the field, attached with emphasis mark, is returned as an element of + @search.highlights. + """) @encodedName("application/json", "@search.highlights") searchHighlights?: SearchHighlights; @doc(""" -The object type of the record. Object type is the top-level property to -distinguish whether a record is an asset or a term. -""") + The object type of the record. Object type is the top-level property to + distinguish whether a record is an asset or a term. + """) objectType?: string; @doc("The create time of the record. The Unix epoch format.") @@ -1143,9 +1143,9 @@ distinguish whether a record is an asset or a term. assetType?: string[]; @doc(""" -The type name of the term. Could be AtlasGlossary, AtlasGlossaryTerm or -AtlasGlossaryCategory. -""") + The type name of the term. Could be AtlasGlossary, AtlasGlossaryTerm or + AtlasGlossaryCategory. + """) glossaryType?: string; @doc("The glossary name of the term.") @@ -1162,11 +1162,11 @@ AtlasGlossaryCategory. } @doc(""" -A highlight list that consists of index fields id ,qualifiedName, name, -description, entityType. When the keyword appears in those fields, the value of -the field, attached with emphasis mark, is returned as an element of -@search.highlights. -""") + A highlight list that consists of index fields id ,qualifiedName, name, + description, entityType. When the keyword appears in those fields, the value of + the field, attached with emphasis mark, is returned as an element of + @search.highlights. + """) model SearchHighlights { @doc("Id") id?: string[]; @@ -1205,26 +1205,26 @@ model ContactSearchResultValue { info?: string; @doc(""" -The type of the contact. It can be Expert or Owner for an entity. It can be -Expert or Steward for a glossary term. -""") + The type of the contact. It can be Expert or Owner for an entity. It can be + Expert or Steward for a glossary term. + """) contactType?: string; } @doc("The payload of suggest request.") model SuggestOptions { @doc(""" -The keywords applied to all fields that support suggest operation. It must be -at least 1 character, and no more than 100 characters. In the index schema we -defined a default suggester which lists all the supported fields and specifies -a search mode. -""") + The keywords applied to all fields that support suggest operation. It must be + at least 1 character, and no more than 100 characters. In the index schema we + defined a default suggester which lists all the supported fields and specifies + a search mode. + """) keywords?: string; @doc(""" -The number of suggestions we hope to return. The default value is 5. The value -must be a number between 1 and 100. -""") + The number of suggestions we hope to return. The default value is 5. The value + must be a number between 1 and 100. + """) limit?: int32; #suppress "@azure-tools/typespec-azure-core/no-unknown" "Should use unknown to model Object" @@ -1241,23 +1241,23 @@ model SuggestResult { @doc("The value item of the search suggest.") model SuggestResultValue { @doc(""" -The search score calculated by the search engine. The results are ordered by -search score by default. -""") + The search score calculated by the search engine. The results are ordered by + search score by default. + """) @encodedName("application/json", "@search.score") searchScore?: float32; @doc(""" -The target text that contains the keyword as prefix. The keyword is wrapped -with emphasis mark. -""") + The target text that contains the keyword as prefix. The keyword is wrapped + with emphasis mark. + """) @encodedName("application/json", "@search.text") searchText?: string; @doc(""" -The object type of the record. Object type is the top-level property to -distinguish whether a record is an asset or a term. -""") + The object type of the record. Object type is the top-level property to + distinguish whether a record is an asset or a term. + """) objectType?: string; @doc("The create time of the record. The Unix epoch format.") @@ -1303,9 +1303,9 @@ distinguish whether a record is an asset or a term. assetType?: string[]; @doc(""" -The type name of the term. Could be AtlasGlossary, AtlasGlossaryTerm or -AtlasGlossaryCategory. -""") + The type name of the term. Could be AtlasGlossary, AtlasGlossaryTerm or + AtlasGlossaryCategory. + """) glossaryType?: string; @doc("The glossary name of the term.") @@ -1324,15 +1324,15 @@ AtlasGlossaryCategory. @doc("The payload of autocomplete request.") model AutoCompleteOptions { @doc(""" -The keywords applied to all fields that support autocomplete operation. It must -be at least 1 character, and no more than 100 characters. -""") + The keywords applied to all fields that support autocomplete operation. It must + be at least 1 character, and no more than 100 characters. + """) keywords?: string; @doc(""" -The number of autocomplete results we hope to return. The default value is 50. -The value must be a number between 1 and 100. -""") + The number of autocomplete results we hope to return. The default value is 50. + The value must be a number between 1 and 100. + """) limit?: int32; #suppress "@azure-tools/typespec-azure-core/no-unknown" "Should use unknown to model Object" @@ -1671,29 +1671,29 @@ model AtlasClassificationDef { ...AtlasStructDef; @doc(""" -Specifying a list of entityType names in the classificationDef, ensures that -classifications can -only be applied to those entityTypes. - -Any subtypes of the entity types inherit the restriction. - -Any classificationDef subtypes inherit the parents entityTypes restrictions. - -Any classificationDef subtypes can further restrict the parents entityTypes -restrictions by specifying a subset of the entityTypes. - -An empty entityTypes list when there are no parent restrictions means there are no -restrictions. - -An empty entityTypes list when there are parent -restrictions means that the subtype picks up the parents -restrictions. - -If a list of entityTypes are supplied, where one inherits -from another, this will be rejected. This should encourage cleaner -classificationsDefs. - -""") + Specifying a list of entityType names in the classificationDef, ensures that + classifications can + only be applied to those entityTypes. + + Any subtypes of the entity types inherit the restriction. + + Any classificationDef subtypes inherit the parents entityTypes restrictions. + + Any classificationDef subtypes can further restrict the parents entityTypes + restrictions by specifying a subset of the entityTypes. + + An empty entityTypes list when there are no parent restrictions means there are no + restrictions. + + An empty entityTypes list when there are parent + restrictions means that the subtype picks up the parents + restrictions. + + If a list of entityTypes are supplied, where one inherits + from another, this will be rejected. This should encourage cleaner + classificationsDefs. + + """) entityTypes?: string[]; @doc("An array of sub types.") @@ -1718,11 +1718,11 @@ model AtlasEntityDef { } @doc(""" -The relationshipEndDef represents an end of the relationship. The end of the -relationship is defined by a type, an -attribute name, cardinality and whether -it is the container end of the relationship. -""") + The relationshipEndDef represents an end of the relationship. The end of the + relationship is defined by a type, an + attribute name, cardinality and whether + it is the container end of the relationship. + """) model AtlasRelationshipAttributeDef { ...AtlasAttributeDef; @@ -1757,74 +1757,74 @@ model AtlasEnumElementDef { } @doc(""" -AtlasRelationshipDef is a TypeDef that defines a relationship. -As with other typeDefs the AtlasRelationshipDef has a name. Once created the -RelationshipDef has a guid. -The name and the guid are the 2 ways that the -RelationshipDef is identified. -RelationshipDefs have 2 ends, each of which -specify cardinality, an EntityDef type name and name and optionally -whether the -end is a container. -RelationshipDefs can have AttributeDefs - though only -primitive types are allowed. -RelationshipDefs have a relationshipCategory -specifying the UML type of relationship required -The way EntityDefs and -RelationshipDefs are intended to be used is that EntityDefs will define -AttributeDefs these AttributeDefs -will not specify an EntityDef type name as -their types. -RelationshipDefs introduce new attributes to the entity -instances. For example -EntityDef A might have attributes attr1,attr2,attr3 - -EntityDef B might have attributes attr4,attr5,attr6 -RelationshipDef -AtoB might define 2 ends - -end1: type A, name attr7 -end2: type B, name attr8 - -When an instance of EntityDef A is created, it -will have attributes attr1,attr2,attr3,attr7 -When an instance of EntityDef -B is created, it will have attributes attr4,attr5,attr6,attr8 - -In this way -relationshipDefs can be authored separately from entityDefs and can inject -relationship attributes into -the entity instances -""") + AtlasRelationshipDef is a TypeDef that defines a relationship. + As with other typeDefs the AtlasRelationshipDef has a name. Once created the + RelationshipDef has a guid. + The name and the guid are the 2 ways that the + RelationshipDef is identified. + RelationshipDefs have 2 ends, each of which + specify cardinality, an EntityDef type name and name and optionally + whether the + end is a container. + RelationshipDefs can have AttributeDefs - though only + primitive types are allowed. + RelationshipDefs have a relationshipCategory + specifying the UML type of relationship required + The way EntityDefs and + RelationshipDefs are intended to be used is that EntityDefs will define + AttributeDefs these AttributeDefs + will not specify an EntityDef type name as + their types. + RelationshipDefs introduce new attributes to the entity + instances. For example + EntityDef A might have attributes attr1,attr2,attr3 + + EntityDef B might have attributes attr4,attr5,attr6 + RelationshipDef + AtoB might define 2 ends + + end1: type A, name attr7 + end2: type B, name attr8 + + When an instance of EntityDef A is created, it + will have attributes attr1,attr2,attr3,attr7 + When an instance of EntityDef + B is created, it will have attributes attr4,attr5,attr6,attr8 + + In this way + relationshipDefs can be authored separately from entityDefs and can inject + relationship attributes into + the entity instances + """) model AtlasRelationshipDef { ...AtlasStructDef; @doc(""" -The relationshipEndDef represents an end of the relationship. The end of the -relationship is defined by a type, an -attribute name, cardinality and whether -it is the container end of the relationship. -""") + The relationshipEndDef represents an end of the relationship. The end of the + relationship is defined by a type, an + attribute name, cardinality and whether + it is the container end of the relationship. + """) endDef1?: AtlasRelationshipEndDef; @doc(""" -The relationshipEndDef represents an end of the relationship. The end of the -relationship is defined by a type, an -attribute name, cardinality and whether -it is the container end of the relationship. -""") + The relationshipEndDef represents an end of the relationship. The end of the + relationship is defined by a type, an + attribute name, cardinality and whether + it is the container end of the relationship. + """) endDef2?: AtlasRelationshipEndDef; @doc(""" -The Relationship category determines the style of relationship around -containment and lifecycle. -UML terminology is used for the values. -ASSOCIATION is a relationship with no containment. -COMPOSITION and AGGREGATION are containment relationships. -The difference being in the lifecycles of the container and its children. -In the COMPOSITION case, the children cannot exist without the container. -For AGGREGATION, the life cycles of the container and children are totally independent. -""") + The Relationship category determines the style of relationship around + containment and lifecycle. + UML terminology is used for the values. + ASSOCIATION is a relationship with no containment. + COMPOSITION and AGGREGATION are containment relationships. + The difference being in the lifecycles of the container and its children. + In the COMPOSITION case, the children cannot exist without the container. + For AGGREGATION, the life cycles of the container and children are totally independent. + """) relationshipCategory?: RelationshipCategory; @doc("The label of the relationship.") @@ -1832,11 +1832,11 @@ For AGGREGATION, the life cycles of the container and children are totally indep } @doc(""" -The relationshipEndDef represents an end of the relationship. The end of the -relationship is defined by a type, an -attribute name, cardinality and whether -it is the container end of the relationship. -""") + The relationshipEndDef represents an end of the relationship. The end of the + relationship is defined by a type, an + attribute name, cardinality and whether + it is the container end of the relationship. + """) model AtlasRelationshipEndDef { @doc("single-valued attribute or multi-valued attribute.") cardinality?: CardinalityValue; @@ -1866,29 +1866,29 @@ model AtlasTypeDef { @doc("Extra properties for a type.") model AtlasExtraTypeDef { @doc(""" -Specifying a list of entityType names in the classificationDef, ensures that -classifications can -only be applied to those entityTypes. - -Any subtypes of the entity types inherit the restriction. - -Any classificationDef subtypes inherit the parents entityTypes restrictions. - -Any classificationDef subtypes can further restrict the parents entityTypes -restrictions by specifying a subset of the entityTypes. - -An empty entityTypes list when there are no parent restrictions means there are no -restrictions. - -An empty entityTypes list when there are parent -restrictions means that the subtype picks up the parents -restrictions. - -If a list of entityTypes are supplied, where one inherits -from another, this will be rejected. This should encourage cleaner -classificationsDefs. - -""") + Specifying a list of entityType names in the classificationDef, ensures that + classifications can + only be applied to those entityTypes. + + Any subtypes of the entity types inherit the restriction. + + Any classificationDef subtypes inherit the parents entityTypes restrictions. + + Any classificationDef subtypes can further restrict the parents entityTypes + restrictions by specifying a subset of the entityTypes. + + An empty entityTypes list when there are no parent restrictions means there are no + restrictions. + + An empty entityTypes list when there are parent + restrictions means that the subtype picks up the parents + restrictions. + + If a list of entityTypes are supplied, where one inherits + from another, this will be rejected. This should encourage cleaner + classificationsDefs. + + """) entityTypes?: string[]; @doc("An array of sub types.") @@ -1907,33 +1907,33 @@ classificationsDefs. elementDefs?: AtlasEnumElementDef[]; @doc(""" -The relationshipEndDef represents an end of the relationship. The end of the -relationship is defined by a type, an -attribute name, cardinality and whether -it is the container end of the relationship. -""") + The relationshipEndDef represents an end of the relationship. The end of the + relationship is defined by a type, an + attribute name, cardinality and whether + it is the container end of the relationship. + """) endDef1?: AtlasRelationshipEndDef; @doc(""" -The relationshipEndDef represents an end of the relationship. The end of the -relationship is defined by a type, an -attribute name, cardinality and whether -it is the container end of the relationship. -""") + The relationshipEndDef represents an end of the relationship. The end of the + relationship is defined by a type, an + attribute name, cardinality and whether + it is the container end of the relationship. + """) endDef2?: AtlasRelationshipEndDef; @doc(""" -The Relationship category determines the style of relationship around -containment and lifecycle. -UML terminology is used for the values. - -ASSOCIATION is a relationship with no containment. -COMPOSITION and AGGREGATION are containment relationships. - -The difference being in the lifecycles of the container and its children. -In the COMPOSITION case, the children cannot exist without the container. -For AGGREGATION, the life cycles of the container and children are totally independent. -""") + The Relationship category determines the style of relationship around + containment and lifecycle. + UML terminology is used for the values. + + ASSOCIATION is a relationship with no containment. + COMPOSITION and AGGREGATION are containment relationships. + + The difference being in the lifecycles of the container and its children. + In the COMPOSITION case, the children cannot exist without the container. + For AGGREGATION, the life cycles of the container and children are totally independent. + """) relationshipCategory?: RelationshipCategory; @doc("The label of the relationship.") @@ -1983,3 +1983,14 @@ model AtlasTypeDefHeader { @doc("The name of the type definition.") name?: string; } + +alias BodyParameter< + T, + TName extends valueof string = "body", + TDoc extends valueof string = "Body parameter." +> = { + @doc(TDoc) + @friendlyName(TName) + @bodyRoot + body: T; +}; diff --git a/specification/purview/Azure.Analytics.Purview.DataMap/routes.tsp b/specification/purview/Azure.Analytics.Purview.DataMap/routes.tsp index c7a68f0284e1..7dd2a7fb5645 100644 --- a/specification/purview/Azure.Analytics.Purview.DataMap/routes.tsp +++ b/specification/purview/Azure.Analytics.Purview.DataMap/routes.tsp @@ -91,29 +91,29 @@ alias MultipartFormDataRequestHeadersTraits = Azure.Core.Traits.RequestHeadersTr interface Entity { #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" @doc(""" -Create or update an entity. -Existing entity is matched using its unique guid if -supplied or by its unique attributes eg: qualifiedName. -Map and array of -collections are not well supported. E.g., array>, array>. -For each contact type, the maximum number of contacts is 20. -""") + Create or update an entity. + Existing entity is matched using its unique guid if + supplied or by its unique attributes eg: qualifiedName. + Map and array of + collections are not well supported. E.g., array>, array>. + For each contact type, the maximum number of contacts is 20. + """) @route("/atlas/v2/entity") @post createOrUpdate is AtlasOperation< { @doc(""" -Used to define the update behavior for business attributes when updating -entities. -""") + Used to define the update behavior for business attributes when updating + entities. + """) @query businessAttributeUpdateBehavior?: BusinessAttributeUpdateBehavior; @doc(""" -The collection where entities will be moved to. Only specify a value if you -need to move an entity to another collection. -""") + The collection where entities will be moved to. Only specify a value if you + need to move an entity to another collection. + """) @query collectionId?: string; } & AtlasEntityWithExtInfo, @@ -148,30 +148,30 @@ need to move an entity to another collection. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" @doc(""" -Create or update entities in bulk. -Existing entity is matched using its unique -guid if supplied or by its unique attributes eg: qualifiedName. -Map and array -of collections are not well supported. E.g., array>, -array>. -For each contact type, the maximum number of contacts -is 20. -""") + Create or update entities in bulk. + Existing entity is matched using its unique + guid if supplied or by its unique attributes eg: qualifiedName. + Map and array + of collections are not well supported. E.g., array>, + array>. + For each contact type, the maximum number of contacts + is 20. + """) @route("/atlas/v2/entity/bulk") @post bulkCreateOrUpdate is AtlasOperation< { @doc(""" -The collection where entities will be moved to. Only specify a value if you -need to move an entity to another collection. -""") + The collection where entities will be moved to. Only specify a value if you + need to move an entity to another collection. + """) @query collectionId?: string; @doc(""" -Used to define the update behavior for business attributes when updating -entities. -""") + Used to define the update behavior for business attributes when updating + entities. + """) @query businessAttributeUpdateBehavior?: BusinessAttributeUpdateBehavior; } & AtlasEntitiesWithExtInfo, @@ -183,9 +183,9 @@ entities. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Delete a list of entities in bulk identified by their GUIDs or unique -attributes. -""") + Delete a list of entities in bulk identified by their GUIDs or unique + attributes. + """) @route("/atlas/v2/entity/bulk") @delete bulkDelete is AtlasOperation< @@ -233,12 +233,12 @@ attributes. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Update entity partially - create or update entity attribute identified by its -GUID. -Supports only primitive attribute type and entity references. -It does not support updating complex types like arrays, and maps. -Null updates are not possible. -""") + Update entity partially - create or update entity attribute identified by its + GUID. + Supports only primitive attribute type and entity references. + It does not support updating complex types like arrays, and maps. + Null updates are not possible. + """) @route("/atlas/v2/entity/guid/{guid}") @put partialUpdateAttributeByGuid is AtlasOperation< @@ -371,21 +371,21 @@ Null updates are not possible. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Get complete definition of an entity given its type and unique attribute. - -In -addition to the typeName path parameter, attribute key-value pair(s) can be -provided in the following format: -attr:\\=. - -NOTE: The -attrName and attrValue should be unique across entities, eg. -qualifiedName. - -The REST request would look something like this: -GET -/v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. -""") + Get complete definition of an entity given its type and unique attribute. + + In + addition to the typeName path parameter, attribute key-value pair(s) can be + provided in the following format: + attr:\\=. + + NOTE: The + attrName and attrValue should be unique across entities, eg. + qualifiedName. + + The REST request would look something like this: + GET + /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + """) @route("/atlas/v2/entity/uniqueAttribute/type/{typeName}") @get getByUniqueAttributes is AtlasOperation< @@ -403,9 +403,9 @@ GET ignoreRelationships?: boolean; @doc(""" -The qualified name of the entity. (This is only an example. qualifiedName can -be changed to other unique attributes) -""") + The qualified name of the entity. (This is only an example. qualifiedName can + be changed to other unique attributes) + """) @query("attr:qualifiedName") attribute?: string; }, @@ -416,23 +416,23 @@ be changed to other unique attributes) #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Update entity partially - Allow a subset of attributes to be updated on an -entity which is identified by its type and unique attribute eg: -Referenceable.qualifiedName. Null updates are not possible. - -In addition to the -typeName path parameter, attribute key-value pair(s) can be provided in the -following format: - -attr:=. -NOTE: The attrName and -attrValue should be unique across entities, eg. qualifiedName. - -The REST -request would look something like this: -PUT -/v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. -""") + Update entity partially - Allow a subset of attributes to be updated on an + entity which is identified by its type and unique attribute eg: + Referenceable.qualifiedName. Null updates are not possible. + + In addition to the + typeName path parameter, attribute key-value pair(s) can be provided in the + following format: + + attr:=. + NOTE: The attrName and + attrValue should be unique across entities, eg. qualifiedName. + + The REST + request would look something like this: + PUT + /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + """) @route("/atlas/v2/entity/uniqueAttribute/type/{typeName}") @put partialUpdateByUniqueAttributes is AtlasOperation< @@ -442,9 +442,9 @@ PUT typeName: string; @doc(""" -The qualified name of the entity. (This is only an example. qualifiedName can -be changed to other unique attributes) -""") + The qualified name of the entity. (This is only an example. qualifiedName can + be changed to other unique attributes) + """) @query("attr:qualifiedName") attribute?: string; } & AtlasEntityWithExtInfo, @@ -455,19 +455,19 @@ be changed to other unique attributes) #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Delete an entity identified by its type and unique attributes. -In addition to -the typeName path parameter, attribute key-value pair(s) can be provided in the -following format: -attr:\\=\\. -NOTE: The attrName and -attrValue should be unique across entities, eg. qualifiedName. - -The REST -request would look something like this: -DELETE -/v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. -""") + Delete an entity identified by its type and unique attributes. + In addition to + the typeName path parameter, attribute key-value pair(s) can be provided in the + following format: + attr:\\=\\. + NOTE: The attrName and + attrValue should be unique across entities, eg. qualifiedName. + + The REST + request would look something like this: + DELETE + /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + """) @route("/atlas/v2/entity/uniqueAttribute/type/{typeName}") @delete deleteByUniqueAttribute is AtlasOperation< @@ -477,9 +477,9 @@ DELETE typeName: string; @doc(""" -The qualified name of the entity. (This is only an example. qualifiedName can -be changed to other unique attributes) -""") + The qualified name of the entity. (This is only an example. qualifiedName can + be changed to other unique attributes) + """) @query("attr:qualifiedName") attribute?: string; }, @@ -490,9 +490,9 @@ be changed to other unique attributes) #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Delete a given classification from an entity identified by its type and unique -attributes. -""") + Delete a given classification from an entity identified by its type and unique + attributes. + """) @route("/atlas/v2/entity/uniqueAttribute/type/{typeName}/classification/{classificationName}") @delete removeClassificationByUniqueAttribute is AtlasOperation< @@ -506,9 +506,9 @@ attributes. classificationName: string; @doc(""" -The qualified name of the entity. (This is only an example. qualifiedName can -be changed to other unique attributes) -""") + The qualified name of the entity. (This is only an example. qualifiedName can + be changed to other unique attributes) + """) @query("attr:qualifiedName") attribute?: string; }, @@ -529,9 +529,9 @@ be changed to other unique attributes) typeName: string; @doc(""" -The qualified name of the entity. (This is only an example. qualifiedName can -be changed to other unique attributes) -""") + The qualified name of the entity. (This is only an example. qualifiedName can + be changed to other unique attributes) + """) @query("attr:qualifiedName") attribute?: string; @@ -556,9 +556,9 @@ be changed to other unique attributes) typeName: string; @doc(""" -The qualified name of the entity. (This is only an example. qualifiedName can -be changed to other unique attributes) -""") + The qualified name of the entity. (This is only an example. qualifiedName can + be changed to other unique attributes) + """) @query("attr:qualifiedName") attribute?: string; @@ -585,25 +585,25 @@ be changed to other unique attributes) #suppress "@azure-tools/typespec-azure-core/casing-style" "This is Atlas API behavior" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Bulk API to retrieve list of entities identified by its unique attributes. -In -addition to the typeName path parameter, attribute key-value pair(s) can be -provided in the following -format - -typeName=\\&attr_1:\\=\\&attr_2:\\=\\&attr_3:\\=\\ - -NOTE: -The attrName should be an unique attribute for the given entity-type. -The REST -request would look something like this - -GET -/v2/entity/bulk/uniqueAttribute/type/hive_db?attr_1:qualifiedName=db1@cl1&attr_2:qualifiedName=db2@cl1 - -Note: -at least one unique attribute must be provided. -""") + Bulk API to retrieve list of entities identified by its unique attributes. + In + addition to the typeName path parameter, attribute key-value pair(s) can be + provided in the following + format + + typeName=\\&attr_1:\\=\\&attr_2:\\=\\&attr_3:\\=\\ + + NOTE: + The attrName should be an unique attribute for the given entity-type. + The REST + request would look something like this + + GET + /v2/entity/bulk/uniqueAttribute/type/hive_db?attr_1:qualifiedName=db1@cl1&attr_2:qualifiedName=db2@cl1 + + Note: + at least one unique attribute must be provided. + """) @route("/atlas/v2/entity/bulk/uniqueAttribute/type/{typeName}") @get listByUniqueAttributes is AtlasOperation< @@ -621,10 +621,10 @@ at least one unique attribute must be provided. ignoreRelationships?: boolean; @doc(""" -Qualified name of an entity. E.g. to find 2 entities you can set -attrs_1:qualifiedName=db1@cl1&attrs_2:qualifiedName=db2@cl1. (This is only an -example. qualifiedName can be changed to other unique attributes) -""") + Qualified name of an entity. E.g. to find 2 entities you can set + attrs_1:qualifiedName=db1@cl1&attrs_2:qualifiedName=db2@cl1. (This is only an + example. qualifiedName can be changed to other unique attributes) + """) @query `attr_N:qualifiedName`?: string; }, @@ -679,9 +679,9 @@ example. qualifiedName can be changed to other unique attributes) guid: string; @doc(""" -Whether to overwrite the existing business metadata on the entity or not, -default is false. -""") + Whether to overwrite the existing business metadata on the entity or not, + default is false. + """) @query("isOverwrite") overwrite?: boolean; @@ -834,20 +834,20 @@ default is false. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Delete given labels to a given entity identified by its type and unique -attribute. - -If labels is null/empty, no labels will be removed. - -If any labels -in labels set are non-existing labels, they will be ignored, only existing -labels will be removed. In addition to the typeName path parameter, attribute -key-value pair(s) can be provided in the following format: -attr:=. NOTE: The attrName and attrValue should be unique -across entities, eg. qualifiedName. The REST request would look something like -this: DELETE -/v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. -""") + Delete given labels to a given entity identified by its type and unique + attribute. + + If labels is null/empty, no labels will be removed. + + If any labels + in labels set are non-existing labels, they will be ignored, only existing + labels will be removed. In addition to the typeName path parameter, attribute + key-value pair(s) can be provided in the following format: + attr:=. NOTE: The attrName and attrValue should be unique + across entities, eg. qualifiedName. The REST request would look something like + this: DELETE + /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + """) @route("/atlas/v2/entity/uniqueAttribute/type/{typeName}/labels") @delete removeLabelsByUniqueAttribute is AtlasOperation< @@ -857,9 +857,9 @@ this: DELETE typeName: string; @doc(""" -The qualified name of the entity. (This is only an example. qualifiedName can -be changed to other unique attributes) -""") + The qualified name of the entity. (This is only an example. qualifiedName can + be changed to other unique attributes) + """) @query("attr:qualifiedName") attribute?: string; @@ -875,22 +875,22 @@ be changed to other unique attributes) #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Set labels to a given entity identified by its type and unique attributes. - -If -labels is null/empty, existing labels will all be removed. - -In addition to the -typeName path parameter, attribute key-value pair(s) can be provided in the -following format: attr:=. - -NOTE: The attrName and -attrValue should be unique across entities, eg. qualifiedName. - -The REST -request would look something like this: POST -/v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. -""") + Set labels to a given entity identified by its type and unique attributes. + + If + labels is null/empty, existing labels will all be removed. + + In addition to the + typeName path parameter, attribute key-value pair(s) can be provided in the + following format: attr:=. + + NOTE: The attrName and + attrValue should be unique across entities, eg. qualifiedName. + + The REST + request would look something like this: POST + /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + """) @route("/atlas/v2/entity/uniqueAttribute/type/{typeName}/labels") @post setLabelsByUniqueAttribute is AtlasOperation< @@ -900,9 +900,9 @@ request would look something like this: POST typeName: string; @doc(""" -The qualified name of the entity. (This is only an example. qualifiedName can -be changed to other unique attributes) -""") + The qualified name of the entity. (This is only an example. qualifiedName can + be changed to other unique attributes) + """) @query("attr:qualifiedName") attribute?: string; @@ -918,22 +918,22 @@ be changed to other unique attributes) #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Add given labels to a given entity identified by its type and unique -attributes. - -If labels is null/empty, no labels will be added. - -In addition to -the typeName path parameter, attribute key-value pair(s) can be provided in the -following format: attr:=. - -NOTE: The attrName and -attrValue should be unique across entities, eg. qualifiedName. - -The REST -request would look something like this: PUT -/v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. -""") + Add given labels to a given entity identified by its type and unique + attributes. + + If labels is null/empty, no labels will be added. + + In addition to + the typeName path parameter, attribute key-value pair(s) can be provided in the + following format: attr:=. + + NOTE: The attrName and + attrValue should be unique across entities, eg. qualifiedName. + + The REST + request would look something like this: PUT + /v2/entity/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + """) @route("/atlas/v2/entity/uniqueAttribute/type/{typeName}/labels") @put addLabelsByUniqueAttribute is AtlasOperation< @@ -943,9 +943,9 @@ request would look something like this: PUT typeName: string; @doc(""" -The qualified name of the entity. (This is only an example. qualifiedName can -be changed to other unique attributes) -""") + The qualified name of the entity. (This is only an example. qualifiedName can + be changed to other unique attributes) + """) @query("attr:qualifiedName") attribute?: string; @@ -976,15 +976,11 @@ be changed to other unique attributes) interface Glossary { #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" @doc(""" -Get all glossaries. Recommend using limit/offset to get pagination result. -Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories -separately using - - 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms' -and - - 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'. -""") + Get all glossaries. Recommend using limit/offset to get pagination result. + Recommend using 'ignoreTermsAndCategories=true' and fetch terms/categories + separately using 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms' + and 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'. + """) @route("/atlas/v2/glossary") @get list is AtlasOperation< @@ -1093,9 +1089,9 @@ and #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" #suppress "@azure-tools/typespec-azure-core/no-unknown" "Should use unknown to model Object" @doc(""" -Update the glossary category partially. So far we only supports partial -updating shortDescription and longDescription for category. -""") + Update the glossary category partially. So far we only supports partial + updating shortDescription and longDescription for category. + """) @route("/atlas/v2/glossary/category/{categoryId}/partial") @put partialUpdateCategory is AtlasOperation< @@ -1105,9 +1101,9 @@ updating shortDescription and longDescription for category. categoryId: string; @doc(""" -A map containing keys as attribute names and values as corresponding attribute -values for partial update. -""") + A map containing keys as attribute names and values as corresponding attribute + values for partial update. + """) @bodyRoot body: Record; }, @@ -1118,9 +1114,9 @@ values for partial update. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Get all related categories (parent and children). Limit, offset, and sort -parameters are currently not being enabled and won't work even they are passed. -""") + Get all related categories (parent and children). Limit, offset, and sort + parameters are currently not being enabled and won't work even they are passed. + """) @route("/atlas/v2/glossary/category/{categoryId}/related") @get listRelatedCategories is AtlasOperation< @@ -1237,9 +1233,9 @@ parameters are currently not being enabled and won't work even they are passed. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/no-unknown" "Should use unknown to model Object" @doc(""" -Update the glossary term partially. So far we only supports partial updating -shortDescription, longDescription, abbreviation, usage and status for term. -""") + Update the glossary term partially. So far we only supports partial updating + shortDescription, longDescription, abbreviation, usage and status for term. + """) @route("/atlas/v2/glossary/term/{termId}/partial") @put partialUpdateTerm is AtlasOperation< @@ -1253,9 +1249,9 @@ shortDescription, longDescription, abbreviation, usage and status for term. includeTermHierarchy?: boolean; @doc(""" -A map containing keys as attribute names and values as corresponding attribute -values to be updated. -""") + A map containing keys as attribute names and values as corresponding attribute + values to be updated. + """) @bodyRoot body: Record; }, @@ -1285,9 +1281,9 @@ values to be updated. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -List all related objects assigned with the specified term. Recommend using -limit/offset to get pagination result. -""") + List all related objects assigned with the specified term. Recommend using + limit/offset to get pagination result. + """) @route("/atlas/v2/glossary/terms/{termId}/assignedEntities") @get listEntitiesAssignedWithTerm is AtlasOperation< @@ -1316,13 +1312,13 @@ limit/offset to get pagination result. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Assign the given term to the provided list of related objects. Recommend using -small batches with multiple API calls. - -[Entities Create Or Update -operation](https://learn.microsoft.com/en-us/rest/api/purview/datamapdataplane/entity/bulk-create-or-update?tabs=HTTP) -is an alternative to assign a term to multiple entities. -""") + Assign the given term to the provided list of related objects. Recommend using + small batches with multiple API calls. + + [Entities Create Or Update + operation](https://learn.microsoft.com/en-us/rest/api/purview/datamapdataplane/entity/bulk-create-or-update?tabs=HTTP) + is an alternative to assign a term to multiple entities. + """) @route("/atlas/v2/glossary/terms/{termId}/assignedEntities") @post assignTermToEntities is AtlasOperation< @@ -1361,9 +1357,9 @@ is an alternative to assign a term to multiple entities. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" @doc(""" -Get all related terms for a specific term by its GUID. Limit, offset, and sort -parameters are currently not being enabled and won't work even they are passed. -""") + Get all related terms for a specific term by its GUID. Limit, offset, and sort + parameters are currently not being enabled and won't work even they are passed. + """) @route("/atlas/v2/glossary/terms/{termId}/related") @get listRelatedTerms is AtlasOperation< @@ -1424,9 +1420,9 @@ parameters are currently not being enabled and won't work even they are passed. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Delete a glossary. Will delete underlying terms/categories together. Recommend -separate delete terms and categories. -""") + Delete a glossary. Will delete underlying terms/categories together. Recommend + separate delete terms and categories. + """) @route("/atlas/v2/glossary/{glossaryId}") @delete delete is AtlasOperation< @@ -1442,9 +1438,9 @@ separate delete terms and categories. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Get the categories belonging to a specific glossary. Recommend using -limit/offset to get pagination result. -""") + Get the categories belonging to a specific glossary. Recommend using + limit/offset to get pagination result. + """) @route("/atlas/v2/glossary/{glossaryId}/categories") @get listCategories is AtlasOperation< @@ -1472,9 +1468,9 @@ limit/offset to get pagination result. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Get the category headers belonging to a specific glossary. Recommend using -limit/offset to get pagination result. -""") + Get the category headers belonging to a specific glossary. Recommend using + limit/offset to get pagination result. + """) @route("/atlas/v2/glossary/{glossaryId}/categories/headers") @get listCategoriesHeaders is AtlasOperation< @@ -1501,15 +1497,15 @@ limit/offset to get pagination result. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" @doc(""" -Get a specific glossary with detailed information. This API is not -recommend. - -Recommend to fetch terms/categories details separately using - -GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and - -GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories. -""") + Get a specific glossary with detailed information. This API is not + recommend. + + Recommend to fetch terms/categories details separately using + + GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms and + + GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories. + """) @route("/atlas/v2/glossary/{glossaryId}/detailed") @get getDetailed is AtlasOperation< @@ -1525,15 +1521,15 @@ GET /datamap/api/atlas/v2/glossary/{glossaryId}/categories. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/no-unknown" "Should use unknown to model Object" @doc(""" -Update the glossary partially. Some properties such as qualifiedName are not -allowed to be updated. - -So far we only supports partial updating -shortDescription, longDescription, language and usage for glossary. - -Recommend -using 'ignoreTermsAndCategories=true' to reduce response body size. -""") + Update the glossary partially. Some properties such as qualifiedName are not + allowed to be updated. + + So far we only supports partial updating + shortDescription, longDescription, language and usage for glossary. + + Recommend + using 'ignoreTermsAndCategories=true' to reduce response body size. + """) @route("/atlas/v2/glossary/{glossaryId}/partial") @put partialUpdate is AtlasOperation< @@ -1547,9 +1543,9 @@ using 'ignoreTermsAndCategories=true' to reduce response body size. ignoreTermsAndCategories?: boolean; @doc(""" -A map containing keys as attribute names and values as corresponding attribute -values. -""") + A map containing keys as attribute names and values as corresponding attribute + values. + """) @bodyRoot body: Record; }, @@ -1559,9 +1555,9 @@ values. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" @doc(""" -Get terms belonging to a specific glossary. Recommend using limit/offset to get -pagination result. -""") + Get terms belonging to a specific glossary. Recommend using limit/offset to get + pagination result. + """) @route("/atlas/v2/glossary/{glossaryId}/terms") @get listTerms is AtlasOperation< @@ -1589,9 +1585,9 @@ pagination result. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Get term headers belonging to a specific glossary. Recommend using limit/offset -to get pagination result. -""") + Get term headers belonging to a specific glossary. Recommend using limit/offset + to get pagination result. + """) @route("/atlas/v2/glossary/{glossaryId}/terms/headers") @get listTermHeaders is AtlasOperation< @@ -1623,7 +1619,7 @@ interface Discovery { @route("/search/query") @post query is Azure.Core.Foundations.Operation< - QueryOptions, + BodyParameter, QueryResult, {}, AtlasErrorResponse @@ -1634,7 +1630,7 @@ interface Discovery { @route("/search/suggest") @post suggest is Azure.Core.Foundations.Operation< - SuggestOptions, + BodyParameter, SuggestResult, {}, AtlasErrorResponse @@ -1645,7 +1641,7 @@ interface Discovery { @route("/search/autocomplete") @post autoComplete is Azure.Core.Foundations.Operation< - AutoCompleteOptions, + BodyParameter, AutoCompleteResult, {}, AtlasErrorResponse @@ -1705,23 +1701,23 @@ interface Lineage { #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Return lineage info about entity. - -In addition to the typeName path parameter, -attribute key-value pair(s) can be provided in the following -format - -attr:[attrName]=[attrValue] - -NOTE: The attrName and attrValue should be -unique across entities, eg. qualifiedName. - -The REST request would look -something like this: - -GET -/v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. -""") + Return lineage info about entity. + + In addition to the typeName path parameter, + attribute key-value pair(s) can be provided in the following + format + + attr:[attrName]=[attrValue] + + NOTE: The attrName and attrValue should be + unique across entities, eg. qualifiedName. + + The REST request would look + something like this: + + GET + /v2/lineage/uniqueAttribute/type/aType?attr:aTypeAttribute=someValue. + """) @route("/atlas/v2/lineage/uniqueAttribute/type/{typeName}") @get getByUniqueAttribute is AtlasOperation< @@ -1739,9 +1735,9 @@ GET direction: LineageDirection; @doc(""" -The qualified name of the entity. (This is only an example. qualifiedName can -be changed to other unique attributes) -""") + The qualified name of the entity. (This is only an example. qualifiedName can + be changed to other unique attributes) + """) @query("attr:qualifiedName") attribute?: string; }, @@ -2033,10 +2029,10 @@ interface Type { list is AtlasOperation< { @doc(""" -Whether include termtemplatedef when return all typedefs. -This is always true -when search filter type=term_template -""") + Whether include termtemplatedef when return all typedefs. + This is always true + when search filter type=term_template + """) @query includeTermTemplate?: boolean; @@ -2051,10 +2047,8 @@ when search filter type=term_template #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Create all atlas type definitions in bulk, only new definitions will be -created. -Any changes to the existing definitions will be discarded. -""") + Create all atlas type definitions in bulk. Please avoid recreating existing types. + """) @route("/atlas/v2/types/typedefs") @post bulkCreate is AtlasOperation; @@ -2062,9 +2056,9 @@ Any changes to the existing definitions will be discarded. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "This is Atlas API" #suppress "@azure-tools/typespec-azure-core/operation-missing-api-version" "This is Atlas API, which does not require api version" @doc(""" -Update all types in bulk, changes detected in the type definitions would be -persisted. -""") + Update all types in bulk, changes detected in the type definitions would be + persisted. + """) @route("/atlas/v2/types/typedefs") @put bulkUpdate is AtlasOperation; @@ -2083,10 +2077,10 @@ persisted. listHeaders is AtlasOperation< { @doc(""" -Whether include termtemplatedef when return all typedefs. -This is always true -when search filter type=term_template -""") + Whether include termtemplatedef when return all typedefs. + This is always true + when search filter type=term_template + """) @query includeTermTemplate?: boolean; diff --git a/specification/purview/Azure.Analytics.Purview.DataMap/tspconfig.yaml b/specification/purview/Azure.Analytics.Purview.DataMap/tspconfig.yaml index 728bf1d6c2e4..2168a282a9a0 100644 --- a/specification/purview/Azure.Analytics.Purview.DataMap/tspconfig.yaml +++ b/specification/purview/Azure.Analytics.Purview.DataMap/tspconfig.yaml @@ -9,6 +9,7 @@ emit: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/Azure.Analytics.Purview.DataMap/{version-status}/{version}/purviewdatamap.json" diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/purviewdatamap.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/purviewdatamap.json index e9de0cc4ad57..6ded253a23b4 100644 --- a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/purviewdatamap.json +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2023-10-01-preview/purviewdatamap.json @@ -3889,7 +3889,7 @@ "tags": [ "Type" ], - "description": "Create all atlas type definitions in bulk, only new definitions will be created.\nAny changes to the existing definitions will be discarded.", + "description": "Create all atlas type definitions in bulk. Please avoid recreating existing types.", "operationId": "Type_BulkCreate", "x-ms-examples": { "Type_BulkCreate": { diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2024-03-01-preview/purviewdatamap.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2024-03-01-preview/purviewdatamap.json index 315f5ba6a6a8..0e2f6d6c71f6 100644 --- a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2024-03-01-preview/purviewdatamap.json +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/preview/2024-03-01-preview/purviewdatamap.json @@ -3943,7 +3943,7 @@ }, "post": { "operationId": "Type_BulkCreate", - "description": "Create all atlas type definitions in bulk, only new definitions will be\ncreated.\nAny changes to the existing definitions will be discarded.", + "description": "Create all atlas type definitions in bulk. Please avoid recreating existing types.", "parameters": [ { "name": "body", diff --git a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/stable/2023-09-01/purviewdatamap.json b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/stable/2023-09-01/purviewdatamap.json index 22ad76fcf1c7..2d8ab19b2b35 100644 --- a/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/stable/2023-09-01/purviewdatamap.json +++ b/specification/purview/data-plane/Azure.Analytics.Purview.DataMap/stable/2023-09-01/purviewdatamap.json @@ -1604,7 +1604,7 @@ "/atlas/v2/glossary": { "get": { "operationId": "Glossary_List", - "description": "Get all glossaries. Recommend using limit/offset to get pagination result.\nRecommend using 'ignoreTermsAndCategories=true' and fetch terms/categories\nseparately using \n\n 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'\nand \n\n 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.", + "description": "Get all glossaries. Recommend using limit/offset to get pagination result.\nRecommend using 'ignoreTermsAndCategories=true' and fetch terms/categories\nseparately using 'GET /datamap/api/atlas/v2/glossary/{glossaryId}/terms'\nand 'GET '/datamap/api/atlas/v2/glossary/{glossaryId}/categories'.", "parameters": [ { "$ref": "#/parameters/AtlasApiVersionParameter" @@ -3943,7 +3943,7 @@ }, "post": { "operationId": "Type_BulkCreate", - "description": "Create all atlas type definitions in bulk, only new definitions will be\ncreated.\nAny changes to the existing definitions will be discarded.", + "description": "Create all atlas type definitions in bulk. Please avoid recreating existing types.", "parameters": [ { "name": "body", @@ -4266,6 +4266,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/AutoCompleteOptions" @@ -4304,6 +4305,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/QueryOptions" @@ -4402,6 +4404,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/SuggestOptions" diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_AddRootCollectionAdmin.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_AddRootCollectionAdmin.json new file mode 100644 index 000000000000..c3250bf6baa5 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_AddRootCollectionAdmin.json @@ -0,0 +1,22 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2024-04-01-preview", + "collectionAdminUpdate": { + "objectId": "7e8de0e7-2bfc-4e1f-9659-2a5785e4356f" + } + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_CheckNameAvailability.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_CheckNameAvailability.json new file mode 100644 index 000000000000..f0c9448a752a --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_CheckNameAvailability.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "checkNameAvailabilityRequest": { + "name": "account1", + "type": "Microsoft.Purview/accounts" + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_CreateOrUpdate.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_CreateOrUpdate.json new file mode 100644 index 000000000000..f394c32ed045 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_CreateOrUpdate.json @@ -0,0 +1,98 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2024-04-01-preview", + "account": { + "location": "West US 2" + } + }, + "responses": { + "201": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1", + "name": "account1", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "properties": { + "friendlyName": "friendly-account1", + "provisioningState": "Creating", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account1.catalog.purview.azure-test.com", + "scan": "https://account1.scan.purview.azure-test.com" + }, + "publicNetworkAccess": "Enabled" + } + } + }, + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1", + "name": "account1", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account1", + "provisioningState": "Succeeded", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account1.catalog.purview.azure-test.com", + "scan": "https://account1.scan.purview.azure-test.com" + }, + "publicNetworkAccess": "Enabled", + "managedResourceGroupName": "custom-rgname", + "managedResourcesPublicNetworkAccess": "Enabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/custom-rgname", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/custom-rgname/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/custom-rgname/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Enabled" + }, + "tenantEndpointState": "Disabled" + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_Delete.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_Delete.json new file mode 100644 index 000000000000..b3adff3a32f2 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_Delete.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + } + }, + "202": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd", + "x-ms-long-running-operation": true, + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/operationResults/dad6baec-3a39-41df-a469-843a9ee94213?api-version=2021-07-01" + } + }, + "204": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_Get.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_Get.json new file mode 100644 index 000000000000..0c6543391a1b --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_Get.json @@ -0,0 +1,91 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1", + "name": "account1", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account1", + "provisioningState": "Succeeded", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account1.catalog.purview.azure-test.com", + "scan": "https://account1.scan.purview.azure-test.com" + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/baca8a88-4527-4c35-a13e-b2775ce0d7fc/resourceGroups/nrpResourceGroupName/providers/Microsoft.Network/privateEndpoints/peName" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my connection, thanks.", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "name": "peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "type": "Microsoft.Purview/accounts/privateEndpointConnections" + } + ], + "publicNetworkAccess": "Enabled", + "managedResourceGroupName": "managed-rg-mwjotkl", + "managedResourcesPublicNetworkAccess": "Enabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Enabled" + }, + "mergeInfo": { + "accountLocation": "westus2", + "accountName": "otherAccount", + "accountResourceGroupName": "otherAccountRG", + "accountSubscriptionId": "92d4ce06-0032-4e6b-9103-88ba3e159551", + "typeOfAccount": "Secondary", + "mergeStatus": "Succeeded", + "deprovisioned": false + }, + "defaultDomain": "account1", + "tenantEndpointState": "Disabled" + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_ListByResourceGroup.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_ListByResourceGroup.json new file mode 100644 index 000000000000..3e284955734f --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_ListByResourceGroup.json @@ -0,0 +1,144 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 17:33:55 GMT", + "x-ms-request-id": "8e58266a-de42-40d5-b3c4-c6a7e159cfba", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-reads": "14993", + "x-ms-correlation-request-id": "5d862c55-4de9-4a46-969d-cf1ed3e235ed" + }, + "body": { + "value": [ + { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1", + "name": "account1", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account1", + "provisioningState": "Succeeded", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account1.catalog.purview.azure-test.com", + "scan": "https://account1.scan.purview.azure-test.com" + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/baca8a88-4527-4c35-a13e-b2775ce0d7fc/resourceGroups/nrpResourceGroupName/providers/Microsoft.Network/privateEndpoints/peName" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my connection, thanks.", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "name": "peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "type": "Microsoft.Purview/accounts/privateEndpointConnections" + } + ], + "publicNetworkAccess": "Enabled", + "managedResourceGroupName": "managed-rg-mwjotkl", + "managedResourcesPublicNetworkAccess": "Enabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Enabled" + } + } + }, + { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account2", + "name": "account2", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account2", + "provisioningState": "Succeeded", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account2.catalog.purview.azure-test.com", + "scan": "https://account2.scan.purview.azure-test.com" + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/baca8a88-4527-4c35-a13e-b2775ce0d7fc/resourceGroups/nrpResourceGroupName/providers/Microsoft.Network/privateEndpoints/peName" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my connection, thanks.", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "name": "peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "type": "Microsoft.Purview/accounts/privateEndpointConnections" + } + ], + "publicNetworkAccess": "Enabled", + "managedResourceGroupName": "managed-rg-mwjotkl", + "managedResourcesPublicNetworkAccess": "Enabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Enabled" + } + } + } + ] + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_ListBySubscription.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_ListBySubscription.json new file mode 100644 index 000000000000..0912545f98f4 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_ListBySubscription.json @@ -0,0 +1,143 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 17:33:55 GMT", + "x-ms-request-id": "8e58266a-de42-40d5-b3c4-c6a7e159cfba", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-reads": "14993", + "x-ms-correlation-request-id": "5d862c55-4de9-4a46-969d-cf1ed3e235ed" + }, + "body": { + "value": [ + { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1", + "name": "account1", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account1", + "provisioningState": "Succeeded", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account1.catalog.purview.azure-test.com", + "scan": "https://account1.scan.purview.azure-test.com" + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/baca8a88-4527-4c35-a13e-b2775ce0d7fc/resourceGroups/nrpResourceGroupName/providers/Microsoft.Network/privateEndpoints/peName" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my connection, thanks.", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "name": "peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "type": "Microsoft.Purview/accounts/privateEndpointConnections" + } + ], + "publicNetworkAccess": "Enabled", + "managedResourceGroupName": "managed-rg-mwjotkl", + "managedResourcesPublicNetworkAccess": "Enabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Enabled" + } + } + }, + { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account2", + "name": "account2", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account2", + "provisioningState": "Succeeded", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account2.catalog.purview.azure-test.com", + "scan": "https://account2.scan.purview.azure-test.com" + }, + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/baca8a88-4527-4c35-a13e-b2775ce0d7fc/resourceGroups/nrpResourceGroupName/providers/Microsoft.Network/privateEndpoints/peName" + }, + "privateLinkServiceConnectionState": { + "status": "Pending", + "description": "Please approve my connection, thanks.", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "name": "peName-8536c337-7b36-4d67-a7ce-081655baf59e", + "type": "Microsoft.Purview/accounts/privateEndpointConnections" + } + ], + "publicNetworkAccess": "Enabled", + "managedResourceGroupName": "managed-rg-mwjotkl", + "managedResourcesPublicNetworkAccess": "Enabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Enabled" + } + } + } + ] + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_ListKeys.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_ListKeys.json new file mode 100644 index 000000000000..eadb136f81cf --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_ListKeys.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "atlasKafkaPrimaryEndpoint": "Endpoint=sb://fake_objectId.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=ASDASasdfmasdf123412341234=", + "atlasKafkaSecondaryEndpoint": "Endpoint=sb://fake_objectId.servicebus.windows.net/;SharedAccessKeyName=AlternateSharedAccessKey;SharedAccessKey=BSDASasdfmasdf123412341234=" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_Update.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_Update.json new file mode 100644 index 000000000000..db8c1d594d06 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Accounts_Update.json @@ -0,0 +1,129 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2024-04-01-preview", + "accountUpdateParameters": { + "properties": { + "cloudConnectors": {}, + "publicNetworkAccess": "Disabled", + "managedResourcesPublicNetworkAccess": "Disabled", + "ingestionStorage": { + "publicNetworkAccess": "Disabled" + } + }, + "tags": { + "newTag": "New tag value." + } + } + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1", + "name": "account1", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account1", + "provisioningState": "Succeeded", + "accountStatus": { + "accountProvisioningState": "Succeeded", + "errorDetails": {} + }, + "endpoints": { + "catalog": "https://account2.catalog.purview.azure-test.com", + "scan": "https://account2.scan.purview.azure-test.com" + }, + "publicNetworkAccess": "Disabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Disabled" + }, + "tenantEndpointState": "Disabled" + }, + "tags": { + "newTag": "New tag value." + } + } + }, + "202": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd", + "x-ms-long-running-operation": true, + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/operationResults/dad6baec-3a39-41df-a469-843a9ee94213?api-version=2021-07-01" + }, + "body": { + "location": "West US 2", + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1", + "name": "account1", + "type": "Microsoft.Purview/accounts", + "sku": { + "name": "Standard", + "capacity": 1 + }, + "systemData": { + "createdBy": "client-name", + "createdByType": "User", + "createdAt": "2019-11-22T18:39:58.6929344Z", + "lastModifiedBy": "client-name", + "lastModifiedByType": "User", + "lastModifiedAt": "2021-03-16T23:24:34.3430059Z" + }, + "properties": { + "friendlyName": "friendly-account1", + "provisioningState": "Succeeded", + "endpoints": { + "catalog": "https://account2.catalog.purview.azure-test.com", + "scan": "https://account2.scan.purview.azure-test.com" + }, + "publicNetworkAccess": "Disabled", + "managedResources": { + "resourceGroup": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl", + "storageAccount": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.Storage/storageAccounts/scanwestustzaagzr", + "eventHubNamespace": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/managed-rg-mwjotkl/providers/Microsoft.EventHub/namespaces/atlas-westusdddnbtp" + }, + "ingestionStorage": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/ingestion-storage-rg-mwjotkl", + "primaryEndpoint": "https://ingestioneastusddnpkar.z31.blob.storage.azure.net/", + "publicNetworkAccess": "Disabled" + }, + "tenantEndpointState": "Disabled" + }, + "tags": { + "newTag": "New tag value." + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/DefaultAccounts_Get.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/DefaultAccounts_Get.json new file mode 100644 index 000000000000..68ec56027047 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/DefaultAccounts_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "scopeTenantId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "scopeType": "Tenant", + "scope": "12345678-1234-1234-1234-12345678abcd", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "scopeTenantId": "12345678-1234-1234-1234-12345678abcd", + "scopeType": "Tenant", + "scope": "12345678-1234-1234-1234-12345678abcd", + "accountName": "myDefaultAccount", + "resourceGroupName": "rg-1", + "subscriptionId": "12345678-1234-1234-1234-12345678aaaa" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/DefaultAccounts_Remove.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/DefaultAccounts_Remove.json new file mode 100644 index 000000000000..0a293adb9156 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/DefaultAccounts_Remove.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "scopeTenantId": "ee85a74c-405e-4adc-bb47-ffa8ca0c9f31", + "scopeType": "Tenant", + "scope": "12345678-1234-1234-1234-12345678abcd", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + } + }, + "204": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/DefaultAccounts_Set.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/DefaultAccounts_Set.json new file mode 100644 index 000000000000..8f5f4e730192 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/DefaultAccounts_Set.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "defaultAccountPayload": { + "scopeTenantId": "12345678-1234-1234-1234-12345678abcd", + "scopeType": "Tenant", + "scope": "12345678-1234-1234-1234-12345678abcd", + "accountName": "myDefaultAccount", + "resourceGroupName": "rg-1", + "subscriptionId": "12345678-1234-1234-1234-12345678aaaa" + } + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "scopeTenantId": "12345678-1234-1234-1234-12345678abcd", + "scopeType": "Tenant", + "scope": "12345678-1234-1234-1234-12345678abcd", + "accountName": "myDefaultAccount", + "resourceGroupName": "rg-1", + "subscriptionId": "12345678-1234-1234-1234-12345678aaaa" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Features_AccountGet.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Features_AccountGet.json new file mode 100644 index 000000000000..089be2f1eb7a --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Features_AccountGet.json @@ -0,0 +1,31 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "featureRequest": { + "features": [ + "Feature1", + "Feature2", + "FeatureThatDoesntExist" + ] + }, + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "features": { + "Feature1": true, + "Feature2": false + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Features_SubscriptionGet.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Features_SubscriptionGet.json new file mode 100644 index 000000000000..cb9389619390 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Features_SubscriptionGet.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "locations": "eastus", + "featureRequest": { + "features": [ + "Feature1", + "Feature2", + "FeatureThatDoesntExist" + ] + }, + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "features": { + "Feature1": true, + "Feature2": false + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/IngestionPrivateEndpointConnections_List.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/IngestionPrivateEndpointConnections_List.json new file mode 100644 index 000000000000..c185136f60c5 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/IngestionPrivateEndpointConnections_List.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 17:33:55 GMT", + "x-ms-request-id": "8e58266a-de42-40d5-b3c4-c6a7e159cfba", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-reads": "14993", + "x-ms-correlation-request-id": "5d862c55-4de9-4a46-969d-cf1ed3e235ed" + }, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/ingestionPrivateEndpointConnections/privateEndpointConnection1", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/ingestionPrivateEndpointConnections/privateEndpointConnection2", + "type": "Microsoft.Storage/storageAccounts/privateEndpointConnections", + "properties": { + "provisioningState": "Deleting", + "privateEndpoint": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "Rejected by johndoe@company.com" + } + } + } + ] + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/IngestionPrivateEndpointConnections_UpdateStatus.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/IngestionPrivateEndpointConnections_UpdateStatus.json new file mode 100644 index 000000000000..38151c3a276a --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/IngestionPrivateEndpointConnections_UpdateStatus.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2024-04-01-preview", + "request": { + "privateEndpointId": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1", + "status": "Approved" + } + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "privateEndpointId": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1", + "status": "Approved" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/KafkaConfigurations_CreateOrUpdate.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/KafkaConfigurations_CreateOrUpdate.json new file mode 100644 index 000000000000..6c83a5ab9970 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/KafkaConfigurations_CreateOrUpdate.json @@ -0,0 +1,79 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rgpurview", + "accountName": "account1", + "kafkaConfigurationName": "kafkaConfigName", + "kafkaConfiguration": { + "properties": { + "eventStreamingState": "Enabled", + "eventStreamingType": "Azure", + "consumerGroup": "consumerGroup", + "credentials": { + "identityId": "/subscriptions/47e8596d-ee73-4eb2-b6b4-cc13c2b87ssd/resourceGroups/testRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testId", + "type": "UserAssigned" + }, + "eventHubType": "Notification", + "eventHubPartitionId": "partitionId", + "eventHubResourceId": "/subscriptions/225be6fe-ec1c-4d51-a368-f69348d2e6c5/resourceGroups/testRG/providers/Microsoft.EventHub/namespaces/eventHubNameSpaceName" + } + }, + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "name": "kafkaConfigName", + "properties": { + "eventStreamingState": "Enabled", + "eventStreamingType": "Azure", + "consumerGroup": "consumerGroup", + "credentials": { + "identityId": "/subscriptions/47e8596d-ee73-4eb2-b6b4-cc13c2b87ssd/resourceGroups/testRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testId", + "type": "UserAssigned" + }, + "eventHubType": "Notification", + "eventHubPartitionId": "aaaaa", + "eventHubResourceId": "/subscriptions/225be6fe-ec1c-4d51-a368-f69348d2e6c5/resourceGroups/testRG/providers/Microsoft.EventHub/namespaces/eventHubNameSpaceName" + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/kafkaConfigurations/default", + "systemData": { + "createdAt": "2022-03-09T01:36:27.637Z", + "createdBy": "User@user", + "createdByType": "User", + "lastModifiedAt": "2022-03-09T01:36:27.637Z", + "lastModifiedBy": "User", + "lastModifiedByType": "User" + }, + "type": "Microsoft.Purview/accounts/kafkaconfiguration" + } + }, + "201": { + "body": { + "name": "kafkaConfigName", + "properties": { + "eventStreamingState": "Enabled", + "eventStreamingType": "Azure", + "consumerGroup": "consumerGroup", + "credentials": { + "identityId": "/subscriptions/47e8596d-ee73-4eb2-b6b4-cc13c2b87ssd/resourceGroups/testRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testId", + "type": "UserAssigned" + }, + "eventHubType": "Notification", + "eventHubPartitionId": "aaaaa", + "eventHubResourceId": "/subscriptions/225be6fe-ec1c-4d51-a368-f69348d2e6c5/resourceGroups/testRG/providers/Microsoft.EventHub/namespaces/eventHubNameSpaceName" + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/kafkaConfigurations/default", + "systemData": { + "createdAt": "2022-03-09T01:36:27.637Z", + "createdBy": "User@user", + "createdByType": "User", + "lastModifiedAt": "2022-03-09T01:36:27.637Z", + "lastModifiedBy": "User", + "lastModifiedByType": "User" + }, + "type": "Microsoft.Purview/accounts/kafkaconfiguration" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/KafkaConfigurations_Delete.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/KafkaConfigurations_Delete.json new file mode 100644 index 000000000000..8ebda25640de --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/KafkaConfigurations_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rgpurview", + "accountName": "account1", + "kafkaConfigurationName": "kafkaConfigName", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/KafkaConfigurations_Get.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/KafkaConfigurations_Get.json new file mode 100644 index 000000000000..4d80562730e7 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/KafkaConfigurations_Get.json @@ -0,0 +1,38 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rgpurview", + "accountName": "account1", + "kafkaConfigurationName": "kafkaConfigName", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "properties": { + "eventStreamingState": "Enabled", + "eventStreamingType": "Azure", + "consumerGroup": "consumerGroup", + "credentials": { + "identityId": "/subscriptions/47e8596d-ee73-4eb2-b6b4-cc13c2b87ssd/resourceGroups/testRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testId", + "type": "UserAssigned" + }, + "eventHubType": "Notification", + "eventHubPartitionId": "partitionId", + "eventHubResourceId": "/subscriptions/225be6fe-ec1c-4d51-a368-f69348d2e6c5/resourceGroups/testRG/providers/Microsoft.EventHub/namespaces/eventHubNameSpaceName" + }, + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/kafkaConfigurations/default", + "name": "kafkaConfigName", + "systemData": { + "createdAt": "2022-03-09T01:36:27.637Z", + "createdBy": "User@user", + "createdByType": "User", + "lastModifiedAt": "2022-03-09T01:36:27.637Z", + "lastModifiedBy": "User", + "lastModifiedByType": "User" + }, + "type": "Microsoft.Purview/accounts/kafkaconfiguration" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/KafkaConfigurations_ListByAccount.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/KafkaConfigurations_ListByAccount.json new file mode 100644 index 000000000000..6e681dfa89a2 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/KafkaConfigurations_ListByAccount.json @@ -0,0 +1,43 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "rgpurview", + "accountName": "account1", + "api-version": "2024-04-01-preview", + "$skipToken": "token" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/kafkaConfigurations/default", + "name": "kafkaconfigName", + "type": "Microsoft.Purview/accounts/kafkaconfiguration", + "properties": { + "eventStreamingState": "Disabled", + "eventStreamingType": "None", + "consumerGroup": "consumerGroup", + "credentials": { + "identityId": "/subscriptions/47e8596d-ee73-4eb2-b6b4-cc13c2b87ssd/resourceGroups/testRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/testId", + "type": "UserAssigned" + }, + "eventHubType": "Notification", + "eventHubPartitionId": "partitionId", + "eventHubResourceId": "/subscriptions/225be6fe-ec1c-4d51-a368-f69348d2e6c5/resourceGroups/testRG/providers/Microsoft.EventHub/namespaces/eventHubNameSpaceName" + }, + "systemData": { + "createdAt": "2022-03-17T04:23:24.157Z", + "createdBy": "user", + "createdByType": "User", + "lastModifiedAt": "2022-03-17T04:23:24.157Z", + "lastModifiedBy": "user", + "lastModifiedByType": "User" + } + } + ], + "nextLink": "nextLink" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Operations_List.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..61f85e4e6f43 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Operations_List.json @@ -0,0 +1,75 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "value": [ + { + "name": "Microsoft.Purview/operations/read", + "display": { + "provider": "Microsoft Purview", + "resource": "Operations", + "operation": "Read all operations", + "description": "Reads all available operations in Purview Resource Provider." + } + }, + { + "name": "Microsoft.Purview/register/action", + "display": { + "provider": "Microsoft Purview", + "resource": "Purview Resource Provider", + "operation": "Register Purview Resource Provider", + "description": "Register the subscription for Purview Resource Provider" + } + }, + { + "name": "Microsoft.Purview/unregister/action", + "display": { + "provider": "Microsoft Purview", + "resource": "Purview Resource Provider", + "operation": "Unregister Purview Resource Provider", + "description": "Unregister the subscription for Purview Resource Provider" + } + }, + { + "name": "Microsoft.Purview/accounts/read", + "display": { + "provider": "Microsoft Purview", + "resource": "Account", + "operation": "Read account resource", + "description": "Read account resource for Purview Resource Provider." + } + }, + { + "name": "Microsoft.Purview/accounts/write", + "display": { + "provider": "Microsoft Purview", + "resource": "Account", + "operation": "Write account resource", + "description": "Write account resource for Purview Resource Provider." + } + }, + { + "name": "Microsoft.Purview/accounts/delete", + "display": { + "provider": "Microsoft Purview", + "resource": "Account", + "operation": "Delete account resource", + "description": "Delete account resource for Purview Resource Provider." + } + } + ] + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateEndpointConnections_CreateOrUpdate.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateEndpointConnections_CreateOrUpdate.json new file mode 100644 index 000000000000..5acc2c03ddfc --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateEndpointConnections_CreateOrUpdate.json @@ -0,0 +1,69 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "privateEndpointConnectionName": "privateEndpointConnection1", + "api-version": "2024-04-01-preview", + "request": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + } + }, + "responses": { + "201": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd", + "x-ms-long-running-operation": true, + "Azure-AsyncOperation": "https://management.azure.com/subscriptions34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1?api-version=2021-07-01" + }, + "body": { + "name": "privateEndpointConnection1", + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1", + "type": "Microsoft.Purview/accounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + } + }, + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "name": "privateEndpointConnection1", + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1", + "type": "Microsoft.Purview/accounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateEndpointConnections_Delete.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..ffee7596c5aa --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateEndpointConnections_Delete.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "subscriptionId": "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "privateEndpointConnectionName": "privateEndpointConnection1", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + } + }, + "202": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd", + "x-ms-long-running-operation": true, + "Azure-AsyncOperation": "https://management.azure.com/subscriptions34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1?api-version=2021-07-01" + } + }, + "204": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateEndpointConnections_Get.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..0b9a27185891 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateEndpointConnections_Get.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "privateEndpointConnectionName": "privateEndpointConnection1", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "name": "privateEndpointConnection1", + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1", + "type": "Microsoft.Purview/accounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateEndpointConnections_ListByAccount.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateEndpointConnections_ListByAccount.json new file mode 100644 index 000000000000..9ea1f47d8543 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateEndpointConnections_ListByAccount.json @@ -0,0 +1,53 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 17:33:55 GMT", + "x-ms-request-id": "8e58266a-de42-40d5-b3c4-c6a7e159cfba", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-subscription-reads": "14993", + "x-ms-correlation-request-id": "5d862c55-4de9-4a46-969d-cf1ed3e235ed" + }, + "body": { + "value": [ + { + "name": "privateEndpointConnection1", + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection1", + "type": "Microsoft.Purview/accounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint1" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Approved by johndoe@company.com" + } + } + }, + { + "name": "privateEndpointConnection2", + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateEndpointConnections/privateEndpointConnection2", + "type": "Microsoft.Purview/accounts/privateEndpointConnections", + "properties": { + "provisioningState": "Deleting", + "privateEndpoint": { + "id": "/subscriptions/12345678-1234-1234-12345678abc/resourceGroups/SampleResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Rejected", + "description": "Rejected by johndoe@company.com" + } + } + } + ] + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateLinkResources_GetByGroupId.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateLinkResources_GetByGroupId.json new file mode 100644 index 000000000000..bc28978dda88 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateLinkResources_GetByGroupId.json @@ -0,0 +1,34 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "groupId": "group1", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateLinkResources/plr1", + "name": "plr1", + "type": "Microsoft.Purview/accounts/privateLinkResources", + "properties": { + "groupId": "group1", + "requiredMembers": [ + "group1" + ], + "requiredZoneNames": [ + "privatelinkzone1.service.azure.com" + ] + } + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateLinkResources_ListByAccount.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateLinkResources_ListByAccount.json new file mode 100644 index 000000000000..9bc245ff260c --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/PrivateLinkResources_ListByAccount.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "resourceGroupName": "SampleResourceGroup", + "accountName": "account1", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "value": [ + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateLinkResources/plr1", + "name": "plr1", + "type": "Microsoft.Purview/accounts/privateLinkResources", + "properties": { + "groupId": "account1", + "requiredMembers": [ + "account1" + ], + "requiredZoneNames": [ + "privatelinkzone1.service.azure.com" + ] + } + }, + { + "id": "/subscriptions/34adfa4f-cedf-4dc0-ba29-b6d1a69ab345/resourceGroups/SampleResourceGroup/providers/Microsoft.Purview/accounts/account1/privateLinkResources/plr2", + "name": "plr2", + "type": "Microsoft.Purview/accounts/privateLinkResources", + "properties": { + "groupId": "account2", + "requiredMembers": [ + "account2" + ], + "requiredZoneNames": [ + "privatelinkzone2.service.azure.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Usages_Get.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Usages_Get.json new file mode 100644 index 000000000000..0e179735916b --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/examples/Usages_Get.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "subscriptionId": "12345678-1234-1234-12345678abc", + "location": "West US 2", + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "headers": { + "Date": "Wed, 13 Sep 2017 18:04:32 GMT", + "x-ms-request-id": "d5496da4-9c52-402f-b067-83cc9ddea888", + "X-Content-Type-Options": "nosniff", + "x-ms-ratelimit-remaining-tenant-reads": "14999", + "x-ms-correlation-request-id": "25c78f97-0b0a-4fe9-ad39-883a482265cd" + }, + "body": { + "value": [ + { + "unit": "Count", + "currentValue": 1, + "limit": 3, + "id": "", + "name": { + "value": "Purview-Account-Subscription", + "localizedValue": "Purview-Account-Subscription" + } + }, + { + "unit": "Count", + "currentValue": 2, + "limit": 3, + "id": "", + "name": { + "value": "Purview-Account-Tenant", + "localizedValue": "Purview-Account-Tenant" + } + } + ] + } + } + } +} diff --git a/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/purview.json b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/purview.json new file mode 100644 index 000000000000..4e6d9614bb85 --- /dev/null +++ b/specification/purview/resource-manager/Microsoft.Purview/preview/2024-04-01-preview/purview.json @@ -0,0 +1,3060 @@ +{ + "swagger": "2.0", + "info": { + "title": "PurviewManagementClient", + "description": "Creates a Microsoft.Purview management client.", + "version": "2024-04-01-preview" + }, + "host": "management.azure.com", + "schemes": [ + "https" + ], + "paths": { + "/subscriptions/{subscriptionId}/providers/Microsoft.Purview/accounts": { + "get": { + "tags": [ + "Account" + ], + "summary": "Gets the accounts resources by subscription.", + "description": "List accounts in Subscription", + "operationId": "Accounts_ListBySubscription", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "$skipToken", + "description": "The skip token.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Accounts_ListBySubscription": { + "$ref": "./examples/Accounts_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts": { + "get": { + "tags": [ + "Account" + ], + "summary": "Gets the accounts resources by resource group.", + "description": "List accounts in ResourceGroup", + "operationId": "Accounts_ListByResourceGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "$skipToken", + "description": "The skip token.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Accounts_ListByResourceGroup": { + "$ref": "./examples/Accounts_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}": { + "get": { + "tags": [ + "Account" + ], + "summary": "Gets the account resource.", + "description": "Get an account", + "operationId": "Accounts_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Accounts_Get": { + "$ref": "./examples/Accounts_Get.json" + } + } + }, + "put": { + "tags": [ + "Account" + ], + "summary": "Create or update an account resource.", + "description": "Creates or updates an account", + "operationId": "Accounts_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "account", + "description": "The account.", + "required": true, + "schema": { + "$ref": "#/definitions/Account" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Accounts_CreateOrUpdate": { + "$ref": "./examples/Accounts_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "Account" + ], + "summary": "Deletes the account resource.", + "description": "Deletes an account resource", + "operationId": "Accounts_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Accounts_Delete": { + "$ref": "./examples/Accounts_Delete.json" + } + }, + "x-ms-long-running-operation": true + }, + "patch": { + "tags": [ + "Account" + ], + "summary": "Patches the account resource.", + "description": "Updates an account", + "operationId": "Accounts_Update", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "accountUpdateParameters", + "description": "The account update parameters.", + "required": true, + "schema": { + "$ref": "#/definitions/AccountUpdateParameters" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "202": { + "description": "Accepted", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Accounts_Update": { + "$ref": "./examples/Accounts_Update.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/addRootCollectionAdmin": { + "post": { + "tags": [ + "Account" + ], + "summary": "Add the administrator for root collection.", + "description": "Add the administrator for root collection associated with this account.", + "operationId": "Accounts_AddRootCollectionAdmin", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "collectionAdminUpdate", + "description": "The collection admin update payload.", + "required": true, + "schema": { + "$ref": "#/definitions/CollectionAdminUpdate" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Accounts_AddRootCollectionAdmin": { + "$ref": "./examples/Accounts_AddRootCollectionAdmin.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/listkeys": { + "post": { + "tags": [ + "Account" + ], + "summary": "Lists the keys asynchronous.", + "description": "List the authorization keys associated with this account.", + "operationId": "Accounts_ListKeys", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/AccessKeys" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Accounts_ListKeys": { + "$ref": "./examples/Accounts_ListKeys.json" + } + } + } + }, + "/providers/Microsoft.Purview/getDefaultAccount": { + "get": { + "tags": [ + "DefaultAccount" + ], + "summary": "Gets the default account information set for the scope.", + "description": "Get the default account for the scope.", + "operationId": "DefaultAccounts_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "scopeTenantId", + "description": "The tenant ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "in": "query", + "name": "scopeType", + "description": "The scope for the default account.", + "required": true, + "type": "string", + "enum": [ + "Tenant", + "Subscription" + ], + "x-ms-enum": { + "name": "ScopeType", + "modelAsString": true + } + }, + { + "in": "query", + "name": "scope", + "description": "The Id of the scope object, for example if the scope is \"Subscription\" then it is the ID of that subscription.", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DefaultAccountPayload" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "DefaultAccounts_Get": { + "$ref": "./examples/DefaultAccounts_Get.json" + } + } + } + }, + "/providers/Microsoft.Purview/removeDefaultAccount": { + "post": { + "tags": [ + "DefaultAccount" + ], + "summary": "Removes the default account from the scope.", + "description": "Removes the default account from the scope.", + "operationId": "DefaultAccounts_Remove", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "query", + "name": "scopeTenantId", + "description": "The tenant ID.", + "required": true, + "type": "string", + "format": "uuid" + }, + { + "in": "query", + "name": "scopeType", + "description": "The scope for the default account.", + "required": true, + "type": "string", + "enum": [ + "Tenant", + "Subscription" + ], + "x-ms-enum": { + "name": "ScopeType", + "modelAsString": true + } + }, + { + "in": "query", + "name": "scope", + "description": "The Id of the scope object, for example if the scope is \"Subscription\" then it is the ID of that subscription.", + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "DefaultAccounts_Remove": { + "$ref": "./examples/DefaultAccounts_Remove.json" + } + } + } + }, + "/providers/Microsoft.Purview/setDefaultAccount": { + "post": { + "tags": [ + "DefaultAccount" + ], + "summary": "Sets the default account for the scope.", + "description": "Sets the default account for the scope.", + "operationId": "DefaultAccounts_Set", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "defaultAccountPayload", + "description": "The payload containing the default account information and the scope.", + "required": true, + "schema": { + "$ref": "#/definitions/DefaultAccountPayload" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/DefaultAccountPayload" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "DefaultAccounts_Set": { + "$ref": "./examples/DefaultAccounts_Set.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Purview/locations/{locations}/listFeatures": { + "post": { + "tags": [ + "Feature" + ], + "summary": "Gets a list of features and their status for the location and subscription.\r\nStatus of enabled features will be true. Status of disabled features will be false.\r\nFeatures that don't exist will be excluded from the results.", + "description": "Gets details from a list of feature names.", + "operationId": "Features_SubscriptionGet", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "in": "path", + "name": "locations", + "description": "Location of feature.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "featureRequest", + "description": "Request body with feature names.", + "required": true, + "schema": { + "$ref": "#/definitions/BatchFeatureRequest" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/BatchFeatureStatus" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Features_SubscriptionGet": { + "$ref": "./examples/Features_SubscriptionGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/listFeatures": { + "post": { + "tags": [ + "Feature" + ], + "summary": "Gets a list of features and their status for the account.\r\nStatus of enabled features will be true. Status of disabled features will be false.\r\nFeatures that don't exist will be excluded from the results.", + "description": "Gets details from a list of feature names.", + "operationId": "Features_AccountGet", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "featureRequest", + "description": "Request body with feature names.", + "required": true, + "schema": { + "$ref": "#/definitions/BatchFeatureRequest" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/BatchFeatureStatus" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Features_AccountGet": { + "$ref": "./examples/Features_AccountGet.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/ingestionPrivateEndpointConnections": { + "get": { + "tags": [ + "IngestionPrivateEndpoint" + ], + "summary": "Lists all ingestion private endpoint connections.", + "description": "Lists all ingestion private endpoint connections", + "operationId": "IngestionPrivateEndpointConnections_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "IngestionPrivateEndpointConnections_List": { + "$ref": "./examples/IngestionPrivateEndpointConnections_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/ingestionPrivateEndpointConnectionStatus": { + "post": { + "tags": [ + "IngestionPrivateEndpoint" + ], + "summary": "Updates ingestion private endpoint connection status.", + "description": "Update ingestion private endpoint connection status", + "operationId": "IngestionPrivateEndpointConnections_UpdateStatus", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "request", + "description": "The ingestion private endpoint connection status update request.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionStatusUpdateRequest" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionStatusUpdateResponse" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "IngestionPrivateEndpointConnections_UpdateStatus": { + "$ref": "./examples/IngestionPrivateEndpointConnections_UpdateStatus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/kafkaConfigurations": { + "get": { + "tags": [ + "KafkaConfiguration" + ], + "summary": "Gets the list of Kafka configurations for the account.", + "description": "Lists the Kafka configurations in the Account", + "operationId": "KafkaConfigurations_ListByAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "$skipToken", + "description": "The skip token.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/KafkaConfigurationList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "KafkaConfigurations_ListByAccount": { + "$ref": "./examples/KafkaConfigurations_ListByAccount.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/kafkaConfigurations/{kafkaConfigurationName}": { + "get": { + "tags": [ + "KafkaConfiguration" + ], + "summary": "Gets the kafka configuration.", + "description": "Gets the kafka configuration for the account", + "operationId": "KafkaConfigurations_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "in": "path", + "name": "kafkaConfigurationName", + "description": "Name of kafka configuration.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/KafkaConfiguration" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "KafkaConfigurations_Get": { + "$ref": "./examples/KafkaConfigurations_Get.json" + } + } + }, + "put": { + "tags": [ + "KafkaConfiguration" + ], + "summary": "Create or update the kafka configuration.", + "description": "Create or update Kafka Configuration", + "operationId": "KafkaConfigurations_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "in": "path", + "name": "kafkaConfigurationName", + "description": "The kafka configuration name.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "kafkaConfiguration", + "description": "The kafka configuration of the account.", + "required": true, + "schema": { + "$ref": "#/definitions/KafkaConfiguration" + } + } + ], + "responses": { + "200": { + "description": "Create or Update Successful", + "schema": { + "$ref": "#/definitions/KafkaConfiguration" + } + }, + "201": { + "description": "Create or Update Successful", + "schema": { + "$ref": "#/definitions/KafkaConfiguration" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "KafkaConfigurations_CreateOrUpdate": { + "$ref": "./examples/KafkaConfigurations_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "KafkaConfiguration" + ], + "summary": "Deletes the kafka configuration on the account.", + "description": "Deletes a KafkaConfiguration resource.", + "operationId": "KafkaConfigurations_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "in": "path", + "name": "kafkaConfigurationName", + "description": "Name of kafka configuration.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "KafkaConfigurations_Delete": { + "$ref": "./examples/KafkaConfigurations_Delete.json" + } + } + } + }, + "/providers/Microsoft.Purview/operations": { + "get": { + "tags": [ + "Operation" + ], + "summary": "Lists the available operations", + "description": "List of available operations", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "summary": "Gets private endpoint connections.", + "description": "Get private endpoint connections for account", + "operationId": "PrivateEndpointConnections_ListByAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "$skipToken", + "description": "The skip token.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "PrivateEndpointConnections_ListByAccount": { + "$ref": "./examples/PrivateEndpointConnections_ListByAccount.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnection" + ], + "summary": "Gets private endpoint connection information.", + "description": "Get a private endpoint connection", + "operationId": "PrivateEndpointConnections_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "in": "path", + "name": "privateEndpointConnectionName", + "description": "Name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Get": { + "$ref": "./examples/PrivateEndpointConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnection" + ], + "summary": "Approves/Rejects private endpoint connection request.", + "description": "Create or update a private endpoint connection", + "operationId": "PrivateEndpointConnections_CreateOrUpdate", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "in": "path", + "name": "privateEndpointConnectionName", + "description": "Name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "request", + "description": "The request.", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "Created", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_CreateOrUpdate": { + "$ref": "./examples/PrivateEndpointConnections_CreateOrUpdate.json" + } + }, + "x-ms-long-running-operation": true + }, + "delete": { + "tags": [ + "PrivateEndpointConnection" + ], + "summary": "Deletes private endpoint connection.", + "description": "Delete a private endpoint connection", + "operationId": "PrivateEndpointConnections_Delete", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "in": "path", + "name": "privateEndpointConnectionName", + "description": "Name of the private endpoint connection.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "202": { + "description": "Accepted" + }, + "204": { + "description": "No Content" + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnections_Delete": { + "$ref": "./examples/PrivateEndpointConnections_Delete.json" + } + }, + "x-ms-long-running-operation": true + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResource" + ], + "summary": "Gets a list of privately linkable resources for an account.", + "description": "Gets a list of privately linkable resources for an account", + "operationId": "PrivateLinkResources_ListByAccount", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + }, + "x-ms-examples": { + "PrivateLinkResources_ListByAccount": { + "$ref": "./examples/PrivateLinkResources_ListByAccount.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Purview/accounts/{accountName}/privateLinkResources/{groupId}": { + "get": { + "tags": [ + "PrivateLinkResource" + ], + "summary": "Gets a privately linkable resources for an account with given group identifier.", + "description": "Gets a privately linkable resources for an account with given group identifier", + "operationId": "PrivateLinkResources_GetByGroupId", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/resourceGroupName" + }, + { + "$ref": "#/parameters/accountName" + }, + { + "in": "path", + "name": "groupId", + "description": "The group identifier.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "PrivateLinkResources_GetByGroupId": { + "$ref": "./examples/PrivateLinkResources_GetByGroupId.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Purview/checkNameAvailability": { + "post": { + "tags": [ + "Provider" + ], + "summary": "Checks the account name availability.", + "description": "Checks if account name is available.", + "operationId": "Accounts_CheckNameAvailability", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "body", + "name": "checkNameAvailabilityRequest", + "description": "The check name availability request.", + "required": true, + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityRequest" + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Accounts_CheckNameAvailability": { + "$ref": "./examples/Accounts_CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.Purview/locations/{location}/usages": { + "get": { + "tags": [ + "Usages" + ], + "summary": "Gets the Usage quota configuration.", + "description": "Get the usage quota configuration", + "operationId": "Usages_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/subscriptionId" + }, + { + "in": "path", + "name": "location", + "description": "The region.", + "required": true, + "type": "string" + }, + { + "$ref": "#/parameters/api-version" + }, + { + "in": "query", + "name": "$filter", + "description": "The filter, currently unused.", + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/UsageList" + } + }, + "default": { + "description": "An error response received from the provider.", + "schema": { + "$ref": "#/definitions/ErrorResponseModel" + } + } + }, + "x-ms-examples": { + "Usages_Get": { + "$ref": "./examples/Usages_Get.json" + } + } + } + } + }, + "definitions": { + "AccessKeys": { + "description": "The Purview Account access keys.", + "type": "object", + "properties": { + "atlasKafkaPrimaryEndpoint": { + "description": "Gets or sets the primary connection string.", + "type": "string" + }, + "atlasKafkaSecondaryEndpoint": { + "description": "Gets or sets the secondary connection string.", + "type": "string" + } + } + }, + "Account": { + "description": "Account resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/TrackedResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/AccountProperties", + "x-ms-client-flatten": true + }, + "sku": { + "description": "Gets or sets the Sku.", + "allOf": [ + { + "$ref": "#/definitions/AccountSku" + } + ] + } + } + }, + "AccountEndpoints": { + "description": "The account endpoints", + "type": "object", + "properties": { + "catalog": { + "description": "Gets the catalog endpoint.", + "type": "string", + "readOnly": true + }, + "scan": { + "description": "Gets the scan endpoint.", + "type": "string", + "readOnly": true + } + } + }, + "AccountList": { + "description": "Paged list of Account resources", + "required": [ + "value" + ], + "type": "object", + "properties": { + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type results.", + "type": "array", + "items": { + "$ref": "#/definitions/Account" + }, + "x-ms-identifiers": [] + } + } + }, + "AccountMergeInfo": { + "description": "The public Account Merge Info model.", + "type": "object", + "properties": { + "accountLocation": { + "description": "The account location of the *other* account in the merge operation.", + "type": "string", + "readOnly": true + }, + "accountName": { + "description": "The account name of the *other* account in the merge operation.", + "type": "string", + "readOnly": true + }, + "accountResourceGroupName": { + "description": "The resource group name of the *other* account in the merge operation.", + "type": "string", + "readOnly": true + }, + "accountSubscriptionId": { + "description": "The subscription id of the *other* account in the merge operation.", + "type": "string", + "readOnly": true + }, + "deprovisioned": { + "description": "The deprovisioned status of the account.\r\nOnly applicable for the secondary account.", + "type": "boolean", + "readOnly": true + }, + "mergeStatus": { + "description": "The status of the merge operation.", + "enum": [ + "Succeeded", + "Failed", + "InProgress" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MergeStatus", + "modelAsString": true + } + }, + "typeOfAccount": { + "description": "The account's type for the merge operation.", + "enum": [ + "Primary", + "Secondary" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "MergeAccountType", + "modelAsString": true + } + } + } + }, + "AccountProperties": { + "description": "The account properties", + "type": "object", + "properties": { + "accountStatus": { + "description": "Gets or sets the status of the account.", + "allOf": [ + { + "$ref": "#/definitions/AccountStatus" + } + ], + "readOnly": true + }, + "cloudConnectors": { + "$ref": "#/definitions/CloudConnectors" + }, + "createdAt": { + "format": "date-time", + "description": "Gets the time at which the entity was created.", + "type": "string", + "readOnly": true + }, + "createdBy": { + "description": "Gets the creator of the entity.", + "type": "string", + "readOnly": true + }, + "createdByObjectId": { + "description": "Gets the creators of the entity's object id.", + "type": "string", + "readOnly": true + }, + "defaultDomain": { + "description": "Gets the default domain in the account.", + "type": "string", + "readOnly": true + }, + "endpoints": { + "description": "The URIs that are the public endpoints of the account.", + "allOf": [ + { + "$ref": "#/definitions/AccountEndpoints" + } + ], + "readOnly": true + }, + "friendlyName": { + "description": "Gets or sets the friendly name.", + "type": "string", + "readOnly": true + }, + "ingestionStorage": { + "$ref": "#/definitions/IngestionStorage" + }, + "managedEventHubState": { + "description": "Gets or sets the state of managed eventhub. If enabled managed eventhub will be created, if disabled the managed eventhub will be removed.", + "default": "NotSpecified", + "enum": [ + "NotSpecified", + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedEventHubState", + "modelAsString": true + } + }, + "managedResourceGroupName": { + "description": "Gets or sets the managed resource group name", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "managedResources": { + "description": "Gets the resource identifiers of the managed resources.", + "allOf": [ + { + "$ref": "#/definitions/ManagedResources" + } + ], + "readOnly": true + }, + "managedResourcesPublicNetworkAccess": { + "description": "Gets or sets the public network access for managed resources.", + "default": "NotSpecified", + "enum": [ + "NotSpecified", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "mergeInfo": { + "description": "Gets or sets the Merge Info.", + "$ref": "#/definitions/AccountMergeInfo" + }, + "privateEndpointConnections": { + "description": "Gets the private endpoint connections information.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "provisioningState": { + "description": "Gets or sets the state of the provisioning.", + "enum": [ + "Unknown", + "Creating", + "Moving", + "Deleting", + "SoftDeleting", + "SoftDeleted", + "Failed", + "Succeeded", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "publicNetworkAccess": { + "description": "Gets or sets the public network access.", + "default": "Enabled", + "enum": [ + "NotSpecified", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "tenantEndpointState": { + "description": "Gets or sets the state of tenant endpoint.", + "enum": [ + "NotSpecified", + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "TenantEndpointState", + "modelAsString": true + } + } + } + }, + "AccountSku": { + "description": "The Sku", + "type": "object", + "properties": { + "capacity": { + "format": "int32", + "description": "Gets or sets the sku capacity.", + "type": "integer" + }, + "name": { + "description": "Gets or sets the sku name.", + "enum": [ + "Standard", + "Free" + ], + "type": "string", + "x-ms-enum": { + "name": "AccountSkuName", + "modelAsString": true + } + } + } + }, + "AccountStatus": { + "description": "The account status.", + "type": "object", + "properties": { + "accountProvisioningState": { + "description": "Gets the account status code.", + "enum": [ + "Unknown", + "Creating", + "Updating", + "Moving", + "Deleting", + "SoftDeleting", + "SoftDeleted", + "Failed", + "Succeeded", + "Canceled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "AccountProvisioningState", + "modelAsString": true + } + }, + "errorDetails": { + "description": "Gets the account error details.", + "allOf": [ + { + "$ref": "#/definitions/ErrorModel" + } + ], + "readOnly": true + } + } + }, + "AccountUpdateParameters": { + "description": "The account update properties.", + "type": "object", + "properties": { + "identity": { + "$ref": "#/definitions/Identity" + }, + "properties": { + "$ref": "#/definitions/AccountProperties", + "x-ms-client-flatten": true + }, + "tags": { + "description": "Tags on the azure resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "BatchFeatureRequest": { + "description": "Feature request model", + "type": "object", + "properties": { + "features": { + "description": "Set of features", + "uniqueItems": true, + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + } + } + }, + "BatchFeatureStatus": { + "description": "List of features with enabled status", + "type": "object", + "properties": { + "features": { + "description": "Features with enabled status", + "type": "object", + "additionalProperties": { + "type": "boolean" + }, + "readOnly": true + } + } + }, + "CheckNameAvailabilityRequest": { + "description": "The request payload for CheckNameAvailability API", + "type": "object", + "properties": { + "name": { + "description": "Resource name to verify for availability", + "type": "string" + }, + "type": { + "description": "Fully qualified resource type which includes provider namespace", + "type": "string" + } + } + }, + "CheckNameAvailabilityResult": { + "description": "The response payload for CheckNameAvailability API", + "type": "object", + "properties": { + "message": { + "description": "Error message", + "type": "string" + }, + "nameAvailable": { + "description": "Indicates if name is valid and available.", + "type": "boolean" + }, + "reason": { + "description": "The reason the name is not available.", + "enum": [ + "Invalid", + "AlreadyExists" + ], + "type": "string", + "x-ms-enum": { + "name": "reason", + "modelAsString": true + } + } + } + }, + "CloudConnectors": { + "description": "External Cloud Service connectors", + "type": "object", + "properties": { + "awsExternalId": { + "description": "AWS external identifier.\r\nConfigured in AWS to allow use of the role arn used for scanning", + "type": "string", + "readOnly": true + } + } + }, + "CollectionAdminUpdate": { + "description": "Collection administrator update.", + "type": "object", + "properties": { + "objectId": { + "description": "Gets or sets the object identifier of the admin.", + "type": "string" + } + } + }, + "Consent": { + "description": "Consent extension resource", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "kind": { + "description": "Gets or sets the consent kind.", + "enum": [ + "Metadata", + "Governance" + ], + "type": "string", + "x-ms-enum": { + "name": "ConsentKind", + "modelAsString": true + } + }, + "properties": { + "$ref": "#/definitions/ConsentProperties", + "x-ms-client-flatten": true + } + } + }, + "ConsentProperties": { + "description": "The consent properties", + "type": "object", + "properties": { + "scope": { + "type": "string", + "readOnly": true + }, + "scopeType": { + "description": "Defines consent scope type.", + "enum": [ + "Azure", + "Fabric", + "Databricks", + "Snowflake", + "S3" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ConsentScopeType", + "modelAsString": true + } + }, + "status": { + "description": "Defines consent status.", + "enum": [ + "NotSpecified", + "Enabled", + "Disabled" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ConsentStatus", + "modelAsString": true + } + } + } + }, + "Credentials": { + "description": "Credentials to access the event streaming service attached to the purview account.", + "type": "object", + "properties": { + "identityId": { + "description": "Identity identifier for UserAssign type.", + "type": "string" + }, + "type": { + "description": "Identity Type.", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "KafkaConfigurationIdentityType", + "modelAsString": true + } + } + } + }, + "DefaultAccountPayload": { + "description": "Payload to get and set the default account in the given scope", + "type": "object", + "properties": { + "accountName": { + "description": "The name of the account that is set as the default.", + "type": "string" + }, + "resourceGroupName": { + "description": "The resource group name of the account that is set as the default.", + "type": "string" + }, + "scope": { + "description": "The scope object ID. For example, sub ID or tenant ID.", + "type": "string" + }, + "scopeTenantId": { + "description": "The scope tenant in which the default account is set.", + "type": "string" + }, + "scopeType": { + "description": "The scope where the default account is set.", + "enum": [ + "Tenant", + "Subscription" + ], + "type": "string", + "x-ms-enum": { + "name": "ScopeType", + "modelAsString": true + } + }, + "subscriptionId": { + "description": "The subscription ID of the account that is set as the default.", + "type": "string" + } + } + }, + "DimensionProperties": { + "description": "properties for dimension", + "type": "object", + "properties": { + "displayName": { + "description": "localized display name of the dimension to customer", + "type": "string" + }, + "name": { + "description": "dimension name", + "type": "string" + }, + "toBeExportedForCustomer": { + "description": "flag indicating whether this dimension should be included to the customer in Azure Monitor logs (aka Shoebox)", + "type": "boolean" + } + } + }, + "ErrorModel": { + "description": "Default error model", + "type": "object", + "properties": { + "code": { + "description": "Gets or sets the code.", + "type": "string", + "readOnly": true + }, + "details": { + "description": "Gets or sets the details.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorModel" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "message": { + "description": "Gets or sets the messages.", + "type": "string", + "readOnly": true + }, + "target": { + "description": "Gets or sets the target.", + "type": "string", + "readOnly": true + } + } + }, + "ErrorResponseModel": { + "description": "Default error response model", + "type": "object", + "properties": { + "error": { + "description": "Gets or sets the error.", + "allOf": [ + { + "$ref": "#/definitions/ErrorModel" + } + ], + "readOnly": true + } + } + }, + "Identity": { + "description": "The Managed Identity of the resource", + "type": "object", + "properties": { + "principalId": { + "description": "Service principal object Id", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Tenant Id", + "type": "string", + "readOnly": true + }, + "type": { + "description": "Identity Type", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": true + } + }, + "userAssignedIdentities": { + "description": "User Assigned Identities", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentity" + } + } + } + }, + "IngestionStorage": { + "description": "Ingestion Storage Account Info", + "type": "object", + "properties": { + "id": { + "description": "Gets or sets the Id.", + "type": "string", + "readOnly": true + }, + "primaryEndpoint": { + "description": "Gets or sets the primary endpoint.", + "type": "string", + "readOnly": true + }, + "publicNetworkAccess": { + "description": "Gets or sets the public network access setting", + "enum": [ + "NotSpecified", + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + } + } + }, + "KafkaConfiguration": { + "description": "The configuration of the event streaming service resource attached to the Purview account for kafka notifications.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/KafkaConfigurationProperties", + "x-ms-client-flatten": true + } + } + }, + "KafkaConfigurationList": { + "description": "Paged list of kafka configuration resources", + "required": [ + "value" + ], + "type": "object", + "properties": { + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type results.", + "type": "array", + "items": { + "$ref": "#/definitions/KafkaConfiguration" + }, + "x-ms-identifiers": [] + } + } + }, + "KafkaConfigurationProperties": { + "description": "The kafka configuration properties of the event streaming service attached to the Purview account for kafka notifications.", + "type": "object", + "properties": { + "consumerGroup": { + "description": "Consumer group for hook event hub.", + "type": "string" + }, + "credentials": { + "$ref": "#/definitions/Credentials" + }, + "eventHubPartitionId": { + "description": "Optional partition Id for notification event hub. If not set, all partitions will be leveraged.", + "type": "string" + }, + "eventHubResourceId": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.EventHub/namespaces/eventHubs" + } + ] + } + }, + "eventHubType": { + "description": "The event hub type.", + "enum": [ + "Notification", + "Hook" + ], + "type": "string", + "x-ms-enum": { + "name": "EventHubType", + "modelAsString": true + } + }, + "eventStreamingState": { + "description": "The state of the event streaming service", + "default": "Enabled", + "enum": [ + "Disabled", + "Enabled" + ], + "type": "string", + "x-ms-enum": { + "name": "EventStreamingState", + "modelAsString": true + } + }, + "eventStreamingType": { + "description": "The event streaming service type", + "default": "None", + "enum": [ + "None", + "Managed", + "Azure" + ], + "type": "string", + "x-ms-enum": { + "name": "EventStreamingType", + "modelAsString": true + } + } + } + }, + "ManagedResources": { + "description": "The managed resources in customer subscription.", + "type": "object", + "properties": { + "eventHubNamespace": { + "description": "Gets the managed event hub namespace resource identifier.", + "type": "string", + "readOnly": true + }, + "resourceGroup": { + "description": "Gets the managed resource group resource identifier. This resource group will host resource dependencies for the account.", + "type": "string", + "readOnly": true + }, + "storageAccount": { + "description": "Gets the managed storage account resource identifier.", + "type": "string", + "readOnly": true + } + } + }, + "Operation": { + "description": "Operation resource", + "type": "object", + "properties": { + "display": { + "$ref": "#/definitions/OperationDisplay" + }, + "isDataAction": { + "description": "Whether operation is a data action", + "type": "boolean" + }, + "name": { + "description": "Operation name for display purposes", + "type": "string" + }, + "origin": { + "description": "origin of the operation", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/OperationProperties", + "x-ms-client-flatten": true + } + } + }, + "OperationDisplay": { + "description": "The response model for get operation properties", + "type": "object", + "properties": { + "description": { + "description": "Description of the operation for display purposes", + "type": "string" + }, + "operation": { + "description": "Name of the operation for display purposes", + "type": "string" + }, + "provider": { + "description": "Name of the provider for display purposes", + "type": "string" + }, + "resource": { + "description": "Name of the resource type for display purposes", + "type": "string" + } + } + }, + "OperationList": { + "description": "Paged list of operation resources", + "required": [ + "value" + ], + "type": "object", + "properties": { + "count": { + "format": "int64", + "description": "Total item count.", + "type": "integer" + }, + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type results.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [] + } + } + }, + "OperationMetaLogSpecification": { + "description": "log specifications for operation api", + "type": "object", + "properties": { + "blobDuration": { + "description": "blob duration of the log", + "type": "string" + }, + "displayName": { + "description": "localized name of the log category", + "type": "string" + }, + "name": { + "description": "name of the log category", + "type": "string" + } + } + }, + "OperationMetaMetricSpecification": { + "description": "metric specifications for the operation", + "type": "object", + "properties": { + "aggregationType": { + "description": "aggregation type of metric", + "type": "string" + }, + "dimensions": { + "description": "properties for dimension", + "type": "array", + "items": { + "$ref": "#/definitions/DimensionProperties" + }, + "x-ms-identifiers": [] + }, + "displayDescription": { + "description": "description of the metric", + "type": "string" + }, + "displayName": { + "description": "localized name of the metric", + "type": "string" + }, + "enableRegionalMdmAccount": { + "description": "enable regional mdm account", + "type": "string" + }, + "internalMetricName": { + "description": "internal metric name", + "type": "string" + }, + "name": { + "description": "name of the metric", + "type": "string" + }, + "resourceIdDimensionNameOverride": { + "description": "dimension name use to replace resource id if specified", + "type": "string" + }, + "sourceMdmNamespace": { + "description": "Metric namespace.\r\nOnly set the namespace if different from the default value, \r\nleaving it empty makes it use the value from the ARM manifest.", + "type": "string" + }, + "supportedAggregationTypes": { + "description": "supported aggregation types", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "supportedTimeGrainTypes": { + "description": "supported time grain types", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "unit": { + "description": "units for the metric", + "type": "string" + } + } + }, + "OperationMetaServiceSpecification": { + "description": "The operation meta service specification", + "type": "object", + "properties": { + "logSpecifications": { + "description": "log specifications for the operation", + "type": "array", + "items": { + "$ref": "#/definitions/OperationMetaLogSpecification" + }, + "x-ms-identifiers": [] + }, + "metricSpecifications": { + "description": "metric specifications for the operation", + "type": "array", + "items": { + "$ref": "#/definitions/OperationMetaMetricSpecification" + }, + "x-ms-identifiers": [] + } + } + }, + "OperationProperties": { + "description": "properties on meta info", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/OperationMetaServiceSpecification" + } + } + }, + "PrivateEndpoint": { + "description": "A private endpoint class.", + "type": "object", + "properties": { + "id": { + "description": "The private endpoint identifier.", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection class.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/PrivateEndpointConnectionProperties", + "description": "The connection identifier.", + "x-ms-client-flatten": true + } + } + }, + "PrivateEndpointConnectionList": { + "description": "Paged list of private endpoint connections", + "required": [ + "value" + ], + "type": "object", + "properties": { + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type results.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "x-ms-identifiers": [] + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "A private endpoint connection properties class.", + "type": "object", + "properties": { + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint", + "description": "The private endpoint information." + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState", + "description": "The private link service connection state." + }, + "provisioningState": { + "description": "The provisioning state.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateEndpointConnectionStatusUpdateRequest": { + "description": "A private endpoint connection status update request class.", + "type": "object", + "properties": { + "privateEndpointId": { + "description": "The private endpoint resource identifier.", + "type": "string" + }, + "status": { + "description": "The private endpoint connection status.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionStatusUpdateResponse": { + "description": "A private endpoint connection status update response class.", + "type": "object", + "properties": { + "privateEndpointId": { + "description": "The private endpoint resource identifier.", + "type": "string" + }, + "status": { + "description": "The private endpoint connection status.", + "type": "string" + } + } + }, + "PrivateLinkResource": { + "description": "A privately linkable resource.", + "type": "object", + "properties": { + "id": { + "description": "The private link resource identifier.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "The private link resource name.", + "type": "string", + "readOnly": true + }, + "properties": { + "$ref": "#/definitions/PrivateLinkResourceProperties", + "description": "The private link resource properties.", + "readOnly": true, + "x-ms-client-flatten": true + }, + "type": { + "description": "The private link resource type.", + "type": "string", + "readOnly": true + } + } + }, + "PrivateLinkResourceList": { + "description": "Paged list of private link resources", + "required": [ + "value" + ], + "type": "object", + "properties": { + "nextLink": { + "description": "The Url of next result page.", + "type": "string" + }, + "value": { + "description": "Collection of items of type results.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "x-ms-identifiers": [] + } + } + }, + "PrivateLinkResourceProperties": { + "description": "A privately linkable resource properties.", + "type": "object", + "properties": { + "groupId": { + "description": "The private link resource group identifier.", + "type": "string", + "readOnly": true + }, + "requiredMembers": { + "description": "This translates to how many Private IPs should be created for each privately linkable resource.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + }, + "requiredZoneNames": { + "description": "The required zone names for private link resource.", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "The private link service connection state.", + "type": "object", + "properties": { + "actionsRequired": { + "description": "The required actions.", + "type": "string" + }, + "description": { + "description": "The description.", + "type": "string" + }, + "status": { + "description": "The status.", + "enum": [ + "Unknown", + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateEndpointConnectionStatus", + "modelAsString": true + } + } + } + }, + "ProxyResource": { + "description": "Proxy Azure Resource", + "type": "object", + "properties": { + "id": { + "description": "Gets or sets the identifier.", + "type": "string", + "readOnly": true + }, + "name": { + "description": "Gets or sets the name.", + "type": "string", + "readOnly": true + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "allOf": [ + { + "$ref": "#/definitions/SystemData" + } + ], + "readOnly": true + }, + "type": { + "description": "Gets or sets the type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "QuotaName": { + "description": "Quota name", + "type": "object", + "properties": { + "localizedValue": { + "description": "Gets or sets the localized name value.", + "type": "string" + }, + "value": { + "description": "Gets or sets the name value.", + "type": "string" + } + } + }, + "SystemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "type": "object", + "properties": { + "createdAt": { + "format": "date-time", + "description": "The timestamp of resource creation (UTC).", + "type": "string", + "readOnly": true + }, + "createdBy": { + "description": "The identity that created the resource.", + "type": "string", + "readOnly": true + }, + "createdByType": { + "description": "The type of identity that created the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "createdByType", + "modelAsString": true + } + }, + "lastModifiedAt": { + "format": "date-time", + "description": "The timestamp of the last modification the resource (UTC).", + "type": "string", + "readOnly": true + }, + "lastModifiedBy": { + "description": "The identity that last modified the resource.", + "type": "string", + "readOnly": true + }, + "lastModifiedByType": { + "description": "The type of identity that last modified the resource.", + "enum": [ + "User", + "Application", + "ManagedIdentity", + "Key" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "lastModifiedByType", + "modelAsString": true + } + } + } + }, + "TrackedResource": { + "description": "Azure ARM Tracked Resource", + "type": "object", + "properties": { + "id": { + "description": "Gets or sets the identifier.", + "type": "string", + "readOnly": true + }, + "identity": { + "$ref": "#/definitions/Identity" + }, + "location": { + "description": "Gets or sets the location.", + "type": "string" + }, + "name": { + "description": "Gets or sets the name.", + "type": "string", + "readOnly": true + }, + "systemData": { + "description": "Metadata pertaining to creation and last modification of the resource.", + "allOf": [ + { + "$ref": "#/definitions/SystemData" + } + ], + "readOnly": true + }, + "tags": { + "description": "Tags on the azure resource.", + "type": "object", + "additionalProperties": { + "type": "string" + } + }, + "type": { + "description": "Gets or sets the type.", + "type": "string", + "readOnly": true + } + }, + "x-ms-azure-resource": true + }, + "Usage": { + "description": "Response for usage information", + "type": "object", + "properties": { + "currentValue": { + "format": "int32", + "description": "Current usage quota value", + "type": "integer", + "readOnly": true + }, + "id": { + "description": "Fully qualified resource Id", + "type": "string", + "readOnly": true + }, + "limit": { + "format": "int32", + "description": "Usage quota limit", + "type": "integer", + "readOnly": true + }, + "name": { + "description": "Quota name", + "allOf": [ + { + "$ref": "#/definitions/QuotaName" + } + ], + "readOnly": true + }, + "unit": { + "description": "Quota usage unit.", + "type": "string", + "readOnly": true + } + } + }, + "UsageList": { + "description": "List of usage information", + "type": "object", + "properties": { + "nextLink": { + "description": "The Url of next link.", + "type": "string" + }, + "value": { + "description": "Collection of usage values.", + "type": "array", + "items": { + "$ref": "#/definitions/Usage" + }, + "readOnly": true + } + } + }, + "UserAssignedIdentity": { + "description": "Uses client ID and Principal ID", + "type": "object", + "properties": { + "clientId": { + "description": "Gets or Sets Client ID", + "type": "string", + "readOnly": true + }, + "principalId": { + "description": "Gets or Sets Principal ID", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "subscriptionId": { + "in": "path", + "name": "subscriptionId", + "description": "The subscription identifier", + "required": true, + "type": "string" + }, + "api-version": { + "in": "query", + "name": "api-version", + "description": "The api version to use.", + "required": true, + "type": "string" + }, + "accountName": { + "in": "path", + "name": "accountName", + "description": "The name of the account.", + "required": true, + "type": "string", + "maxLength": 63, + "minLength": 3, + "pattern": "^[A-Za-z0-9]+(?:-[A-Za-z0-9]+)*$", + "x-ms-parameter-location": "method" + }, + "resourceGroupName": { + "in": "path", + "name": "resourceGroupName", + "description": "The resource group name.", + "required": true, + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow." + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ] +} diff --git a/specification/purview/resource-manager/readme.md b/specification/purview/resource-manager/readme.md index 9130731657cc..42b8438911b5 100644 --- a/specification/purview/resource-manager/readme.md +++ b/specification/purview/resource-manager/readme.md @@ -26,7 +26,16 @@ These are the global settings for the Purview API. ``` yaml openapi-type: arm -tag: package-2023-05-01-preview +tag: package-2024-04-01-preview +``` + +### Tag: package-2024-04-01-preview + +These settings apply only when `--tag=package-2024-04-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2024-04-01-preview' +input-file: +- Microsoft.Purview/preview/2024-04-01-preview/purview.json ``` ### Tag: package-2023-05-01-preview @@ -126,7 +135,7 @@ directive: - $.definitions.CheckNameAvailabilityResult.properties.nameAvailable - $.definitions.DimensionProperties.properties.toBeExportedForCustomer reason: - - Check name model is set by ARM team https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/proxy-api-reference.md#check-name-availability-requests + - Check name model is set by ARM team https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/proxy-api-reference.md#check-name-availability-requests - suppress: R2025 # NextLinkPropertyMustExist where: - $.definitions.UsageList.properties.nextLink diff --git a/specification/purviewpolicy/PurviewPolicy.Management/backcompat.tsp b/specification/purviewpolicy/PurviewPolicy.Management/backcompat.tsp index 84328570e6a6..e9c3ff64e9e5 100644 --- a/specification/purviewpolicy/PurviewPolicy.Management/backcompat.tsp +++ b/specification/purviewpolicy/PurviewPolicy.Management/backcompat.tsp @@ -5,7 +5,7 @@ using TypeSpec.Http; using Azure.ResourceManager; @@path(ResourceUriParameter.resourceUri, "scope"); -@@Azure.ResourceManager.Private.armCommonParameter(ResourceUriParameter.resourceUri, +@@Azure.ResourceManager.CommonTypes.Private.armCommonParameter(ResourceUriParameter.resourceUri, "ScopeParameter", Azure.ResourceManager.CommonTypes.Versions.v5 ); diff --git a/specification/quantum/Quantum.Workspace/common/base-operations.tsp b/specification/quantum/Quantum.Workspace/common/base-operations.tsp index 64d0e6e4af81..b1f9552cecdd 100644 --- a/specification/quantum/Quantum.Workspace/common/base-operations.tsp +++ b/specification/quantum/Quantum.Workspace/common/base-operations.tsp @@ -41,10 +41,10 @@ namespace Quantum.Workspace.BaseOperations { /** Operation to patch a resource. */ #suppress "@azure-tools/typespec-azure-core/use-standard-operations" """ - There is no support for JsonPatch in Azure.Core. - The Azure.Core.ResourceUpdate does not support NoContentResponse and the JsonPatchDocument request body. - See https://github.com/Azure/typespec-azure/issues/475 - """ + There is no support for JsonPatch in Azure.Core. + The Azure.Core.ResourceUpdate does not support NoContentResponse and the JsonPatchDocument request body. + See https://github.com/Azure/typespec-azure/issues/475 + """ @updatesResource(Resource) @patch @Azure.Core.Foundations.Private.ensureVerb("PatchOperation", "PATCH") diff --git a/specification/quantum/Quantum.Workspace/main.tsp b/specification/quantum/Quantum.Workspace/main.tsp index ca91b5c67586..66d2637d36e1 100644 --- a/specification/quantum/Quantum.Workspace/main.tsp +++ b/specification/quantum/Quantum.Workspace/main.tsp @@ -52,20 +52,20 @@ using OpenAPI; }) namespace Quantum.Workspace.Services { #suppress "@azure-tools/typespec-azure-core/use-standard-operations" """ - There is no support for JsonPatch in Azure.Core. - The Azure.Core.ResourceUpdate does not support NoContentResponse and the JsonPatchDocument request body. - See https://github.com/Azure/typespec-azure/issues/475 - """ + There is no support for JsonPatch in Azure.Core. + The Azure.Core.ResourceUpdate does not support NoContentResponse and the JsonPatchDocument request body. + See https://github.com/Azure/typespec-azure/issues/475 + """ #suppress "@azure-tools/typespec-azure-core/use-standard-operations" """ - We had to use a custom ResourceList to avoid an autoroute bug for workspace/jobs and sesssions/{sessionId}/jobs. - See https://github.com/Azure/typespec-azure/issues/494 - """ + We had to use a custom ResourceList to avoid an autoroute bug for workspace/jobs and sesssions/{sessionId}/jobs. + See https://github.com/Azure/typespec-azure/issues/494 + """ interface Jobs extends Quantum.Workspace.Operations.JobOperations {} #suppress "@azure-tools/typespec-azure-core/use-standard-operations" """ - We had to use a custom ResourceList to avoid an autoroute bug for workspace/jobs and sesssions/{sessionId}/jobs. - See https://github.com/Azure/typespec-azure/issues/494 - """ + We had to use a custom ResourceList to avoid an autoroute bug for workspace/jobs and sesssions/{sessionId}/jobs. + See https://github.com/Azure/typespec-azure/issues/494 + """ interface Sessions extends Quantum.Workspace.Operations.SessionOperations {} interface Providers extends Quantum.Workspace.Operations.ProviderOperations {} diff --git a/specification/quantum/Quantum.Workspace/operations/jobs.tsp b/specification/quantum/Quantum.Workspace/operations/jobs.tsp index 3d9449312f4f..32035bbcc2d2 100644 --- a/specification/quantum/Quantum.Workspace/operations/jobs.tsp +++ b/specification/quantum/Quantum.Workspace/operations/jobs.tsp @@ -131,10 +131,10 @@ namespace Quantum.Workspace.Operations { /** Update job properties. */ #suppress "@azure-tools/typespec-azure-core/use-standard-operations" """ - There is no support for JsonPatch in Azure.Core. - The Azure.Core.ResourceUpdate does not support NoContentResponse and the JsonPatchDocument request body. - See https://github.com/Azure/typespec-azure/issues/475 - """ + There is no support for JsonPatch in Azure.Core. + The Azure.Core.ResourceUpdate does not support NoContentResponse and the JsonPatchDocument request body. + See https://github.com/Azure/typespec-azure/issues/475 + """ update is PatchOperation; /** Request the cancellation of an existing job. */ @@ -145,9 +145,9 @@ namespace Quantum.Workspace.Operations { /** List all jobs. */ #suppress "@azure-tools/typespec-azure-core/use-standard-operations" """ - We had to use a custom ResourceList to avoid an autoroute bug for workspace/jobs and sesssions/{sessionId}/jobs. - See https://github.com/Azure/typespec-azure/issues/494 - """ + We had to use a custom ResourceList to avoid an autoroute bug for workspace/jobs and sesssions/{sessionId}/jobs. + See https://github.com/Azure/typespec-azure/issues/494 + """ list is CustomListOperation< Resource = JobDetails, Response = PagedJobDetails diff --git a/specification/quantum/Quantum.Workspace/operations/sessions.tsp b/specification/quantum/Quantum.Workspace/operations/sessions.tsp index b76d055c6a12..3d2ab6dea487 100644 --- a/specification/quantum/Quantum.Workspace/operations/sessions.tsp +++ b/specification/quantum/Quantum.Workspace/operations/sessions.tsp @@ -86,9 +86,9 @@ namespace Quantum.Workspace.Operations { /** List jobs in a session. */ #suppress "@azure-tools/typespec-azure-core/no-operation-id" "The nesting of Jobs under a Session makes the auto-generated ID to be Sessions_JobsList, which is not in a Noun_Verb format." #suppress "@azure-tools/typespec-azure-core/use-standard-operations" """ - We had to use a custom ResourceList to avoid an autoroute bug for workspace/jobs and sesssions/{sessionId}/jobs. - See https://github.com/Azure/typespec-azure/issues/494 - """ + We had to use a custom ResourceList to avoid an autoroute bug for workspace/jobs and sesssions/{sessionId}/jobs. + See https://github.com/Azure/typespec-azure/issues/494 + """ @operationId("SessionsJobs_List") jobsList is CustomListOperation< Resource = JobDetails, diff --git a/specification/quantum/Quantum.Workspace/tspconfig.yaml b/specification/quantum/Quantum.Workspace/tspconfig.yaml index 603f3eb0f1c4..2e36cf34ec56 100644 --- a/specification/quantum/Quantum.Workspace/tspconfig.yaml +++ b/specification/quantum/Quantum.Workspace/tspconfig.yaml @@ -14,6 +14,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" examples-directory: examples omit-unreachable-types: true output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/quantum.json" diff --git a/specification/resourcehealth/resource-manager/readme.md b/specification/resourcehealth/resource-manager/readme.md index 4c9643bbade8..b9d4e70c82f6 100644 --- a/specification/resourcehealth/resource-manager/readme.md +++ b/specification/resourcehealth/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the ResourceHealth API. ``` yaml openapi-type: arm -tag: package-2024-02 +tag: package-preview-2023-10 azure-validator: true ``` diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinition.json index 5ed89cf1a9cc..c8c35dde59bf 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinition.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinition.json @@ -78,6 +78,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "parameters": { "listOfAllowedSKUs": { @@ -90,6 +91,7 @@ }, { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionAtManagementGroup.json index 2e59efd9898e..95f1e2d750d3 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionAtManagementGroup.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionAtManagementGroup.json @@ -60,6 +60,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "parameters": { "listOfAllowedSKUs": { @@ -72,6 +73,7 @@ }, { "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "parameters": { "prefix": { @@ -101,6 +103,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "parameters": { "listOfAllowedSKUs": { @@ -113,6 +116,7 @@ }, { "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionVersion.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionVersion.json index a54b244c2b5c..e85c3246352d 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionVersion.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionVersion.json @@ -76,6 +76,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "parameters": { "listOfAllowedSKUs": { @@ -88,6 +89,7 @@ }, { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "parameters": { "prefix": { @@ -127,6 +129,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "parameters": { "listOfAllowedSKUs": { @@ -139,6 +142,7 @@ }, { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionVersionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionVersionAtManagementGroup.json index a5c60be1ae02..4b7978acd533 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionVersionAtManagementGroup.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionVersionAtManagementGroup.json @@ -58,6 +58,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "parameters": { "listOfAllowedSKUs": { @@ -70,6 +71,7 @@ }, { "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "parameters": { "prefix": { @@ -99,6 +101,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "parameters": { "listOfAllowedSKUs": { @@ -111,6 +114,7 @@ }, { "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionWithGroups.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionWithGroups.json index 8483ae575b01..7ef27d50753e 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionWithGroups.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionWithGroups.json @@ -25,6 +25,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "groupNames": [ "CostSaving" @@ -40,6 +41,7 @@ }, { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "groupNames": [ "Organizational" @@ -90,6 +92,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "groupNames": [ "CostSaving" @@ -105,6 +108,7 @@ }, { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "groupNames": [ "Organizational" @@ -154,6 +158,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "groupNames": [ "CostSaving" @@ -169,6 +174,7 @@ }, { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "groupNames": [ "Organizational" diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionWithGroupsAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionWithGroupsAtManagementGroup.json index 8088c7993a43..26a9ef16e40c 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionWithGroupsAtManagementGroup.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createOrUpdatePolicySetDefinitionWithGroupsAtManagementGroup.json @@ -90,6 +90,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "groupNames": [ "CostSaving" @@ -105,6 +106,7 @@ }, { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "groupNames": [ "Organizational" @@ -154,6 +156,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "groupNames": [ "CostSaving" @@ -169,6 +172,7 @@ }, { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "groupNames": [ "Organizational" diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignment.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignment.json index 507e0d3ade80..e734839d4773 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignment.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignment.json @@ -38,6 +38,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentById.json index 9c65dd44d837..afdad19b89eb 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentById.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentById.json @@ -10,6 +10,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "parameters": { "listOfAllowedSKUs": { "value": [ @@ -33,6 +34,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "listOfAllowedSKUs": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentNonComplianceMessages.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentNonComplianceMessages.json index aae5a745da0b..2d29465704d3 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentNonComplianceMessages.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentNonComplianceMessages.json @@ -33,6 +33,7 @@ "assignedBy": "User 1" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/securityInitiative", + "definitionVersion": "1.*.*", "notScopes": [], "enforcementMode": "Default", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithIdentity.json index 92699f063348..27807aa215e7 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithIdentity.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithIdentity.json @@ -38,6 +38,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithIdentityById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithIdentityById.json index a38d483c5ae2..ade3496576fd 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithIdentityById.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithIdentityById.json @@ -14,6 +14,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "parameters": { "listOfAllowedSKUs": { "value": [ @@ -37,6 +38,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "listOfAllowedSKUs": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithOverrides.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithOverrides.json index 936e4dfa6362..f6bd0b46bb7d 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithOverrides.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithOverrides.json @@ -40,6 +40,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "definitionVersion": "1.*.*", "notScopes": [], "enforcementMode": "Default", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithResourceSelectors.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithResourceSelectors.json index 7106dc80f78b..42afac2a8b0f 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithResourceSelectors.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithResourceSelectors.json @@ -39,6 +39,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "definitionVersion": "1.*.*", "notScopes": [], "enforcementMode": "Default", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithUserAssignedIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithUserAssignedIdentity.json index 790ddf6e758f..5fdd4d498977 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithUserAssignedIdentity.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithUserAssignedIdentity.json @@ -41,6 +41,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithoutEnforcement.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithoutEnforcement.json index 8f68a65a8aa1..964fa0450935 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithoutEnforcement.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/createPolicyAssignmentWithoutEnforcement.json @@ -34,6 +34,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/deletePolicyAssignment.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/deletePolicyAssignment.json index fe9b87fcf0c1..b83ea50d8b91 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/deletePolicyAssignment.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/deletePolicyAssignment.json @@ -15,6 +15,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/deletePolicyAssignmentById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/deletePolicyAssignmentById.json index 3f489e6f385b..d417e140a43d 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/deletePolicyAssignmentById.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/deletePolicyAssignmentById.json @@ -14,6 +14,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "listOfAllowedSKUs": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getBuiltInPolicySetDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getBuiltInPolicySetDefinition.json index 628d5a1449d3..1c785d31d6cb 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getBuiltInPolicySetDefinition.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getBuiltInPolicySetDefinition.json @@ -23,42 +23,52 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId1" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId2" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId3" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId4" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId5" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId6" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId7" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId8" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId9" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId10" } ] diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getBuiltInPolicySetDefinitionVersion.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getBuiltInPolicySetDefinitionVersion.json index bd78c6bcb8df..bc6cecc7b0f9 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getBuiltInPolicySetDefinitionVersion.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getBuiltInPolicySetDefinitionVersion.json @@ -20,42 +20,52 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId1" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId2" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId3" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId4" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId5" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId6" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId7" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId8" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId9" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId10" } ] diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignment.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignment.json index f3dd1bd16638..549a09ca6a79 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignment.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignment.json @@ -15,6 +15,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentById.json index 167547511c36..d5d1c177f677 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentById.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentById.json @@ -14,6 +14,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "listOfAllowedSKUs": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithIdentity.json index 9aa734ce3fb4..b5fe18a24c70 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithIdentity.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithIdentity.json @@ -15,6 +15,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithIdentityById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithIdentityById.json index 426cf0ad6691..e478978ff0e3 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithIdentityById.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithIdentityById.json @@ -14,6 +14,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "listOfAllowedSKUs": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithOverrides.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithOverrides.json index 24ae6a248f62..9cdc97c58caa 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithOverrides.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithOverrides.json @@ -15,6 +15,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "definitionVersion": "1.*.*", "notScopes": [], "enforcementMode": "Default", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithResourceSelectors.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithResourceSelectors.json index ccffcbae7aa2..222ad2819709 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithResourceSelectors.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithResourceSelectors.json @@ -15,6 +15,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "definitionVersion": "1.*.*", "notScopes": [], "enforcementMode": "Default", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithUserAssignedIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithUserAssignedIdentity.json index 117b71fe5083..84c4c8dfef53 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithUserAssignedIdentity.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicyAssignmentWithUserAssignedIdentity.json @@ -15,6 +15,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinition.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinition.json index 06b97ca99930..cf62d3140508 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinition.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinition.json @@ -37,6 +37,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "groupNames": [ "CostSaving" @@ -52,6 +53,7 @@ }, { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "groupNames": [ "Organizational" diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinitionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinitionAtManagementGroup.json index 21a6b10bdb59..04402f737538 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinitionAtManagementGroup.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinitionAtManagementGroup.json @@ -25,6 +25,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "parameters": { "listOfAllowedSKUs": { @@ -37,6 +38,7 @@ }, { "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinitionVersion.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinitionVersion.json index 296242856d25..862158f82445 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinitionVersion.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinitionVersion.json @@ -34,6 +34,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "groupNames": [ "CostSaving" @@ -49,6 +50,7 @@ }, { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "groupNames": [ "Organizational" diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinitionVersionAtManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinitionVersionAtManagementGroup.json index 48b464589b9f..093143ae40bb 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinitionVersionAtManagementGroup.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/getPolicySetDefinitionVersionAtManagementGroup.json @@ -22,6 +22,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "parameters": { "listOfAllowedSKUs": { @@ -34,6 +35,7 @@ }, { "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listAllBuiltInPolicySetDefinitionVersions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listAllBuiltInPolicySetDefinitionVersions.json index 173fd8c30fb6..1c40f86d8ffb 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listAllBuiltInPolicySetDefinitionVersions.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listAllBuiltInPolicySetDefinitionVersions.json @@ -20,42 +20,52 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId1" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId2" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId3" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId4" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId5" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId6" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId7" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId8" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId9" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId10" } ] diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listAllPolicySetDefinitionVersions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listAllPolicySetDefinitionVersions.json index f3c08eac8283..fb9ef19b777c 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listAllPolicySetDefinitionVersions.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listAllPolicySetDefinitionVersions.json @@ -22,6 +22,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "parameters": { "listOfAllowedSKUs": { @@ -34,6 +35,7 @@ }, { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listAllPolicySetDefinitionVersionsByManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listAllPolicySetDefinitionVersionsByManagementGroup.json index 6bdbe39794b9..21a4320bb0ea 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listAllPolicySetDefinitionVersionsByManagementGroup.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listAllPolicySetDefinitionVersionsByManagementGroup.json @@ -21,42 +21,52 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId1" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId2" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId3" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId4" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId5" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId6" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId7" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId8" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId9" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId10" } ] @@ -79,6 +89,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "parameters": { "listOfAllowedSKUs": { @@ -91,6 +102,7 @@ }, { "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listBuiltInPolicySetDefinitionVersions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listBuiltInPolicySetDefinitionVersions.json index 16ed760edba9..1ed8541f88eb 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listBuiltInPolicySetDefinitionVersions.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listBuiltInPolicySetDefinitionVersions.json @@ -21,42 +21,52 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId1" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId2" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId3" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId4" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId5" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId6" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId7" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId8" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId9" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId10" } ] diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listBuiltInPolicySetDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listBuiltInPolicySetDefinitions.json index db8b36f80545..02d7edc6fbe6 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listBuiltInPolicySetDefinitions.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listBuiltInPolicySetDefinitions.json @@ -24,42 +24,52 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId1" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId2" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId3" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId4" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId5" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId6" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId7" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId8" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId9" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId10" } ] diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignments.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignments.json index d0753ec91f61..514b8413dcd1 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignments.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignments.json @@ -26,6 +26,7 @@ "category": "Cost Management" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/storageSkus", + "definitionVersion": "1.*.*", "parameters": { "allowedSkus": { "value": "Standard_A1" @@ -43,6 +44,7 @@ "displayName": "Enforces a tag key and value", "description": "Ensure a given tag key and value are present on all resources", "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/TagKeyValue", + "definitionVersion": "1.*.*", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", "notScopes": [] } diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignmentsForManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignmentsForManagementGroup.json index 716b6f5b6173..72ba0190c78b 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignmentsForManagementGroup.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignmentsForManagementGroup.json @@ -26,6 +26,7 @@ "category": "Cost Management" }, "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/TestManagementGroup/providers/Microsoft.Authorization/policyDefinitions/storageSkus", + "definitionVersion": "1.*.*", "parameters": { "allowedSkus": { "value": "Standard_A1" @@ -43,6 +44,7 @@ "displayName": "Enforces a tag key and value", "description": "Ensure a given tag key and value are present on all resources", "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/TestManagementGroup/providers/Microsoft.Authorization/policyDefinitions/TagKeyValue", + "definitionVersion": "1.*.*", "scope": "/providers/Microsoft.Management/managementGroups/TestManagementGroup", "notScopes": [] } diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignmentsForResource.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignmentsForResource.json index 5cb7b5b1f230..907fc812d656 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignmentsForResource.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignmentsForResource.json @@ -30,6 +30,7 @@ "category": "Cost Management" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/vmSkus", + "definitionVersion": "1.*.*", "parameters": { "allowedSkus": { "value": "Standard_A1" @@ -47,6 +48,7 @@ "displayName": "Enforces a tag key and value", "description": "Ensure a given tag key and value are present on all resources", "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/TagKeyValue", + "definitionVersion": "1.*.*", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup", "notScopes": [] } diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignmentsForResourceGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignmentsForResourceGroup.json index 57967e2d97d7..8df2b2177033 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignmentsForResourceGroup.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicyAssignmentsForResourceGroup.json @@ -27,6 +27,7 @@ "category": "Cost Management" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/storageSkus", + "definitionVersion": "1.*.*", "parameters": { "allowedSkus": { "value": "Standard_A1" @@ -44,6 +45,7 @@ "displayName": "Enforces a tag key and value", "description": "Ensure a given tag key and value are present on all resources", "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/TagKeyValue", + "definitionVersion": "1.*.*", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup", "notScopes": [] } diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitionVersions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitionVersions.json index b0191b4b1b54..cfa70a124f88 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitionVersions.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitionVersions.json @@ -23,6 +23,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "parameters": { "listOfAllowedSKUs": { @@ -35,6 +36,7 @@ }, { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitionVersionsByManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitionVersionsByManagementGroup.json index fa7e45ed2d50..6067833bb870 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitionVersionsByManagementGroup.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitionVersionsByManagementGroup.json @@ -23,6 +23,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "parameters": { "listOfAllowedSKUs": { @@ -35,6 +36,7 @@ }, { "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitions.json index e39556f2f482..6153d13e96da 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitions.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitions.json @@ -25,42 +25,52 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId1" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId2" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId3" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId4" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/b0f33259-77d7-4c9e-aac6-3aabcfae693c", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId5" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId6" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId7" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/e1e5fd5d-3e4c-4ce1-8661-7d1873ae6b15", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId8" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId9" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId10" } ] @@ -87,6 +97,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "parameters": { "listOfAllowedSKUs": { @@ -99,6 +110,7 @@ }, { "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitionsByManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitionsByManagementGroup.json index d3155e5e7966..10d926f44e88 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitionsByManagementGroup.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/listPolicySetDefinitionsByManagementGroup.json @@ -25,18 +25,22 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/a8bef009-a5c9-4d0f-90d7-6018734e8a16", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId1" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af8051bf-258b-44e2-a2bf-165330459f9d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId2" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/86b3d65f-7626-441e-b690-81a8b71cff60", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId3" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/655cb504-bcee-4362-bd4c-402e6aa38759", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId4" }, { @@ -45,10 +49,12 @@ }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/47a6b606-51aa-4496-8bb7-64b11cf66adc", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId6" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/44452482-524f-4bf4-b852-0bff7cc4a3ed", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId7" }, { @@ -57,10 +63,12 @@ }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/af6cd1bd-1635-48cb-bde7-5b15693900b9", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId9" }, { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/0961003e-5a0a-4549-abde-af6a37f2724d", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "RefId10" } ] @@ -87,6 +95,7 @@ "policyDefinitions": [ { "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Limit_Skus", "parameters": { "listOfAllowedSKUs": { @@ -99,6 +108,7 @@ }, { "policyDefinitionId": "/providers/Microsoft.Management/managementgroups/MyManagementGroup/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "policyDefinitionReferenceId": "Resource_Naming", "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithIdentity.json index af0861f2c6c0..e2b68eeb0841 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithIdentity.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithIdentity.json @@ -21,6 +21,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithIdentityById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithIdentityById.json index 5348c752720c..2073cf18fc0f 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithIdentityById.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithIdentityById.json @@ -20,6 +20,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "listOfAllowedSKUs": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithOverrides.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithOverrides.json index d3a2e76989ab..b221db74ad3f 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithOverrides.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithOverrides.json @@ -34,6 +34,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "definitionVersion": "1.*.*", "notScopes": [], "enforcementMode": "Default", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithResourceSelectors.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithResourceSelectors.json index 9d1e732d9b9b..8f809988f2b7 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithResourceSelectors.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithResourceSelectors.json @@ -33,6 +33,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "definitionVersion": "1.*.*", "notScopes": [], "enforcementMode": "Default", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithUserAssignedIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithUserAssignedIdentity.json index 76077a9496e2..f89c222b562c 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithUserAssignedIdentity.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/examples/updatePolicyAssignmentWithUserAssignedIdentity.json @@ -24,6 +24,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policyAssignments.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policyAssignments.json index e584799fe24f..92e22341c101 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policyAssignments.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policyAssignments.json @@ -738,6 +738,10 @@ "type": "string", "description": "The ID of the policy definition or policy set definition being assigned." }, + "definitionVersion": { + "type": "string", + "description": "The version of the policy definition to use." + }, "scope": { "type": "string", "description": "The scope for the policy assignment.", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policyDefinitionVersions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policyDefinitionVersions.json index e67a246707f0..b5ba4e61e8fa 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policyDefinitionVersions.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policyDefinitionVersions.json @@ -786,7 +786,8 @@ "required": true, "type": "string", "pattern": "^[^<>*%&:\\?.+/]*[^<>*%&:\\?.+/ ]+$", - "description": "The name of the policy definition." + "description": "The name of the policy definition.", + "x-ms-parameter-location": "method" }, "PolicyDefinitionVersion": { "name": "policyDefinitionVersion", @@ -794,7 +795,8 @@ "required": true, "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+$", - "description": "The policy definition version. The format is x.y.z where x is the major version number, y is the minor version number, and z is the patch number" + "description": "The policy definition version. The format is x.y.z where x is the major version number, y is the minor version number, and z is the patch number", + "x-ms-parameter-location": "method" }, "PolicyDefinitionsFilterParameter": { "name": "$filter", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policySetDefinitionVersions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policySetDefinitionVersions.json index 762c3043d623..c0a382296763 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policySetDefinitionVersions.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policySetDefinitionVersions.json @@ -679,6 +679,10 @@ "type": "string", "description": "The ID of the policy definition or policy set definition." }, + "definitionVersion": { + "type": "string", + "description": "The version of the policy definition to use." + }, "parameters": { "description": "The parameter values for the referenced policy rule. The keys are the parameter names.", "$ref": "./policyAssignments.json#/definitions/ParameterValues" @@ -786,7 +790,8 @@ "required": true, "type": "string", "pattern": "^[^<>*%&:\\?.+/]*[^<>*%&:\\?.+/ ]+$", - "description": "The name of the policy set definition." + "description": "The name of the policy set definition.", + "x-ms-parameter-location": "method" }, "PolicySetDefinitionVersion": { "name": "policyDefinitionVersion", @@ -794,7 +799,8 @@ "required": true, "type": "string", "pattern": "^\\d+\\.\\d+\\.\\d+$", - "description": "The policy set definition version. The format is x.y.z where x is the major version number, y is the minor version number, and z is the patch number" + "description": "The policy set definition version. The format is x.y.z where x is the major version number, y is the minor version number, and z is the patch number", + "x-ms-parameter-location": "method" }, "PolicySetDefinitionsFilterParameter": { "name": "$filter", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policySetDefinitions.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policySetDefinitions.json index a9b8cd89659b..9f027f86f4f6 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policySetDefinitions.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2023-04-01/policySetDefinitions.json @@ -598,6 +598,10 @@ "type": "string", "description": "The ID of the policy definition or policy set definition." }, + "definitionVersion": { + "type": "string", + "description": "The version of the policy definition to use." + }, "parameters": { "description": "The parameter values for the referenced policy rule. The keys are the parameter names.", "$ref": "./policyAssignments.json#/definitions/ParameterValues" diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignment.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignment.json index 85cf01e4b970..02dbba61bbef 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignment.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignment.json @@ -38,6 +38,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentById.json index af6799c6950f..bf107b4d4c7c 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentById.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentById.json @@ -10,6 +10,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "parameters": { "listOfAllowedSKUs": { "value": [ @@ -33,6 +34,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "listOfAllowedSKUs": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentNonComplianceMessages.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentNonComplianceMessages.json index 23116f553880..8d605ddcecc3 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentNonComplianceMessages.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentNonComplianceMessages.json @@ -33,6 +33,7 @@ "assignedBy": "User 1" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/securityInitiative", + "definitionVersion": "1.*.*", "notScopes": [], "enforcementMode": "Default", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithIdentity.json index bba5bf1c8f98..a02023950bfe 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithIdentity.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithIdentity.json @@ -38,6 +38,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithIdentityById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithIdentityById.json index 291ade5de921..d8da8a7ea4b1 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithIdentityById.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithIdentityById.json @@ -14,6 +14,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "parameters": { "listOfAllowedSKUs": { "value": [ @@ -37,6 +38,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "listOfAllowedSKUs": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithOverrides.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithOverrides.json index 0ff331f5690a..1d965467450a 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithOverrides.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithOverrides.json @@ -40,6 +40,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "definitionVersion": "1.*.*", "notScopes": [], "enforcementMode": "Default", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithResourceSelectors.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithResourceSelectors.json index a6a50f960b6a..a7c41a835a87 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithResourceSelectors.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithResourceSelectors.json @@ -39,6 +39,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "definitionVersion": "1.*.*", "notScopes": [], "enforcementMode": "Default", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithUserAssignedIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithUserAssignedIdentity.json index cffaf2f79364..4a2038094fef 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithUserAssignedIdentity.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithUserAssignedIdentity.json @@ -41,6 +41,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithoutEnforcement.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithoutEnforcement.json index 8f0050637a42..cd258447ceec 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithoutEnforcement.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/createPolicyAssignmentWithoutEnforcement.json @@ -34,6 +34,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/deletePolicyAssignment.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/deletePolicyAssignment.json index 4a49760afdc4..8129777e1d02 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/deletePolicyAssignment.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/deletePolicyAssignment.json @@ -15,6 +15,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/deletePolicyAssignmentById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/deletePolicyAssignmentById.json index d38f5a690267..7578c60c795b 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/deletePolicyAssignmentById.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/deletePolicyAssignmentById.json @@ -14,6 +14,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "listOfAllowedSKUs": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignment.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignment.json index da77ffaff5fb..44c51d732b3a 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignment.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignment.json @@ -15,6 +15,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentById.json index 865bbc44cbaf..e2e064d167dc 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentById.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentById.json @@ -14,6 +14,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "listOfAllowedSKUs": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithIdentity.json index bfbb3a57e35c..d9466bee0947 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithIdentity.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithIdentity.json @@ -15,6 +15,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithIdentityById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithIdentityById.json index dd5447ac93be..d8fa9c168440 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithIdentityById.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithIdentityById.json @@ -14,6 +14,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "listOfAllowedSKUs": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithOverrides.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithOverrides.json index 3fa10f7368e3..e68a8e6db887 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithOverrides.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithOverrides.json @@ -15,6 +15,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "definitionVersion": "1.*.*", "notScopes": [], "enforcementMode": "Default", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithResourceSelectors.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithResourceSelectors.json index dafab2356629..6f049c483cba 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithResourceSelectors.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithResourceSelectors.json @@ -15,6 +15,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "definitionVersion": "1.*.*", "notScopes": [], "enforcementMode": "Default", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithUserAssignedIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithUserAssignedIdentity.json index eb05de90a9bd..b7f41ee1ba85 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithUserAssignedIdentity.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/getPolicyAssignmentWithUserAssignedIdentity.json @@ -15,6 +15,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignments.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignments.json index b85ab0c72973..b257e1a0800f 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignments.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignments.json @@ -26,6 +26,7 @@ "category": "Cost Management" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/storageSkus", + "definitionVersion": "1.*.*", "parameters": { "allowedSkus": { "value": "Standard_A1" @@ -43,6 +44,7 @@ "displayName": "Enforces a tag key and value", "description": "Ensure a given tag key and value are present on all resources", "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/TagKeyValue", + "definitionVersion": "1.*.*", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", "notScopes": [] } diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignmentsForManagementGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignmentsForManagementGroup.json index 8f54b3d3f6e6..343e58cd3e41 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignmentsForManagementGroup.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignmentsForManagementGroup.json @@ -26,6 +26,7 @@ "category": "Cost Management" }, "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/TestManagementGroup/providers/Microsoft.Authorization/policyDefinitions/storageSkus", + "definitionVersion": "1.*.*", "parameters": { "allowedSkus": { "value": "Standard_A1" @@ -43,6 +44,7 @@ "displayName": "Enforces a tag key and value", "description": "Ensure a given tag key and value are present on all resources", "policyDefinitionId": "/providers/Microsoft.Management/managementGroups/TestManagementGroup/providers/Microsoft.Authorization/policyDefinitions/TagKeyValue", + "definitionVersion": "1.*.*", "scope": "/providers/Microsoft.Management/managementGroups/TestManagementGroup", "notScopes": [] } diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignmentsForResource.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignmentsForResource.json index f2883c5064aa..b3d3190d233a 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignmentsForResource.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignmentsForResource.json @@ -30,6 +30,7 @@ "category": "Cost Management" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/vmSkus", + "definitionVersion": "1.*.*", "parameters": { "allowedSkus": { "value": "Standard_A1" @@ -47,6 +48,7 @@ "displayName": "Enforces a tag key and value", "description": "Ensure a given tag key and value are present on all resources", "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/TagKeyValue", + "definitionVersion": "1.*.*", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup", "notScopes": [] } diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignmentsForResourceGroup.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignmentsForResourceGroup.json index b618b59fe37b..81dfb68247a9 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignmentsForResourceGroup.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/listPolicyAssignmentsForResourceGroup.json @@ -27,6 +27,7 @@ "category": "Cost Management" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/storageSkus", + "definitionVersion": "1.*.*", "parameters": { "allowedSkus": { "value": "Standard_A1" @@ -44,6 +45,7 @@ "displayName": "Enforces a tag key and value", "description": "Ensure a given tag key and value are present on all resources", "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/TagKeyValue", + "definitionVersion": "1.*.*", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/resourceGroups/TestResourceGroup", "notScopes": [] } diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithIdentity.json index 2632a663244e..1ec8cb070c0b 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithIdentity.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithIdentity.json @@ -21,6 +21,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithIdentityById.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithIdentityById.json index eb459749a08f..508061dcbe37 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithIdentityById.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithIdentityById.json @@ -20,6 +20,7 @@ "assignedBy": "Cheapskate Boss" }, "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/7433c107-6db4-4ad1-b57a-a76dce0154a1", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "listOfAllowedSKUs": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithOverrides.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithOverrides.json index 5ed98ca5862a..f53a09658ab4 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithOverrides.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithOverrides.json @@ -34,6 +34,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "definitionVersion": "1.*.*", "notScopes": [], "enforcementMode": "Default", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithResourceSelectors.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithResourceSelectors.json index 89deef919e58..9e7aba5cd45b 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithResourceSelectors.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithResourceSelectors.json @@ -33,6 +33,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policySetDefinitions/CostManagement", + "definitionVersion": "1.*.*", "notScopes": [], "enforcementMode": "Default", "scope": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2", diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithUserAssignedIdentity.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithUserAssignedIdentity.json index 8623bdac57dc..d4f222a4ee04 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithUserAssignedIdentity.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/examples/updatePolicyAssignmentWithUserAssignedIdentity.json @@ -24,6 +24,7 @@ "assignedBy": "Special Someone" }, "policyDefinitionId": "/subscriptions/ae640e6b-ba3e-4256-9d62-2993eecfa6f2/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming", + "definitionVersion": "1.*.*", "notScopes": [], "parameters": { "prefix": { diff --git a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/policyAssignments.json b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/policyAssignments.json index 3e7730f09970..b9b68f8043e3 100644 --- a/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/policyAssignments.json +++ b/specification/resources/resource-manager/Microsoft.Authorization/stable/2024-04-01/policyAssignments.json @@ -738,6 +738,10 @@ "type": "string", "description": "The ID of the policy definition or policy set definition being assigned." }, + "definitionVersion": { + "type": "string", + "description": "The version of the policy definition to use." + }, "scope": { "type": "string", "description": "The scope for the policy assignment.", diff --git a/specification/resources/resource-manager/readme.python.md b/specification/resources/resource-manager/readme.python.md index 6f0202da90ca..47b1ef774a77 100644 --- a/specification/resources/resource-manager/readme.python.md +++ b/specification/resources/resource-manager/readme.python.md @@ -33,6 +33,7 @@ batch: - multiapiscript-locks: true - tag: package-managedapplications-2019-07 - multiapiscript-managedapplications: true + - tag: package-policy-2023-04-only - tag: package-policy-2022-08-preview-only - tag: package-policy-2022-07-preview-only - tag: package-policy-2022-06-only diff --git a/specification/resources/resource-manager/readme.typescript.md b/specification/resources/resource-manager/readme.typescript.md index 8fd4ad2d78e0..066d729dcc04 100644 --- a/specification/resources/resource-manager/readme.typescript.md +++ b/specification/resources/resource-manager/readme.typescript.md @@ -28,6 +28,8 @@ typescript: ``` ```yaml $(typescript) && $(package-deploymentstacks) && !$(profile-content) +modelerfour: + flatten-models: false typescript: package-name: "@azure/arm-resourcesdeploymentstacks" output-folder: "$(typescript-sdks-folder)/sdk/resourcesdeploymentstacks/arm-resourcesdeploymentstacks" diff --git a/specification/riskiq/Easm/models.tsp b/specification/riskiq/Easm/models.tsp index a131384ce3bc..8550fb724269 100644 --- a/specification/riskiq/Easm/models.tsp +++ b/specification/riskiq/Easm/models.tsp @@ -220,6 +220,7 @@ model AssetPageResult { @resource("assets") model AssetResource { /** Discriminator property for AssetResource. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" kind: string; @doc("The system generated unique id for the resource.") @@ -483,6 +484,7 @@ model DataConnectionProperties {} @clientName("DataConnectionPayload", "csharp") model DataConnectionData { /** Discriminator property for DataConnectionData. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" kind: string; @doc("The name of data connection") @@ -503,6 +505,7 @@ model DataConnectionData { @resource("dataConnections") model DataConnection { /** Discriminator property for DataConnection. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" kind: string; @doc("The system generated unique id for the resource.") @@ -2152,3 +2155,14 @@ model DiscoGroupSummaryResult { @doc("The name that can be used for display purposes.") displayName: string; } + +alias BodyParameter< + T, + TName extends valueof string = "body", + TDoc extends valueof string = "Body parameter." +> = { + @doc(TDoc) + @friendlyName(TName) + @bodyRoot + body: T; +}; diff --git a/specification/riskiq/Easm/routes.tsp b/specification/riskiq/Easm/routes.tsp index c787851abd12..f8220b541bfb 100644 --- a/specification/riskiq/Easm/routes.tsp +++ b/specification/riskiq/Easm/routes.tsp @@ -41,7 +41,7 @@ interface Assets { @Versioning.added(Versions.v2024_03_01_preview) getAssetsExport is Operations.ResourceCollectionAction< AssetResource, - AssetsExportRequest, + BodyParameter, Task, AssetsExportTrait >; @@ -61,7 +61,7 @@ interface Assets { @Versioning.added(Versions.v2024_03_01_preview) getDeltaDetails is Operations.ResourceCollectionAction< AssetResource, - DeltaDetailsRequest, + BodyParameter, DeltaPageResult, DeltaDetailsTrait >; @@ -71,7 +71,7 @@ interface Assets { @Versioning.added(Versions.v2024_03_01_preview) getDeltaSummary is Operations.ResourceCollectionAction< AssetResource, - DeltaSummaryRequest, + BodyParameter, DeltaSummaryResult, {} >; @@ -90,7 +90,7 @@ interface DataConnections { @action("validate") validateDataConnection is Operations.ResourceCollectionAction< DataConnection, - DataConnectionData, + BodyParameter, ValidateResult >; @doc("Retrieve a data connection with a given dataConnectionName.") @@ -102,7 +102,7 @@ interface DataConnections { @put createOrReplaceDataConnection is Foundations.ResourceOperation< DataConnection, - DataConnectionData, + BodyParameter, DataConnection >; @@ -122,7 +122,7 @@ interface DiscoveryGroups { @clientName("ValidateDiscoveryGroup", "csharp") validateDiscoGroup is Operations.ResourceCollectionAction< DiscoGroup, - DiscoGroupData, + BodyParameter, ValidateResult >; @doc("Retrieve a discovery group with a given groupName.") @@ -162,7 +162,7 @@ interface DiscoveryGroups { @Versioning.added(Versions.v2024_03_01_preview) getAssetChainSummary is Operations.ResourceCollectionAction< DiscoGroup, - AssetChainRequest, + BodyParameter, AssetChainSummaryResult >; @@ -171,7 +171,7 @@ interface DiscoveryGroups { @Versioning.added(Versions.v2024_03_01_preview) dismissAssetChain is Operations.ResourceCollectionAction< DiscoGroup, - AssetChainRequest, + BodyParameter, Task >; } @@ -203,7 +203,7 @@ interface Reports { @route("/reports/assets:getSnapshot") @post getSnapshot is Foundations.Operation< - ReportAssetSnapshotRequest, + BodyParameter, ReportAssetSnapshotResult >; #suppress "@azure-tools/typespec-azure-core/use-standard-operations" @@ -211,7 +211,7 @@ interface Reports { @route("/reports/assets:getSummary") @post getSummary is Foundations.Operation< - ReportAssetSummaryRequest, + BodyParameter, ReportAssetSummaryResult >; @@ -221,7 +221,7 @@ interface Reports { @route("/reports/assets:getSnapshotExport") @post getSnapshotExport is Foundations.Operation< - ReportAssetSnapshotExportRequest, + BodyParameter, Task >; } diff --git a/specification/riskiq/Easm/tspconfig.yaml b/specification/riskiq/Easm/tspconfig.yaml index 635dd75f996e..2f6eaacb276e 100644 --- a/specification/riskiq/Easm/tspconfig.yaml +++ b/specification/riskiq/Easm/tspconfig.yaml @@ -11,6 +11,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "examples" output-file: "{azure-resource-provider-folder}/Microsoft.Easm/{version-status}/{version}/easm.json" diff --git a/specification/riskiq/data-plane/Microsoft.Easm/preview/2023-03-01-preview/easm.json b/specification/riskiq/data-plane/Microsoft.Easm/preview/2023-03-01-preview/easm.json index 80583013d4dc..dd82cf71c089 100644 --- a/specification/riskiq/data-plane/Microsoft.Easm/preview/2023-03-01-preview/easm.json +++ b/specification/riskiq/data-plane/Microsoft.Easm/preview/2023-03-01-preview/easm.json @@ -337,6 +337,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/DataConnectionData" @@ -425,6 +426,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/DataConnectionData" @@ -718,6 +720,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/DiscoGroupData" @@ -901,6 +904,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/ReportAssetSnapshotRequest" @@ -948,6 +952,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/ReportAssetSummaryRequest" diff --git a/specification/riskiq/data-plane/Microsoft.Easm/preview/2024-03-01-preview/easm.json b/specification/riskiq/data-plane/Microsoft.Easm/preview/2024-03-01-preview/easm.json index 7414e732a170..d6f807a38604 100644 --- a/specification/riskiq/data-plane/Microsoft.Easm/preview/2024-03-01-preview/easm.json +++ b/specification/riskiq/data-plane/Microsoft.Easm/preview/2024-03-01-preview/easm.json @@ -314,6 +314,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/AssetsExportRequest" @@ -367,6 +368,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/DeltaDetailsRequest" @@ -417,6 +419,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/DeltaSummaryRequest" @@ -651,6 +654,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/DataConnectionData" @@ -739,6 +743,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/DataConnectionData" @@ -1073,6 +1078,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/AssetChainRequest" @@ -1120,6 +1126,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/AssetChainRequest" @@ -1167,6 +1174,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/DiscoGroupData" @@ -1350,6 +1358,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/ReportAssetSnapshotRequest" @@ -1397,6 +1406,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/ReportAssetSnapshotExportRequest" @@ -1444,6 +1454,7 @@ { "name": "body", "in": "body", + "description": "Body parameter.", "required": true, "schema": { "$ref": "#/definitions/ReportAssetSummaryRequest" diff --git a/specification/schemaregistry/SchemaRegistry/tspconfig.yaml b/specification/schemaregistry/SchemaRegistry/tspconfig.yaml index 4672f92ac03c..71bf18d7f2bd 100644 --- a/specification/schemaregistry/SchemaRegistry/tspconfig.yaml +++ b/specification/schemaregistry/SchemaRegistry/tspconfig.yaml @@ -12,6 +12,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/../" output-file: "data-plane/Microsoft.SchemaRegistry/{version-status}/{version}/schemaregistry.json" examples-directory: examples diff --git a/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2021-10/schemaregistry.json b/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2021-10/schemaregistry.json index 67fe4fb35cad..87373cea78d2 100644 --- a/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2021-10/schemaregistry.json +++ b/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2021-10/schemaregistry.json @@ -374,17 +374,6 @@ "type": "file" }, "headers": { - "Content-Type": { - "type": "string", - "description": "The content type for given schema.", - "enum": [ - "application/json; serialization=Avro" - ], - "x-ms-enum": { - "modelAsString": false - }, - "x-nullable": false - }, "Location": { "type": "string", "description": "URL location of schema, identified by schema group, schema name, and version." @@ -460,17 +449,6 @@ "type": "file" }, "headers": { - "Content-Type": { - "type": "string", - "description": "The content type for given schema.", - "enum": [ - "application/json; serialization=Avro" - ], - "x-ms-enum": { - "modelAsString": false - }, - "x-nullable": false - }, "Location": { "type": "string", "description": "URL location of schema, identified by schema group, schema name, and version." diff --git a/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2022-10/schemaregistry.json b/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2022-10/schemaregistry.json index 54130caa7a12..153b174d8800 100644 --- a/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2022-10/schemaregistry.json +++ b/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2022-10/schemaregistry.json @@ -380,36 +380,6 @@ "type": "file" }, "headers": { - "Content-Type": { - "type": "string", - "description": "The content type for given schema.", - "enum": [ - "application/json; serialization=Avro", - "application/json; serialization=Json", - "text/plain; charset=utf-8" - ], - "x-ms-enum": { - "name": "SchemaContentTypeValues", - "modelAsString": false, - "values": [ - { - "name": "avro", - "value": "application/json; serialization=Avro", - "description": "Avro encoding." - }, - { - "name": "json", - "value": "application/json; serialization=Json", - "description": "JSON encoding" - }, - { - "name": "custom", - "value": "text/plain; charset=utf-8", - "description": "Plain text custom encoding." - } - ] - } - }, "Location": { "type": "string", "description": "URL location of schema, identified by schema group, schema name, and version." @@ -487,36 +457,6 @@ "type": "file" }, "headers": { - "Content-Type": { - "type": "string", - "description": "The content type for given schema.", - "enum": [ - "application/json; serialization=Avro", - "application/json; serialization=Json", - "text/plain; charset=utf-8" - ], - "x-ms-enum": { - "name": "SchemaContentTypeValues", - "modelAsString": false, - "values": [ - { - "name": "avro", - "value": "application/json; serialization=Avro", - "description": "Avro encoding." - }, - { - "name": "json", - "value": "application/json; serialization=Json", - "description": "JSON encoding" - }, - { - "name": "custom", - "value": "text/plain; charset=utf-8", - "description": "Plain text custom encoding." - } - ] - } - }, "Location": { "type": "string", "description": "URL location of schema, identified by schema group, schema name, and version." diff --git a/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2023-07-01/schemaregistry.json b/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2023-07-01/schemaregistry.json index cbd2f391aac3..f0d5d664e0d2 100644 --- a/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2023-07-01/schemaregistry.json +++ b/specification/schemaregistry/data-plane/Microsoft.SchemaRegistry/stable/2023-07-01/schemaregistry.json @@ -383,42 +383,6 @@ "type": "file" }, "headers": { - "Content-Type": { - "type": "string", - "description": "The content type for given schema.", - "enum": [ - "application/json; serialization=Avro", - "application/json; serialization=Json", - "text/plain; charset=utf-8", - "text/vnd.ms.protobuf" - ], - "x-ms-enum": { - "name": "SchemaContentTypeValues", - "modelAsString": false, - "values": [ - { - "name": "avro", - "value": "application/json; serialization=Avro", - "description": "Avro encoding." - }, - { - "name": "json", - "value": "application/json; serialization=Json", - "description": "JSON encoding" - }, - { - "name": "custom", - "value": "text/plain; charset=utf-8", - "description": "Plain text custom encoding." - }, - { - "name": "protobuf", - "value": "text/vnd.ms.protobuf", - "description": "Protobuf encoding." - } - ] - } - }, "Location": { "type": "string", "description": "URL location of schema, identified by schema group, schema name, and version." @@ -497,42 +461,6 @@ "type": "file" }, "headers": { - "Content-Type": { - "type": "string", - "description": "The content type for given schema.", - "enum": [ - "application/json; serialization=Avro", - "application/json; serialization=Json", - "text/plain; charset=utf-8", - "text/vnd.ms.protobuf" - ], - "x-ms-enum": { - "name": "SchemaContentTypeValues", - "modelAsString": false, - "values": [ - { - "name": "avro", - "value": "application/json; serialization=Avro", - "description": "Avro encoding." - }, - { - "name": "json", - "value": "application/json; serialization=Json", - "description": "JSON encoding" - }, - { - "name": "custom", - "value": "text/plain; charset=utf-8", - "description": "Plain text custom encoding." - }, - { - "name": "protobuf", - "value": "text/vnd.ms.protobuf", - "description": "Protobuf encoding." - } - ] - } - }, "Location": { "type": "string", "description": "URL location of schema, identified by schema group, schema name, and version." diff --git a/specification/scvmm/ScVmm.Management/Cloud.tsp b/specification/scvmm/ScVmm.Management/Cloud.tsp index 11df2b42e155..8c6534b30723 100644 --- a/specification/scvmm/ScVmm.Management/Cloud.tsp +++ b/specification/scvmm/ScVmm.Management/Cloud.tsp @@ -31,8 +31,13 @@ interface Clouds { @summary("Gets a Cloud.") get is ArmResourceRead; /** Onboards the ScVmm fabric cloud as an Azure cloud resource. */ + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @summary("Implements Clouds PUT method.") - createOrUpdate is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + Cloud, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** Updates the Clouds resource. */ @summary("Implements the Clouds PATCH method.") @extension( diff --git a/specification/scvmm/ScVmm.Management/GuestAgent.tsp b/specification/scvmm/ScVmm.Management/GuestAgent.tsp index e2433aecf13a..d44f3bdae9cc 100644 --- a/specification/scvmm/ScVmm.Management/GuestAgent.tsp +++ b/specification/scvmm/ScVmm.Management/GuestAgent.tsp @@ -30,8 +30,13 @@ interface GuestAgents { @summary("Gets GuestAgent.") get is ArmResourceRead; /** Create Or Update GuestAgent. */ + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @summary("Implements GuestAgent PUT method.") - create is ArmResourceCreateOrReplaceAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrReplaceAsync< + GuestAgent, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** Implements GuestAgent DELETE method. */ @summary("Deletes a GuestAgent resource.") delete is ArmResourceDeleteSync; diff --git a/specification/scvmm/ScVmm.Management/VirtualMachineInstance.tsp b/specification/scvmm/ScVmm.Management/VirtualMachineInstance.tsp index 49377ff789d6..2fc0b9c11303 100644 --- a/specification/scvmm/ScVmm.Management/VirtualMachineInstance.tsp +++ b/specification/scvmm/ScVmm.Management/VirtualMachineInstance.tsp @@ -57,8 +57,13 @@ interface VirtualMachineInstances { @summary("Gets a virtual machine.") get is ArmResourceRead; /** The operation to create or update a virtual machine instance. Please note some properties can be set only during virtual machine instance creation. */ + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @summary("Implements virtual machine PUT method.") - createOrUpdate is ArmResourceCreateOrUpdateAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + VirtualMachineInstance, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** The operation to update a virtual machine instance. */ @summary("Updates a virtual machine.") @extension( diff --git a/specification/scvmm/ScVmm.Management/VirtualMachineTemplate.tsp b/specification/scvmm/ScVmm.Management/VirtualMachineTemplate.tsp index 4f047ef22e0e..0ed42912c736 100644 --- a/specification/scvmm/ScVmm.Management/VirtualMachineTemplate.tsp +++ b/specification/scvmm/ScVmm.Management/VirtualMachineTemplate.tsp @@ -32,8 +32,13 @@ interface VirtualMachineTemplates { @summary("Gets a VirtualMachineTemplate.") get is ArmResourceRead; /** Onboards the ScVmm VM Template as an Azure VM Template resource. */ + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @summary("Implements VirtualMachineTemplates PUT method.") - createOrUpdate is ArmResourceCreateOrUpdateAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + VirtualMachineTemplate, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** Updates the VirtualMachineTemplate resource. */ @summary("Implements the VirtualMachineTemplate PATCH method.") @extension( diff --git a/specification/scvmm/ScVmm.Management/VirtualNetwork.tsp b/specification/scvmm/ScVmm.Management/VirtualNetwork.tsp index 12a8e500b1f8..e879baffdb67 100644 --- a/specification/scvmm/ScVmm.Management/VirtualNetwork.tsp +++ b/specification/scvmm/ScVmm.Management/VirtualNetwork.tsp @@ -31,8 +31,13 @@ interface VirtualNetworks { @summary("Gets a VirtualNetwork.") get is ArmResourceRead; /** Onboards the ScVmm virtual network as an Azure virtual network resource. */ + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @summary("Implements VirtualNetworks PUT method.") - createOrUpdate is ArmResourceCreateOrUpdateAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + VirtualNetwork, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** Updates the VirtualNetworks resource. */ @summary("Implements the VirtualNetworks PATCH method.") @extension( diff --git a/specification/scvmm/ScVmm.Management/VmmServer.tsp b/specification/scvmm/ScVmm.Management/VmmServer.tsp index 3926037810b0..78273c31048b 100644 --- a/specification/scvmm/ScVmm.Management/VmmServer.tsp +++ b/specification/scvmm/ScVmm.Management/VmmServer.tsp @@ -31,8 +31,13 @@ interface VmmServers { @summary("Gets a VMMServer.") get is ArmResourceRead; /** Onboards the SCVmm fabric as an Azure VmmServer resource. */ + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @summary("Implements VmmServers PUT method.") - createOrUpdate is ArmResourceCreateOrUpdateAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + VmmServer, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** Updates the VmmServers resource. */ @summary("Implements VmmServers PATCH method.") @extension( diff --git a/specification/scvmm/ScVmm.Management/client.tsp b/specification/scvmm/ScVmm.Management/client.tsp new file mode 100644 index 000000000000..06a15e529806 --- /dev/null +++ b/specification/scvmm/ScVmm.Management/client.tsp @@ -0,0 +1,6 @@ +import "./main.tsp"; +import "@azure-tools/typespec-client-generator-core"; + +using Azure.ClientGenerator.Core; + +@@clientName(Microsoft.ScVmm, "ScVmmMgmtClient", "python"); diff --git a/specification/scvmm/ScVmm.Management/models.tsp b/specification/scvmm/ScVmm.Management/models.tsp index bbc58d95d93e..74022dcb1eca 100644 --- a/specification/scvmm/ScVmm.Management/models.tsp +++ b/specification/scvmm/ScVmm.Management/models.tsp @@ -32,7 +32,7 @@ model QueryForceDelete { } /** The provisioning state of the resource. */ -union ResourceProvisioningState { +union ProvisioningState { string, Azure.ResourceManager.ResourceProvisioningState, @@ -200,7 +200,7 @@ model VmmServerProperties { /** Provisioning state of the resource. */ @visibility("read") - provisioningState?: Microsoft.ScVmm.ResourceProvisioningState; + provisioningState?: ProvisioningState; } /** Credentials to connect to VmmServer. */ @@ -254,7 +254,7 @@ model CloudProperties { /** Provisioning state of the resource. */ @visibility("read") - provisioningState?: Microsoft.ScVmm.ResourceProvisioningState; + provisioningState?: ProvisioningState; } /** Cloud Capacity model */ @@ -309,7 +309,7 @@ model VirtualNetworkProperties { /** Provisioning state of the resource. */ @visibility("read") - provisioningState?: Microsoft.ScVmm.ResourceProvisioningState; + provisioningState?: ProvisioningState; } /** Defines the resource properties. */ @@ -387,7 +387,7 @@ model VirtualMachineTemplateProperties { /** Provisioning state of the resource. */ @visibility("read") - provisioningState?: Microsoft.ScVmm.ResourceProvisioningState; + provisioningState?: ProvisioningState; } /** Network Interface model */ @@ -510,7 +510,7 @@ model AvailabilitySetProperties { /** Provisioning state of the resource. */ @visibility("read") - provisioningState?: Microsoft.ScVmm.ResourceProvisioningState; + provisioningState?: ProvisioningState; } /** The inventory type */ @@ -550,7 +550,7 @@ model InventoryItemProperties { /** Provisioning state of the resource. */ @visibility("read") - provisioningState?: Microsoft.ScVmm.ResourceProvisioningState; + provisioningState?: ProvisioningState; } /** Defines the resource properties. */ @@ -580,7 +580,7 @@ model VirtualMachineInstanceProperties { /** Provisioning state of the resource. */ @visibility("read") - provisioningState?: Microsoft.ScVmm.ResourceProvisioningState; + provisioningState?: ProvisioningState; } /** Virtual Machine Instance Properties Update model */ @@ -799,7 +799,7 @@ model VmInstanceHybridIdentityMetadataProperties { /** Provisioning state of the resource. */ @visibility("read") - provisioningState?: Microsoft.ScVmm.ResourceProvisioningState; + provisioningState?: ProvisioningState; } /** Defines the create checkpoint action properties. */ @@ -848,7 +848,7 @@ model GuestAgentProperties { /** Provisioning state of the resource. */ @visibility("read") - provisioningState?: Microsoft.ScVmm.ResourceProvisioningState; + provisioningState?: ProvisioningState; } /** Username / Password Credentials to connect to guest. */ diff --git a/specification/scvmm/ScVmm.Management/tspconfig.yaml b/specification/scvmm/ScVmm.Management/tspconfig.yaml index 8345bf5a9d7e..21d2a3394ac8 100644 --- a/specification/scvmm/ScVmm.Management/tspconfig.yaml +++ b/specification/scvmm/ScVmm.Management/tspconfig.yaml @@ -1,3 +1,6 @@ +parameters: + "service-dir": + default: "sdk/scvmm" emit: - "@azure-tools/typespec-autorest" options: diff --git a/specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/scvmm.json b/specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/scvmm.json index bc3f2a2f3c66..d53c2c453e9c 100644 --- a/specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/scvmm.json +++ b/specification/scvmm/resource-manager/Microsoft.ScVmm/stable/2023-10-07/scvmm.json @@ -3142,11 +3142,7 @@ "properties": { "$ref": "#/definitions/AvailabilitySetProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -3228,7 +3224,7 @@ } }, "provisioningState": { - "$ref": "#/definitions/ResourceProvisioningState", + "$ref": "#/definitions/ProvisioningState", "description": "Provisioning state of the resource.", "readOnly": true } @@ -3278,11 +3274,7 @@ "properties": { "$ref": "#/definitions/CloudProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -3399,7 +3391,7 @@ "x-ms-client-name": "storageQosPolicies" }, "provisioningState": { - "$ref": "#/definitions/ResourceProvisioningState", + "$ref": "#/definitions/ProvisioningState", "description": "Provisioning state of the resource.", "readOnly": true } @@ -3495,11 +3487,7 @@ "properties": { "$ref": "#/definitions/GuestAgentProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -3562,7 +3550,7 @@ "readOnly": true }, "provisioningState": { - "$ref": "#/definitions/ResourceProvisioningState", + "$ref": "#/definitions/ProvisioningState", "description": "Provisioning state of the resource.", "readOnly": true } @@ -3819,11 +3807,7 @@ "properties": { "$ref": "#/definitions/InventoryItemProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "kind": { "type": "string", @@ -3896,7 +3880,7 @@ "readOnly": true }, "provisioningState": { - "$ref": "#/definitions/ResourceProvisioningState", + "$ref": "#/definitions/ProvisioningState", "description": "Provisioning state of the resource.", "readOnly": true } @@ -4253,7 +4237,7 @@ ] } }, - "ResourceProvisioningState": { + "ProvisioningState": { "type": "string", "description": "The provisioning state of the resource.", "enum": [ @@ -4267,7 +4251,7 @@ "Created" ], "x-ms-enum": { - "name": "ResourceProvisioningState", + "name": "ProvisioningState", "modelAsString": true, "values": [ { @@ -4578,11 +4562,7 @@ "properties": { "$ref": "#/definitions/VirtualMachineInstanceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -4665,7 +4645,7 @@ "readOnly": true }, "provisioningState": { - "$ref": "#/definitions/ResourceProvisioningState", + "$ref": "#/definitions/ProvisioningState", "description": "Provisioning state of the resource.", "readOnly": true } @@ -4785,11 +4765,7 @@ "properties": { "$ref": "#/definitions/VirtualMachineTemplateProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -4976,7 +4952,7 @@ ] }, "provisioningState": { - "$ref": "#/definitions/ResourceProvisioningState", + "$ref": "#/definitions/ProvisioningState", "description": "Provisioning state of the resource.", "readOnly": true } @@ -5002,11 +4978,7 @@ "properties": { "$ref": "#/definitions/VirtualNetworkProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -5085,7 +5057,7 @@ "readOnly": true }, "provisioningState": { - "$ref": "#/definitions/ResourceProvisioningState", + "$ref": "#/definitions/ProvisioningState", "description": "Provisioning state of the resource.", "readOnly": true } @@ -5111,11 +5083,7 @@ "properties": { "$ref": "#/definitions/VmInstanceHybridIdentityMetadataProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -5159,7 +5127,7 @@ "description": "Gets or sets the Public Key." }, "provisioningState": { - "$ref": "#/definitions/ResourceProvisioningState", + "$ref": "#/definitions/ProvisioningState", "description": "Provisioning state of the resource.", "readOnly": true } @@ -5192,11 +5160,7 @@ "properties": { "$ref": "#/definitions/VmmServerProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -5275,7 +5239,7 @@ "readOnly": true }, "provisioningState": { - "$ref": "#/definitions/ResourceProvisioningState", + "$ref": "#/definitions/ProvisioningState", "description": "Provisioning state of the resource.", "readOnly": true } diff --git a/specification/scvmm/resource-manager/readme.java.md b/specification/scvmm/resource-manager/readme.java.md index 134228ed936f..eabda07cf99a 100644 --- a/specification/scvmm/resource-manager/readme.java.md +++ b/specification/scvmm/resource-manager/readme.java.md @@ -6,4 +6,6 @@ Please also specify `--azure-libraries-for-java-folder=; - createOrUpdate is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + Association, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; @@ -232,7 +237,12 @@ interface AssociationsInterface { @armResourceOperations interface FrontendsInterface { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + Frontend, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; @@ -242,7 +252,12 @@ interface FrontendsInterface { @armResourceOperations interface SecurityPoliciesInterface { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + SecurityPolicy, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync; delete is ArmResourceDeleteWithoutOkAsync; listByResourceGroup is ArmResourceListByParent; @@ -251,7 +266,12 @@ interface SecurityPoliciesInterface { @armResourceOperations interface TrafficControllerInterface { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + TrafficController, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync< TrafficController, TrafficControllerProperties diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json index 9d1d97a9baab..d406c4d8ddef 100644 --- a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/preview/2024-05-01-preview/TrafficController.json @@ -1356,11 +1356,7 @@ "properties": { "$ref": "#/definitions/AssociationProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1491,11 +1487,7 @@ "properties": { "$ref": "#/definitions/FrontendProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1646,11 +1638,7 @@ "properties": { "$ref": "#/definitions/SecurityPolicyProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1757,11 +1745,7 @@ "properties": { "$ref": "#/definitions/TrafficControllerProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/TrafficController.json b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/TrafficController.json index 4d2dab80fd7c..69b74f74c5c0 100644 --- a/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/TrafficController.json +++ b/specification/servicenetworking/resource-manager/Microsoft.ServiceNetworking/stable/2023-11-01/TrafficController.json @@ -1039,11 +1039,7 @@ "properties": { "$ref": "#/definitions/AssociationProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1174,11 +1170,7 @@ "properties": { "$ref": "#/definitions/FrontendProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1311,11 +1303,7 @@ "properties": { "$ref": "#/definitions/TrafficControllerProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/Operations_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..0886ae4a86be --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/Operations_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.SignalRService/SignalR/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.SignalRService", + "resource": "SignalR", + "operation": "Manage SignalR (read-only)", + "description": "View the resource settings and configurations in the management portal or through API" + }, + "properties": {} + } + ], + "nextLink": "providers/Microsoft.SignalRService?$skipToken={opaqueString}" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomCertificates_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomCertificates_CreateOrUpdate.json new file mode 100644 index 000000000000..b20419f1e631 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomCertificates_CreateOrUpdate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "parameters": { + "properties": { + "keyVaultBaseUri": "https://myvault.keyvault.azure.net/", + "keyVaultSecretName": "mycert", + "keyVaultSecretVersion": "bb6a44b2743f47f68dad0d6cc9756432" + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "certificateName": "myCert" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "keyVaultBaseUri": "https://myvault.keyvault.azure.net/", + "keyVaultSecretName": "mycert", + "keyVaultSecretVersion": "bb6a44b2743f47f68dad0d6cc9756432" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert", + "name": "myCert", + "type": "Microsoft.SignalRService/SignalR/customCertificates" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "keyVaultBaseUri": "https://myvault.keyvault.azure.net/", + "keyVaultSecretName": "mycert", + "keyVaultSecretVersion": "bb6a44b2743f47f68dad0d6cc9756432" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert", + "name": "myCert", + "type": "Microsoft.SignalRService/SignalR/customCertificates" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomCertificates_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomCertificates_Delete.json new file mode 100644 index 000000000000..51b490519307 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomCertificates_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "certificateName": "myCert" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomCertificates_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomCertificates_Get.json new file mode 100644 index 000000000000..4a9c21308674 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomCertificates_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "certificateName": "myCert" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "keyVaultBaseUri": "https://myvault.keyvault.azure.net/", + "keyVaultSecretName": "mycert", + "keyVaultSecretVersion": "bb6a44b2743f47f68dad0d6cc9756432" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert", + "name": "myCert", + "type": "Microsoft.SignalRService/SignalR/customCertificates" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomCertificates_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomCertificates_List.json new file mode 100644 index 000000000000..baabf4f8e2ec --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomCertificates_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "certificateName": "myCert" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "keyVaultBaseUri": "https://myvault.keyvault.azure.net/", + "keyVaultSecretName": "mycert", + "keyVaultSecretVersion": "bb6a44b2743f47f68dad0d6cc9756432" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert", + "name": "myCert", + "type": "Microsoft.SignalRService/SignalR/customCertificates" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomDomains_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomDomains_CreateOrUpdate.json new file mode 100644 index 000000000000..dc8e1e8b90e9 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomDomains_CreateOrUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "parameters": { + "properties": { + "domainName": "example.com", + "customCertificate": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert" + } + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "name": "myDomain" + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "domainName": "example.com", + "customCertificate": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customDomains/myDomain", + "name": "myDomain" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomDomains_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomDomains_Delete.json new file mode 100644 index 000000000000..5ec18cd59c53 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomDomains_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "name": "example" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomDomains_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomDomains_Get.json new file mode 100644 index 000000000000..0bd684bcd931 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomDomains_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "name": "example" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "domainName": "example.com", + "customCertificate": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customDomains/myDomain", + "name": "myDomain" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomDomains_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomDomains_List.json new file mode 100644 index 000000000000..f4040a375eb6 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRCustomDomains_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "name": "myDomain" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "domainName": "example.com", + "customCertificate": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customCertificates/myCert" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/customDomains/myDomain", + "name": "myDomain" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRPrivateEndpointConnections_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRPrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..f41e94e52390 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRPrivateEndpointConnections_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "privateEndpointConnectionName": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRPrivateEndpointConnections_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRPrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..c1f37c2850ef --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRPrivateEndpointConnections_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "privateEndpointConnectionName": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "groupIds": [ + "signalr" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRPrivateEndpointConnections_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRPrivateEndpointConnections_List.json new file mode 100644 index 000000000000..e098c3122bc1 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRPrivateEndpointConnections_List.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "groupIds": [ + "signalr" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRPrivateEndpointConnections_Update.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRPrivateEndpointConnections_Update.json new file mode 100644 index 000000000000..53e0f7868994 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRPrivateEndpointConnections_Update.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "parameters": { + "properties": { + "privateEndpoint": {}, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "privateEndpointConnectionName": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "groupIds": [ + "signalr" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRPrivateLinkResources_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRPrivateLinkResources_List.json new file mode 100644 index 000000000000..dc64fdf51852 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRPrivateLinkResources_List.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "signalr", + "requiredMembers": [ + "signalr" + ], + "requiredZoneNames": [ + "privatelink.service.signalr.net" + ], + "shareablePrivateLinkResourceTypes": [ + { + "name": "site", + "properties": { + "description": "Azure App Service can be used as an upstream", + "groupId": "sites", + "type": "Microsoft.Web/sites" + } + }, + { + "name": "vault", + "properties": { + "description": "Azure Key Vault can be used as credentials store", + "groupId": "vault", + "type": "Microsoft.KeyVault/vaults" + } + }, + { + "name": "table", + "properties": { + "description": "Azure Storage Table can be used as message store", + "groupId": "table", + "type": "Microsoft.Storage/storageAccounts" + } + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateLinkResources/myPrivateLink", + "name": "myPrivateLink", + "type": "privateLinkResources" + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToMoreResults..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicaSharedPrivateLinkResources_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicaSharedPrivateLinkResources_CreateOrUpdate.json new file mode 100644 index 000000000000..784f6a26eff6 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicaSharedPrivateLinkResources_CreateOrUpdate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "parameters": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "requestMessage": "Please approve" + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "replicaName": "mySignalRService-eastus", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + }, + "201": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicaSharedPrivateLinkResources_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicaSharedPrivateLinkResources_Get.json new file mode 100644 index 000000000000..c0b5851806c6 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicaSharedPrivateLinkResources_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "replicaName": "mySignalRService-eastus", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicaSharedPrivateLinkResources_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicaSharedPrivateLinkResources_List.json new file mode 100644 index 000000000000..61f2c355c9f1 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicaSharedPrivateLinkResources_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "replicaName": "mySignalRService-eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_CreateOrUpdate.json new file mode 100644 index 000000000000..2d9b19ca6b0b --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_CreateOrUpdate.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "capacity": 1 + }, + "properties": { + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "replicaName": "mySignalRService-eastus" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/replicas/mySignalRService-eastus", + "name": "mySignalRService-eastus", + "type": "Microsoft.SignalRService/SignalR", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + }, + "201": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/replicas/mySignalRService-eastus", + "name": "mySignalRService-eastus", + "type": "Microsoft.SignalRService/SignalR", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_Delete.json new file mode 100644 index 000000000000..647328ba9798 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "replicaName": "mySignalRService-eastus" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_Get.json new file mode 100644 index 000000000000..fb61c5ad69ba --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "replicaName": "mySignalRService-eastus" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/replicas/mySignalRService-eastus", + "name": "mySignalRService-eastus", + "type": "Microsoft.SignalRService/SignalR", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_List.json new file mode 100644 index 000000000000..f8a35f5b2992 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_List.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/replicas/mySignalRService-eastus", + "name": "mySignalRService-eastus", + "type": "Microsoft.SignalRService/SignalR", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_Restart.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_Restart.json new file mode 100644 index 000000000000..3b909cdf10de --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_Restart.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "replicaName": "mySignalRService-eastus" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_Update.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_Update.json new file mode 100644 index 000000000000..b710edab7add --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRReplicas_Update.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "capacity": 1 + }, + "properties": { + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "replicaName": "mySignalRService-eastus" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/replicas/mySignalRService-eastus", + "name": "mySignalRService-eastus", + "type": "Microsoft.SignalRService/SignalR", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + }, + "202": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/replicas/mySignalRService-eastus", + "name": "mySignalRService-eastus", + "type": "Microsoft.SignalRService/SignalR", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json new file mode 100644 index 000000000000..faa39bad2b1f --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "parameters": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "requestMessage": "Please approve" + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + }, + "201": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRSharedPrivateLinkResources_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRSharedPrivateLinkResources_Delete.json new file mode 100644 index 000000000000..0734f4d0b427 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRSharedPrivateLinkResources_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRSharedPrivateLinkResources_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRSharedPrivateLinkResources_Get.json new file mode 100644 index 000000000000..ae769007caca --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRSharedPrivateLinkResources_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRSharedPrivateLinkResources_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRSharedPrivateLinkResources_List.json new file mode 100644 index 000000000000..f58752ead5c9 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalRSharedPrivateLinkResources_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_CheckNameAvailability.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_CheckNameAvailability.json new file mode 100644 index 000000000000..ab3b1d7c67a1 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "location": "eastus", + "parameters": { + "type": "Microsoft.SignalRService/SignalR", + "name": "mySignalRService" + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "The name is already taken. Please try a different name." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_CreateOrUpdate.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_CreateOrUpdate.json new file mode 100644 index 000000000000..890693ac7296 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_CreateOrUpdate.json @@ -0,0 +1,463 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "capacity": 1 + }, + "properties": { + "tls": { + "clientCertEnabled": false + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "serverless": { + "connectionTimeoutInSeconds": 5 + }, + "upstream": { + "templates": [ + { + "hubPattern": "*", + "eventPattern": "connect,disconnect", + "categoryPattern": "*", + "urlTemplate": "https://example.com/chat/api/connect", + "auth": { + "type": "ManagedIdentity", + "managedIdentity": { + "resource": "api://example" + } + } + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "serverless": { + "connectionTimeoutInSeconds": 5 + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ], + "ipRules": [ + { + "value": "123.456.789.123/24", + "action": "Allow" + }, + { + "value": "123.456.789.123", + "action": "Allow" + }, + { + "value": "AppService", + "action": "Allow" + } + ] + }, + "applicationFirewall": { + "clientConnectionCountRules": [ + { + "type": "ThrottleByJwtSignatureRule", + "maxCount": 20 + }, + { + "type": "ThrottleByUserIdRule", + "maxCount": 20 + }, + { + "type": "ThrottleByJwtCustomClaimRule", + "claimName": "claimName", + "maxCount": 20 + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false, + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + }, + "201": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "serverless": { + "connectionTimeoutInSeconds": 5 + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ], + "ipRules": [ + { + "value": "123.456.789.123/24", + "action": "Allow" + }, + { + "value": "123.456.789.123", + "action": "Allow" + }, + { + "value": "AppService", + "action": "Allow" + } + ] + }, + "applicationFirewall": { + "clientConnectionCountRules": [ + { + "type": "ThrottleByJwtSignatureRule", + "maxCount": 20 + }, + { + "type": "ThrottleByUserIdRule", + "maxCount": 20 + }, + { + "type": "ThrottleByJwtCustomClaimRule", + "claimName": "claimName", + "maxCount": 20 + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false, + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_Delete.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_Delete.json new file mode 100644 index 000000000000..56fbd96b99f2 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_Get.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_Get.json new file mode 100644 index 000000000000..b8b90a51a38a --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_Get.json @@ -0,0 +1,184 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "serverless": { + "connectionTimeoutInSeconds": 5 + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ], + "ipRules": [ + { + "value": "123.456.789.123/24", + "action": "Allow" + }, + { + "value": "123.456.789.123", + "action": "Allow" + }, + { + "value": "AppService", + "action": "Allow" + } + ] + }, + "applicationFirewall": { + "clientConnectionCountRules": [ + { + "type": "ThrottleByJwtSignatureRule", + "maxCount": 20 + }, + { + "type": "ThrottleByUserIdRule", + "maxCount": 20 + }, + { + "type": "ThrottleByJwtCustomClaimRule", + "claimName": "claimName", + "maxCount": 20 + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false, + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_ListByResourceGroup.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_ListByResourceGroup.json new file mode 100644 index 000000000000..5375cecf2e04 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_ListByResourceGroup.json @@ -0,0 +1,187 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "serverless": { + "connectionTimeoutInSeconds": 5 + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ], + "ipRules": [ + { + "value": "123.456.789.123/24", + "action": "Allow" + }, + { + "value": "123.456.789.123", + "action": "Allow" + }, + { + "value": "AppService", + "action": "Allow" + } + ] + }, + "applicationFirewall": { + "clientConnectionCountRules": [ + { + "type": "ThrottleByJwtSignatureRule", + "maxCount": 20 + }, + { + "type": "ThrottleByUserIdRule", + "maxCount": 20 + }, + { + "type": "ThrottleByJwtCustomClaimRule", + "claimName": "claimName", + "maxCount": 20 + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false, + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_ListBySubscription.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_ListBySubscription.json new file mode 100644 index 000000000000..c29b46677832 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_ListBySubscription.json @@ -0,0 +1,186 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "serverless": { + "connectionTimeoutInSeconds": 5 + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ], + "ipRules": [ + { + "value": "123.456.789.123/24", + "action": "Allow" + }, + { + "value": "123.456.789.123", + "action": "Allow" + }, + { + "value": "AppService", + "action": "Allow" + } + ] + }, + "applicationFirewall": { + "clientConnectionCountRules": [ + { + "type": "ThrottleByJwtSignatureRule", + "maxCount": 20 + }, + { + "type": "ThrottleByUserIdRule", + "maxCount": 20 + }, + { + "type": "ThrottleByJwtCustomClaimRule", + "claimName": "claimName", + "maxCount": 20 + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false, + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_ListKeys.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_ListKeys.json new file mode 100644 index 000000000000..546574dcf15e --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_ListKeys.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_ListReplicaSkus.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_ListReplicaSkus.json new file mode 100644 index 000000000000..4d5bb9caec1f --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_ListReplicaSkus.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService", + "replicaName": "mySignalRService-eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.SignalRService/SignalR/replicas", + "sku": { + "name": "Free_F1", + "tier": "Free" + }, + "capacity": { + "minimum": 0, + "maximum": 1, + "default": 1, + "allowedValues": [ + 1 + ], + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.SignalRService/SignalR/replicas", + "sku": { + "name": "Standard_S1", + "tier": "Standard" + }, + "capacity": { + "minimum": 0, + "maximum": 100, + "default": 1, + "allowedValues": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90, + 100 + ], + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.SignalRService/SignalR/replicas", + "sku": { + "name": "Premium_P1", + "tier": "Standard" + }, + "capacity": { + "minimum": 0, + "maximum": 100, + "default": 1, + "allowedValues": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90, + 100 + ], + "scaleType": "Automatic" + } + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_ListSkus.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_ListSkus.json new file mode 100644 index 000000000000..cca51b44733c --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_ListSkus.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.SignalRService/SignalR", + "sku": { + "name": "Free_F1", + "tier": "Free" + }, + "capacity": { + "minimum": 0, + "maximum": 1, + "default": 1, + "allowedValues": [ + 1 + ], + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.SignalRService/SignalR", + "sku": { + "name": "Standard_S1", + "tier": "Standard" + }, + "capacity": { + "minimum": 0, + "maximum": 100, + "default": 1, + "allowedValues": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90, + 100 + ], + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.SignalRService/SignalR/replicas", + "sku": { + "name": "Premium_P1", + "tier": "Standard" + }, + "capacity": { + "minimum": 0, + "maximum": 100, + "default": 1, + "allowedValues": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90, + 100 + ], + "scaleType": "Automatic" + } + } + ] + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_RegenerateKey.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_RegenerateKey.json new file mode 100644 index 000000000000..356f13f636a9 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_RegenerateKey.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "parameters": { + "keyType": "Primary" + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": {} + }, + "202": { + "body": {}, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_Restart.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_Restart.json new file mode 100644 index 000000000000..90014383d0a2 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_Restart.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_Update.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_Update.json new file mode 100644 index 000000000000..134ed3ce7160 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/SignalR_Update.json @@ -0,0 +1,285 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "capacity": 1 + }, + "properties": { + "tls": { + "clientCertEnabled": false + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "serverless": { + "connectionTimeoutInSeconds": 5 + }, + "upstream": { + "templates": [ + { + "hubPattern": "*", + "eventPattern": "connect,disconnect", + "categoryPattern": "*", + "urlTemplate": "https://example.com/chat/api/connect", + "auth": { + "type": "ManagedIdentity", + "managedIdentity": { + "resource": "api://example" + } + } + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "mySignalRService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mysignalrservice.service.signalr.net", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService/privateEndpointConnections/mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/SignalR/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ], + "tls": { + "clientCertEnabled": true + }, + "features": [ + { + "flag": "ServiceMode", + "value": "Serverless", + "properties": {} + }, + { + "flag": "EnableConnectivityLogs", + "value": "True", + "properties": {} + }, + { + "flag": "EnableMessagingLogs", + "value": "False", + "properties": {} + }, + { + "flag": "EnableLiveTrace", + "value": "False", + "properties": {} + } + ], + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "cors": { + "allowedOrigins": [ + "https://foo.com", + "https://bar.com" + ] + }, + "serverless": { + "connectionTimeoutInSeconds": 5 + }, + "upstream": { + "templates": [ + { + "urlTemplate": "http://foo.com" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mysignalrservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ], + "ipRules": [ + { + "value": "123.456.789.123/24", + "action": "Allow" + }, + { + "value": "123.456.789.123", + "action": "Allow" + }, + { + "value": "AppService", + "action": "Allow" + } + ] + }, + "applicationFirewall": { + "clientConnectionCountRules": [ + { + "type": "ThrottleByJwtSignatureRule", + "maxCount": 20 + }, + { + "type": "ThrottleByUserIdRule", + "maxCount": 20 + }, + { + "type": "ThrottleByJwtCustomClaimRule", + "claimName": "claimName", + "maxCount": 20 + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false, + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "kind": "SignalR", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/SignalR/mySignalRService", + "name": "mySignalRService", + "type": "Microsoft.SignalRService/SignalR", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/Usages_List.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/Usages_List.json new file mode 100644 index 000000000000..e04527b26478 --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/Usages_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "location": "eastus", + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.SignalRService/locations/eastus/usages/Usage1", + "currentValue": 0, + "limit": 100, + "name": { + "value": "Usage1", + "localizedValue": "Usage1" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.SignalRService/locations/eastus/usages/Usage2", + "currentValue": 0, + "limit": 100, + "name": { + "value": "Usage2", + "localizedValue": "Usage2" + }, + "unit": "Count" + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToMoreResults..." + } + } + } +} diff --git a/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/signalr.json b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/signalr.json new file mode 100644 index 000000000000..85932187a00d --- /dev/null +++ b/specification/signalr/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/signalr.json @@ -0,0 +1,3813 @@ +{ + "swagger": "2.0", + "info": { + "title": "SignalRManagementClient", + "description": "REST API for Azure SignalR Service", + "version": "2024-04-01-preview" + }, + "paths": { + "/providers/Microsoft.SignalRService/operations": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Lists all of the available REST API operations of the Microsoft.SignalRService provider.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "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" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Checks that the resource name is valid and is not already in use.", + "operationId": "SignalR_CheckNameAvailability", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "location", + "description": "the region", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "parameters", + "description": "Parameters supplied to the operation.", + "required": true, + "schema": { + "$ref": "#/definitions/NameAvailabilityParameters" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the name availability.", + "schema": { + "$ref": "#/definitions/NameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_CheckNameAvailability": { + "$ref": "./examples/SignalR_CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/usages": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List resource usage quotas by location.", + "operationId": "Usages_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "location", + "description": "the location like \"eastus\"", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the usage quotas of a subscription in specified region.", + "schema": { + "$ref": "#/definitions/SignalRUsageList" + } + }, + "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" + }, + "x-ms-examples": { + "Usages_List": { + "$ref": "./examples/Usages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/signalR": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Handles requests to list all resources in a subscription.", + "operationId": "SignalR_ListBySubscription", + "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. The response describes the list of resources in the subscription.", + "schema": { + "$ref": "#/definitions/SignalRResourceList" + } + }, + "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" + }, + "x-ms-examples": { + "SignalR_ListBySubscription": { + "$ref": "./examples/SignalR_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Handles requests to list all resources in a resource group.", + "operationId": "SignalR_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. The response describes the list of resources in a resourceGroup.", + "schema": { + "$ref": "#/definitions/SignalRResourceList" + } + }, + "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" + }, + "x-ms-examples": { + "SignalR_ListByResourceGroup": { + "$ref": "./examples/SignalR_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the resource and its properties.", + "operationId": "SignalR_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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding resource.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_Get": { + "$ref": "./examples/SignalR_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Create or update a resource.", + "operationId": "SignalR_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "parameters", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a resource.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "201": { + "description": "Created. The response describes the new resource and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting resource is now updating and contains a Location header to query the operation result.." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "SignalR_CreateOrUpdate": { + "$ref": "./examples/SignalR_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Operation to delete a resource.", + "operationId": "SignalR_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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is already deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the resource is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "SignalR_Delete": { + "$ref": "./examples/SignalR_Delete.json" + } + } + }, + "patch": { + "tags": [ + "SignalR" + ], + "description": "Operation to update an exiting resource.", + "operationId": "SignalR_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "parameters", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a resource.", + "schema": { + "$ref": "#/definitions/SignalRResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting resource is now updating and contains a Location header to query the operation result..", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "SignalR_Update": { + "$ref": "./examples/SignalR_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customCertificates": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List all custom certificates.", + "operationId": "SignalRCustomCertificates_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes custom certificates of the resource.", + "schema": { + "$ref": "#/definitions/CustomCertificateList" + } + }, + "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" + }, + "x-ms-examples": { + "SignalRCustomCertificates_List": { + "$ref": "./examples/SignalRCustomCertificates_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customCertificates/{certificateName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get a custom certificate.", + "operationId": "SignalRCustomCertificates_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "certificateName", + "description": "Custom certificate name", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the corresponding custom certificate.", + "schema": { + "$ref": "#/definitions/CustomCertificate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRCustomCertificates_Get": { + "$ref": "./examples/SignalRCustomCertificates_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Create or update a custom certificate.", + "operationId": "SignalRCustomCertificates_CreateOrUpdate", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "certificateName", + "description": "Custom certificate name", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "", + "required": true, + "schema": { + "$ref": "#/definitions/CustomCertificate" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the certificate.", + "schema": { + "$ref": "#/definitions/CustomCertificate" + } + }, + "201": { + "description": "Created. The response describes the certificate.", + "schema": { + "$ref": "#/definitions/CustomCertificate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "SignalRCustomCertificates_CreateOrUpdate": { + "$ref": "./examples/SignalRCustomCertificates_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Delete a custom certificate.", + "operationId": "SignalRCustomCertificates_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "certificateName", + "description": "Custom certificate name", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "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": { + "SignalRCustomCertificates_Delete": { + "$ref": "./examples/SignalRCustomCertificates_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customDomains": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List all custom domains.", + "operationId": "SignalRCustomDomains_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes custom domains of the resource.", + "schema": { + "$ref": "#/definitions/CustomDomainList" + } + }, + "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" + }, + "x-ms-examples": { + "SignalRCustomDomains_List": { + "$ref": "./examples/SignalRCustomDomains_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/customDomains/{name}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get a custom domain.", + "operationId": "SignalRCustomDomains_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "name", + "description": "Custom domain name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the corresponding custom domain.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRCustomDomains_Get": { + "$ref": "./examples/SignalRCustomDomains_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Create or update a custom domain.", + "operationId": "SignalRCustomDomains_CreateOrUpdate", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "name", + "description": "Custom domain name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomain" + } + } + ], + "responses": { + "201": { + "description": "Created. The response describes the custom domain and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "SignalRCustomDomains_CreateOrUpdate": { + "$ref": "./examples/SignalRCustomDomains_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Delete a custom domain.", + "operationId": "SignalRCustomDomains_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "name", + "description": "Custom domain name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the custom domain is deleted." + }, + "202": { + "description": "Accepted. The response indicates the operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the custom domain is deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "SignalRCustomDomains_Delete": { + "$ref": "./examples/SignalRCustomDomains_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/listKeys": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Get the access keys of the resource.", + "operationId": "SignalR_ListKeys", + "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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes access keys of the resource.", + "schema": { + "$ref": "#/definitions/SignalRKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_ListKeys": { + "$ref": "./examples/SignalR_ListKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List private endpoint connections", + "operationId": "SignalRPrivateEndpointConnections_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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionList" + } + }, + "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" + }, + "x-ms-examples": { + "SignalRPrivateEndpointConnections_List": { + "$ref": "./examples/SignalRPrivateEndpointConnections_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the specified private endpoint connection", + "operationId": "SignalRPrivateEndpointConnections_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRPrivateEndpointConnections_Get": { + "$ref": "./examples/SignalRPrivateEndpointConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Update the state of specified private endpoint connection", + "operationId": "SignalRPrivateEndpointConnections_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "in": "body", + "name": "parameters", + "description": "The resource of private endpoint and its properties", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "OK. The response indicates the private endpoint connection is updated successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRPrivateEndpointConnections_Update": { + "$ref": "./examples/SignalRPrivateEndpointConnections_Update.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Delete the specified private endpoint connection", + "operationId": "SignalRPrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is already deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the private endpoint connection is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "SignalRPrivateEndpointConnections_Delete": { + "$ref": "./examples/SignalRPrivateEndpointConnections_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the private link resources that need to be created for a resource.", + "operationId": "SignalRPrivateLinkResources_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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceList" + } + }, + "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" + }, + "x-ms-examples": { + "SignalRPrivateLinkResources_List": { + "$ref": "./examples/SignalRPrivateLinkResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/regenerateKey": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Regenerate the access key for the resource. PrimaryKey and SecondaryKey cannot be regenerated at the same time.", + "operationId": "SignalR_RegenerateKey", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "parameters", + "description": "Parameter that describes the Regenerate Key Operation.", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateKeyParameters" + } + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/SignalRKeys" + } + }, + "202": { + "description": "Accepted and an async operation is executing in background to make the new key to take effect. The response contains new access keys and a Location header to query the async operation result.", + "schema": { + "$ref": "#/definitions/SignalRKeys" + }, + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "SignalR_RegenerateKey": { + "$ref": "./examples/SignalR_RegenerateKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List all replicas belong to this resource", + "operationId": "SignalRReplicas_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes replicas of the resource.", + "schema": { + "$ref": "#/definitions/ReplicaList" + } + }, + "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" + }, + "x-ms-examples": { + "SignalRReplicas_List": { + "$ref": "./examples/SignalRReplicas_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the replica and its properties.", + "operationId": "SignalRReplicas_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding replica.", + "schema": { + "$ref": "#/definitions/Replica" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRReplicas_Get": { + "$ref": "./examples/SignalRReplicas_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Create or update a replica.", + "operationId": "SignalRReplicas_CreateOrUpdate", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/Replica" + } + } + ], + "responses": { + "200": { + "description": "Updated. The response describes a replica.", + "schema": { + "$ref": "#/definitions/Replica" + } + }, + "201": { + "description": "Created. The response describes the new replica and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/Replica" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "SignalRReplicas_CreateOrUpdate": { + "$ref": "./examples/SignalRReplicas_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Operation to delete a replica.", + "operationId": "SignalRReplicas_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the replica is deleted." + }, + "204": { + "description": "Success. The response indicates the replica is deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRReplicas_Delete": { + "$ref": "./examples/SignalRReplicas_Delete.json" + } + } + }, + "patch": { + "tags": [ + "SignalR" + ], + "description": "Operation to update an exiting replica.", + "operationId": "SignalRReplicas_Update", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/Replica" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes a replica.", + "schema": { + "$ref": "#/definitions/Replica" + } + }, + "202": { + "description": "Updated. The response describes the new replica and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/Replica" + }, + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "SignalRReplicas_Update": { + "$ref": "./examples/SignalRReplicas_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName}/restart": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Operation to restart a replica.", + "operationId": "SignalRReplicas_Restart", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the restart operation is performed in the background.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Success. The response indicates the operation is successful and no content will be returned." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "SignalRReplicas_Restart": { + "$ref": "./examples/SignalRReplicas_Restart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName}/sharedPrivateLinkResources": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List shared private link resources", + "operationId": "SignalRReplicaSharedPrivateLinkResources_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of shared private link resources.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResourceList" + } + }, + "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" + }, + "x-ms-examples": { + "SignalRReplicaSharedPrivateLinkResources_List": { + "$ref": "./examples/SignalRReplicaSharedPrivateLinkResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the specified shared private link resource", + "operationId": "SignalRReplicaSharedPrivateLinkResources_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a shared private link resource.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRReplicaSharedPrivateLinkResources_Get": { + "$ref": "./examples/SignalRReplicaSharedPrivateLinkResources_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Create or update a shared private link resource", + "operationId": "SignalRReplicaSharedPrivateLinkResources_CreateOrUpdate", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The shared private link resource", + "required": true, + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + } + ], + "responses": { + "200": { + "description": "OK. The response indicates the shared private link resource is updated.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "201": { + "description": "Created. The response indicates the shared private link resource is created.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "SignalRReplicaSharedPrivateLinkResources_CreateOrUpdate": { + "$ref": "./examples/SignalRReplicaSharedPrivateLinkResources_CreateOrUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/replicas/{replicaName}/skus": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List all available skus of the replica resource.", + "operationId": "SignalR_ListReplicaSkus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes all available skus of the replica resource.", + "schema": { + "$ref": "#/definitions/SkuList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_ListReplicaSkus": { + "$ref": "./examples/SignalR_ListReplicaSkus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/restart": { + "post": { + "tags": [ + "SignalR" + ], + "description": "Operation to restart a resource.", + "operationId": "SignalR_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/ResourceName" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the restart operation is performed in the background.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Success. The response indicates the operation is successful and no content will be returned." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "SignalR_Restart": { + "$ref": "./examples/SignalR_Restart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/sharedPrivateLinkResources": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List shared private link resources", + "operationId": "SignalRSharedPrivateLinkResources_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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of shared private link resources.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResourceList" + } + }, + "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" + }, + "x-ms-examples": { + "SignalRSharedPrivateLinkResources_List": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { + "get": { + "tags": [ + "SignalR" + ], + "description": "Get the specified shared private link resource", + "operationId": "SignalRSharedPrivateLinkResources_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SharedPrivateLinkResourceName" + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a shared private link resource.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalRSharedPrivateLinkResources_Get": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_Get.json" + } + } + }, + "put": { + "tags": [ + "SignalR" + ], + "description": "Create or update a shared private link resource", + "operationId": "SignalRSharedPrivateLinkResources_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SharedPrivateLinkResourceName" + }, + { + "in": "body", + "name": "parameters", + "description": "The shared private link resource", + "required": true, + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "OK. The response indicates the shared private link resource is updated.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "201": { + "description": "Created. The response indicates the shared private link resource is created.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "SignalRSharedPrivateLinkResources_CreateOrUpdate": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "SignalR" + ], + "description": "Delete the specified shared private link resource", + "operationId": "SignalRSharedPrivateLinkResources_Delete", + "parameters": [ + { + "$ref": "#/parameters/SharedPrivateLinkResourceName" + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is already deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the private endpoint connection is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "SignalRSharedPrivateLinkResources_Delete": { + "$ref": "./examples/SignalRSharedPrivateLinkResources_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/signalR/{resourceName}/skus": { + "get": { + "tags": [ + "SignalR" + ], + "description": "List all available skus of the resource.", + "operationId": "SignalR_ListSkus", + "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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes all available skus of the resource.", + "schema": { + "$ref": "#/definitions/SkuList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "SignalR_ListSkus": { + "$ref": "./examples/SignalR_ListSkus.json" + } + } + } + } + }, + "definitions": { + "ACLAction": { + "description": "Azure Networking ACL Action.", + "enum": [ + "Allow", + "Deny" + ], + "type": "string", + "x-ms-enum": { + "name": "ACLAction", + "modelAsString": true + } + }, + "ApplicationFirewallSettings": { + "description": "Application firewall settings for the resource", + "type": "object", + "properties": { + "clientConnectionCountRules": { + "description": "Rules to control the client connection count", + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/ClientConnectionCountRule" + }, + "x-ms-identifiers": [] + } + } + }, + "ClientConnectionCountRule": { + "description": "A base class for client connection count rules", + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "enum": [ + "ThrottleByJwtSignatureRule", + "ThrottleByUserIdRule", + "ThrottleByJwtCustomClaimRule" + ], + "type": "string", + "x-ms-enum": { + "name": "ClientConnectionCountRuleDiscriminator", + "modelAsString": true + } + } + }, + "discriminator": "type" + }, + "CustomCertificate": { + "description": "A custom certificate.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomCertificateProperties" + } + } + }, + "CustomCertificateList": { + "description": "Custom certificates list.", + "type": "object", + "properties": { + "value": { + "description": "List of custom certificates of this resource.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomCertificate" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "CustomCertificateProperties": { + "description": "Custom certificate properties.", + "required": [ + "keyVaultBaseUri", + "keyVaultSecretName" + ], + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "keyVaultBaseUri": { + "description": "Base uri of the KeyVault that stores certificate.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "keyVaultSecretName": { + "description": "Certificate secret name.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "keyVaultSecretVersion": { + "description": "Certificate secret version.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "CustomDomain": { + "description": "A custom domain", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomDomainProperties" + } + } + }, + "CustomDomainList": { + "description": "Custom domains list", + "type": "object", + "properties": { + "value": { + "description": "List of custom domains that bind to this resource.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomDomain" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "CustomDomainProperties": { + "description": "Properties of a custom domain.", + "required": [ + "customCertificate", + "domainName" + ], + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "domainName": { + "description": "The custom domain name.", + "type": "string" + }, + "customCertificate": { + "$ref": "#/definitions/ResourceReference" + } + } + }, + "Dimension": { + "description": "Specifications of the Dimension of metrics.", + "type": "object", + "properties": { + "name": { + "description": "The public facing name of the dimension.", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the dimension.", + "type": "string" + }, + "internalName": { + "description": "Name of the dimension as it appears in MDM.", + "type": "string" + }, + "toBeExportedForShoebox": { + "description": "A Boolean flag indicating whether this dimension should be included for the shoebox export scenario.", + "type": "boolean" + } + } + }, + "FeatureFlags": { + "description": "FeatureFlags is the supported features of Azure SignalR service.\r\n- ServiceMode: Flag for backend server for SignalR service. Values allowed: \"Default\": have your own backend server; \"Serverless\": your application doesn't have a backend server; \"Classic\": for backward compatibility. Support both Default and Serverless mode but not recommended; \"PredefinedOnly\": for future use.\r\n- EnableConnectivityLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableMessagingLogs: \"true\"/\"false\", to enable/disable the connectivity log category respectively.\r\n- EnableLiveTrace: Live Trace allows you to know what's happening inside Azure SignalR service, it will give you live traces in real time, it will be helpful when you developing your own Azure SignalR based web application or self-troubleshooting some issues. Please note that live traces are counted as outbound messages that will be charged. Values allowed: \"true\"/\"false\", to enable/disable live trace feature.", + "enum": [ + "ServiceMode", + "EnableConnectivityLogs", + "EnableMessagingLogs", + "EnableLiveTrace" + ], + "type": "string", + "x-ms-enum": { + "name": "FeatureFlags", + "modelAsString": true + } + }, + "IPRule": { + "description": "An IP rule", + "type": "object", + "properties": { + "value": { + "description": "An IP or CIDR or ServiceTag", + "type": "string" + }, + "action": { + "$ref": "#/definitions/ACLAction" + } + } + }, + "KeyType": { + "description": "The type of access key.", + "enum": [ + "Primary", + "Secondary", + "Salt" + ], + "type": "string", + "x-ms-enum": { + "name": "KeyType", + "modelAsString": true + } + }, + "LiveTraceCategory": { + "description": "Live trace category configuration of a Microsoft.SignalRService resource.", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the live trace category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive.", + "type": "string" + }, + "enabled": { + "description": "Indicates whether or the live trace category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive.", + "type": "string" + } + } + }, + "LiveTraceConfiguration": { + "description": "Live trace configuration of a Microsoft.SignalRService resource.", + "type": "object", + "properties": { + "enabled": { + "description": "Indicates whether or not enable live trace.\r\nWhen it's set to true, live trace client can connect to the service.\r\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\r\nAvailable values: true, false.\r\nCase insensitive.", + "default": "false", + "type": "string" + }, + "categories": { + "description": "Gets or sets the list of category configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/LiveTraceCategory" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "LogSpecification": { + "description": "Specifications of the Logs for Azure Monitoring.", + "type": "object", + "properties": { + "name": { + "description": "Name of the log.", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the log.", + "type": "string" + } + } + }, + "ManagedIdentity": { + "description": "A class represent managed identities used for request and response", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/ManagedIdentityType" + }, + "userAssignedIdentities": { + "description": "Get or set the user assigned identities", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentityProperty" + } + }, + "principalId": { + "description": "Get the principal id for the system assigned identity.\r\nOnly be used in response.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Get the tenant id for the system assigned identity.\r\nOnly be used in response", + "type": "string", + "readOnly": true + } + } + }, + "ManagedIdentitySettings": { + "description": "Managed identity settings for upstream.", + "type": "object", + "properties": { + "resource": { + "description": "The Resource indicating the App ID URI of the target resource.\r\nIt also appears in the aud (audience) claim of the issued token.", + "type": "string" + } + } + }, + "ManagedIdentityType": { + "description": "Represents the identity type: systemAssigned, userAssigned, None", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": true + } + }, + "MetricSpecification": { + "description": "Specifications of the Metrics for Azure Monitoring.", + "type": "object", + "properties": { + "name": { + "description": "Name of the metric.", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the metric.", + "type": "string" + }, + "displayDescription": { + "description": "Localized friendly description of the metric.", + "type": "string" + }, + "unit": { + "description": "The unit that makes sense for the metric.", + "type": "string" + }, + "aggregationType": { + "description": "Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.", + "type": "string" + }, + "fillGapWithZero": { + "description": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published. \r\nEx. a metric that returns the number of times a particular error code was emitted. The error code may not appear \r\noften, instead of the RP publishing 0, Shoebox can auto fill in 0s for time periods where nothing was emitted.", + "type": "string" + }, + "category": { + "description": "The name of the metric category that the metric belongs to. A metric can only belong to a single category.", + "type": "string" + }, + "dimensions": { + "description": "The dimensions of the metrics.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "NameAvailability": { + "description": "Result of the request to check name availability. It contains a flag and possible reason of failure.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "Indicates whether the name is available or not.", + "type": "boolean" + }, + "reason": { + "description": "The reason of the availability. Required if name is not available.", + "type": "string" + }, + "message": { + "description": "The message of the operation.", + "type": "string" + } + } + }, + "NameAvailabilityParameters": { + "description": "Data POST-ed to the nameAvailability action", + "required": [ + "name", + "type" + ], + "type": "object", + "properties": { + "type": { + "description": "The resource type. Can be \"Microsoft.SignalRService/SignalR\", \"Microsoft.SignalRService/WebPubSub\", \"Microsoft.SignalRService/SignalR/replicas\" or \"Microsoft.SignalRService/WebPubSub/replicas\"", + "type": "string" + }, + "name": { + "description": "The resource name to validate. e.g.\"my-resource-name\"", + "type": "string" + } + } + }, + "NetworkACL": { + "description": "Network ACL", + "type": "object", + "properties": { + "allow": { + "description": "Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRRequestType" + }, + "x-ms-identifiers": [] + }, + "deny": { + "description": "Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRRequestType" + }, + "x-ms-identifiers": [] + } + } + }, + "Operation": { + "description": "REST API operation supported by resource provider.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation with format: {provider}/{resource}/{operation}", + "type": "string" + }, + "isDataAction": { + "description": "If the operation is a data action. (for data plane rbac)", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay" + }, + "origin": { + "description": "Optional. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/OperationProperties" + } + } + }, + "OperationDisplay": { + "description": "The object that describes a 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": "The localized friendly name for the operation.", + "type": "string" + }, + "description": { + "description": "The localized friendly description for the operation", + "type": "string" + } + } + }, + "OperationList": { + "description": "Result of the request to list REST API operations. It contains a list of operations.", + "type": "object", + "properties": { + "value": { + "description": "List of operations supported by the resource provider.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Extra Operation properties.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification" + } + } + }, + "PrivateEndpoint": { + "description": "Private endpoint", + "type": "object", + "properties": { + "id": { + "description": "Full qualified Id of the private endpoint", + "type": "string" + } + } + }, + "PrivateEndpointACL": { + "description": "ACL for a private endpoint", + "required": [ + "name" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkACL" + } + ], + "properties": { + "name": { + "description": "Name of the private endpoint connection", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection to an azure resource", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + } + } + }, + "PrivateEndpointConnectionList": { + "description": "A list of private endpoint connections", + "type": "object", + "properties": { + "value": { + "description": "The list of the private endpoint connections", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "Private endpoint connection properties", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "groupIds": { + "description": "Group IDs", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + } + } + }, + "PrivateLinkResource": { + "description": "Private link resource", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkResourceProperties" + } + } + }, + "PrivateLinkResourceList": { + "description": "Contains a list of PrivateLinkResource and a possible link to query more results", + "type": "object", + "properties": { + "value": { + "description": "List of PrivateLinkResource", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "PrivateLinkResourceProperties": { + "description": "Private link resource properties", + "type": "object", + "properties": { + "groupId": { + "description": "Group Id of the private link resource", + "type": "string" + }, + "requiredMembers": { + "description": "Required members of the private link resource", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "requiredZoneNames": { + "description": "Required private DNS zone names", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "shareablePrivateLinkResourceTypes": { + "description": "The list of resources that are onboarded to private link service", + "type": "array", + "items": { + "$ref": "#/definitions/ShareablePrivateLinkResourceType" + }, + "x-ms-identifiers": [] + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "Connection state of the private endpoint connection", + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStatus" + }, + "description": { + "description": "The reason for approval/rejection of the connection.", + "type": "string" + }, + "actionsRequired": { + "description": "A message indicating if changes on the service provider require any updates on the consumer.", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionStatus": { + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": true + } + }, + "ProvisioningState": { + "description": "Provisioning state of the resource.", + "enum": [ + "Unknown", + "Succeeded", + "Failed", + "Canceled", + "Running", + "Creating", + "Updating", + "Deleting", + "Moving" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "RegenerateKeyParameters": { + "description": "Parameters describes the request to regenerate access keys", + "type": "object", + "properties": { + "keyType": { + "$ref": "#/definitions/KeyType" + } + } + }, + "Replica": { + "description": "A class represent a replica resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/ResourceSku" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReplicaProperties" + } + } + }, + "ReplicaList": { + "type": "object", + "properties": { + "value": { + "description": "List of the replica", + "type": "array", + "items": { + "$ref": "#/definitions/Replica" + } + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "ReplicaProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "regionEndpointEnabled": { + "description": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.", + "default": "Enabled", + "type": "string" + }, + "resourceStopped": { + "description": "Stop or start the resource. Default to \"false\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started.", + "default": "false", + "type": "string" + } + } + }, + "ResourceLogCategory": { + "description": "Resource log category configuration of a Microsoft.SignalRService resource.", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the resource log category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive.", + "type": "string" + }, + "enabled": { + "description": "Indicates whether or the resource log category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive.", + "type": "string" + } + } + }, + "ResourceLogConfiguration": { + "description": "Resource log configuration of a Microsoft.SignalRService resource.", + "type": "object", + "properties": { + "categories": { + "description": "Gets or sets the list of category configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceLogCategory" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ResourceReference": { + "description": "Reference to a resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string" + } + } + }, + "ResourceSku": { + "description": "The billing information of the resource.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2", + "type": "string" + }, + "tier": { + "$ref": "#/definitions/SignalRSkuTier" + }, + "size": { + "description": "Not used. Retained for future use.", + "type": "string", + "readOnly": true + }, + "family": { + "description": "Not used. Retained for future use.", + "type": "string", + "readOnly": true + }, + "capacity": { + "format": "int32", + "description": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n Free_F1: 1;\r\n Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n Premium_P1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n Premium_P2: 100,200,300,400,500,600,700,800,900,1000;", + "type": "integer" + } + } + }, + "ScaleType": { + "description": "The scale type applicable to the sku.", + "enum": [ + "None", + "Manual", + "Automatic" + ], + "type": "string", + "x-ms-enum": { + "name": "ScaleType", + "modelAsString": true + } + }, + "ServerlessSettings": { + "description": "Serverless settings.", + "type": "object", + "properties": { + "connectionTimeoutInSeconds": { + "format": "int32", + "description": "Gets or sets Client Connection Timeout. Optional to be set.\r\nValue in seconds.\r\nDefault value is 30 seconds.\r\nCustomer should set the timeout to a shorter period if messages are expected to be sent in shorter intervals,\r\nand want the client to disconnect more quickly after the last message is sent.\r\nYou can set the timeout to a longer period if messages are expected to be sent in longer intervals,\r\nand they want to keep the same client connection alive during this session.\r\nThe service considers the client disconnected if it hasn't received a message (including keep-alive) in this interval.", + "default": 30, + "maximum": 120, + "minimum": 1, + "type": "integer" + } + } + }, + "ServerlessUpstreamSettings": { + "description": "The settings for the Upstream when the service is in server-less mode.", + "type": "object", + "properties": { + "templates": { + "description": "Gets or sets the list of Upstream URL templates. Order matters, and the first matching template takes effects.", + "type": "array", + "items": { + "$ref": "#/definitions/UpstreamTemplate" + }, + "x-ms-identifiers": [] + } + } + }, + "ServiceKind": { + "description": "The kind of the service", + "enum": [ + "SignalR", + "RawWebSockets" + ], + "type": "string", + "x-ms-enum": { + "name": "ServiceKind", + "modelAsString": true + } + }, + "ServiceSpecification": { + "description": "An object that describes a specification.", + "type": "object", + "properties": { + "metricSpecifications": { + "description": "Specifications of the Metrics for Azure Monitoring.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + }, + "x-ms-identifiers": [ + "name", + "unit" + ] + }, + "logSpecifications": { + "description": "Specifications of the Logs for Azure Monitoring.", + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ShareablePrivateLinkResourceProperties": { + "description": "Describes the properties of a resource type that has been onboarded to private link service", + "type": "object", + "properties": { + "description": { + "description": "The description of the resource type that has been onboarded to private link service", + "type": "string" + }, + "groupId": { + "description": "The resource provider group id for the resource that has been onboarded to private link service", + "type": "string" + }, + "type": { + "description": "The resource provider type for the resource that has been onboarded to private link service", + "type": "string" + } + } + }, + "ShareablePrivateLinkResourceType": { + "description": "Describes a resource type that has been onboarded to private link service", + "type": "object", + "properties": { + "name": { + "description": "The name of the resource type that has been onboarded to private link service", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ShareablePrivateLinkResourceProperties" + } + } + }, + "SharedPrivateLinkResource": { + "description": "Describes a Shared Private Link Resource", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SharedPrivateLinkResourceProperties" + } + } + }, + "SharedPrivateLinkResourceList": { + "description": "A list of shared private link resources", + "type": "object", + "properties": { + "value": { + "description": "The list of the shared private link resources", + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size.", + "type": "string" + } + } + }, + "SharedPrivateLinkResourceProperties": { + "description": "Describes the properties of an existing Shared Private Link Resource", + "required": [ + "groupId", + "privateLinkResourceId" + ], + "type": "object", + "properties": { + "groupId": { + "description": "The group id from the provider of resource the shared private link resource is for", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The resource id of the resource the shared private link resource is for", + "type": "string" + }, + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "requestMessage": { + "description": "The request message for requesting approval of the shared private link resource", + "type": "string" + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/SharedPrivateLinkResourceStatus" + } + } + }, + "SharedPrivateLinkResourceStatus": { + "description": "Status of the shared private link resource", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "type": "string", + "x-ms-enum": { + "name": "SharedPrivateLinkResourceStatus", + "modelAsString": true + } + }, + "SignalRCorsSettings": { + "description": "Cross-Origin Resource Sharing (CORS) settings.", + "type": "object", + "properties": { + "allowedOrigins": { + "description": "Gets or sets the list of origins that should be allowed to make cross-origin calls (for example: http://example.com:12345). Use \"*\" to allow all. If omitted, allow all by default.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + } + } + }, + "SignalRFeature": { + "description": "Feature of a resource, which controls the runtime behavior.", + "required": [ + "flag", + "value" + ], + "type": "object", + "properties": { + "flag": { + "$ref": "#/definitions/FeatureFlags" + }, + "value": { + "description": "Value of the feature flag. See Azure SignalR service document https://docs.microsoft.com/azure/azure-signalr/ for allowed values.", + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "properties": { + "description": "Optional properties related to this feature.", + "type": "object", + "additionalProperties": { + "type": "string" + } + } + } + }, + "SignalRKeys": { + "description": "A class represents the access keys of the resource.", + "type": "object", + "properties": { + "primaryKey": { + "description": "The primary access key.", + "type": "string", + "x-ms-secret": true + }, + "secondaryKey": { + "description": "The secondary access key.", + "type": "string", + "x-ms-secret": true + }, + "primaryConnectionString": { + "description": "Connection string constructed via the primaryKey", + "type": "string", + "x-ms-secret": true + }, + "secondaryConnectionString": { + "description": "Connection string constructed via the secondaryKey", + "type": "string", + "x-ms-secret": true + } + } + }, + "SignalRNetworkACLs": { + "description": "Network ACLs for the resource", + "type": "object", + "properties": { + "defaultAction": { + "$ref": "#/definitions/ACLAction" + }, + "publicNetwork": { + "$ref": "#/definitions/NetworkACL" + }, + "privateEndpoints": { + "description": "ACLs for requests from private endpoints", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointACL" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "ipRules": { + "description": "IP rules for filtering public traffic", + "maxItems": 30, + "type": "array", + "items": { + "$ref": "#/definitions/IPRule" + }, + "x-ms-identifiers": [] + } + } + }, + "SignalRProperties": { + "description": "A class that describes the properties of the resource", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "externalIP": { + "description": "The publicly accessible IP of the resource.", + "type": "string", + "readOnly": true + }, + "hostName": { + "description": "FQDN of the service instance.", + "type": "string", + "readOnly": true + }, + "publicPort": { + "format": "int32", + "description": "The publicly accessible port of the resource which is designed for browser/client side usage.", + "type": "integer", + "readOnly": true + }, + "serverPort": { + "format": "int32", + "description": "The publicly accessible port of the resource which is designed for customer server side usage.", + "type": "integer", + "readOnly": true + }, + "version": { + "description": "Version of the resource. Probably you need the same or higher version of client SDKs.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnections": { + "description": "Private endpoint connections to the resource.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "sharedPrivateLinkResources": { + "description": "The list of shared private link resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "tls": { + "$ref": "#/definitions/SignalRTlsSettings" + }, + "hostNamePrefix": { + "description": "Deprecated.", + "type": "string", + "readOnly": true + }, + "features": { + "description": "List of the featureFlags.\r\n\r\nFeatureFlags that are not included in the parameters for the update operation will not be modified.\r\nAnd the response will only include featureFlags that are explicitly set. \r\nWhen a featureFlag is not explicitly set, its globally default value will be used\r\nBut keep in mind, the default value doesn't mean \"false\". It varies in terms of different FeatureFlags.", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRFeature" + }, + "x-ms-identifiers": [] + }, + "liveTraceConfiguration": { + "$ref": "#/definitions/LiveTraceConfiguration" + }, + "resourceLogConfiguration": { + "$ref": "#/definitions/ResourceLogConfiguration" + }, + "cors": { + "$ref": "#/definitions/SignalRCorsSettings" + }, + "serverless": { + "$ref": "#/definitions/ServerlessSettings" + }, + "upstream": { + "$ref": "#/definitions/ServerlessUpstreamSettings" + }, + "networkACLs": { + "$ref": "#/definitions/SignalRNetworkACLs" + }, + "applicationFirewall": { + "$ref": "#/definitions/ApplicationFirewallSettings" + }, + "publicNetworkAccess": { + "description": "Enable or disable public network access. Default to \"Enabled\".\r\nWhen it's Enabled, network ACLs still apply.\r\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs.", + "default": "Enabled", + "type": "string" + }, + "disableLocalAuth": { + "description": "DisableLocalAuth\r\nEnable or disable local auth with AccessKey\r\nWhen set as true, connection with AccessKey=xxx won't work.", + "default": false, + "type": "boolean" + }, + "disableAadAuth": { + "description": "DisableLocalAuth\r\nEnable or disable aad auth\r\nWhen set as true, connection with AuthType=aad won't work.", + "default": false, + "type": "boolean" + }, + "regionEndpointEnabled": { + "description": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\r\nThis property is replica specific. Disable the regional endpoint without replica is not allowed.", + "default": "Enabled", + "type": "string" + }, + "resourceStopped": { + "description": "Stop or start the resource. Default to \"False\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started.", + "default": "false", + "type": "string" + } + } + }, + "SignalRRequestType": { + "description": "The incoming request type to the service", + "enum": [ + "ClientConnection", + "ServerConnection", + "RESTAPI", + "Trace" + ], + "type": "string", + "x-ms-enum": { + "name": "SignalRRequestType", + "modelAsString": true + } + }, + "SignalRResource": { + "description": "A class represent a resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/ResourceSku" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SignalRProperties" + }, + "kind": { + "x-ms-mutability": [ + "read", + "create" + ], + "$ref": "#/definitions/ServiceKind" + }, + "identity": { + "$ref": "#/definitions/ManagedIdentity" + } + } + }, + "SignalRResourceList": { + "description": "Object that includes an array of resources and a possible link for next set.", + "type": "object", + "properties": { + "value": { + "description": "List of the resources", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRResource" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "SignalRSkuTier": { + "description": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead.", + "enum": [ + "Free", + "Basic", + "Standard", + "Premium" + ], + "type": "string", + "x-ms-enum": { + "name": "SignalRSkuTier", + "modelAsString": true + } + }, + "SignalRTlsSettings": { + "description": "TLS settings for the resource", + "type": "object", + "properties": { + "clientCertEnabled": { + "description": "Request client certificate during TLS handshake if enabled. Not supported for free tier. Any input will be ignored for free tier.", + "default": false, + "type": "boolean" + } + } + }, + "SignalRUsage": { + "description": "Object that describes a specific usage of the resources.", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified ARM resource id", + "type": "string" + }, + "currentValue": { + "format": "int64", + "description": "Current value for the usage quota.", + "type": "integer" + }, + "limit": { + "format": "int64", + "description": "The maximum permitted value for the usage quota. If there is no limit, this value will be -1.", + "type": "integer" + }, + "name": { + "$ref": "#/definitions/SignalRUsageName" + }, + "unit": { + "description": "Representing the units of the usage quota. Possible values are: Count, Bytes, Seconds, Percent, CountPerSecond, BytesPerSecond.", + "type": "string" + } + } + }, + "SignalRUsageList": { + "description": "Object that includes an array of the resource usages and a possible link for next set.", + "type": "object", + "properties": { + "value": { + "description": "List of the resource usages", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRUsage" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "SignalRUsageName": { + "description": "Localizable String object containing the name and a localized value.", + "type": "object", + "properties": { + "value": { + "description": "The identifier of the usage.", + "type": "string" + }, + "localizedValue": { + "description": "Localized name of the usage.", + "type": "string" + } + } + }, + "Sku": { + "description": "Describes an available sku.\"", + "type": "object", + "properties": { + "resourceType": { + "description": "The resource type that this object applies to", + "type": "string", + "readOnly": true + }, + "sku": { + "readOnly": true, + "$ref": "#/definitions/ResourceSku" + }, + "capacity": { + "readOnly": true, + "$ref": "#/definitions/SkuCapacity" + } + } + }, + "SkuCapacity": { + "description": "Describes scaling information of a sku.", + "type": "object", + "properties": { + "minimum": { + "format": "int32", + "description": "The lowest permitted capacity for this resource", + "type": "integer", + "readOnly": true + }, + "maximum": { + "format": "int32", + "description": "The highest permitted capacity for this resource", + "type": "integer", + "readOnly": true + }, + "default": { + "format": "int32", + "description": "The default capacity.", + "type": "integer", + "readOnly": true + }, + "allowedValues": { + "description": "Allows capacity value list.", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "scaleType": { + "readOnly": true, + "$ref": "#/definitions/ScaleType" + } + } + }, + "SkuList": { + "description": "The list skus operation response", + "type": "object", + "properties": { + "value": { + "description": "The list of skus available for the resource.", + "type": "array", + "items": { + "$ref": "#/definitions/Sku" + }, + "readOnly": true, + "x-ms-identifiers": [ + "resourceType", + "/sku/name", + "/sku/tier" + ] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string", + "readOnly": true + } + } + }, + "ThrottleByJwtCustomClaimRule": { + "description": "Throttle the client connection by a custom JWT claim", + "required": [ + "claimName" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ClientConnectionCountRule" + } + ], + "properties": { + "claimName": { + "description": "The name of the claim in the JWT token. The client connection with the same claim value will be aggregated. If the claim is not found in the token, the connection will be allowed.", + "type": "string" + }, + "maxCount": { + "format": "int32", + "description": "Maximum connection count allowed for the same Jwt claim value. Clients with the same Jwt claim will get rejected if the connection count exceeds this value. Default value is 20.", + "default": 20, + "maximum": 2147483647, + "minimum": 0, + "type": "integer" + } + }, + "x-ms-discriminator-value": "ThrottleByJwtCustomClaimRule" + }, + "ThrottleByJwtSignatureRule": { + "description": "Throttle the client connection by the JWT signature", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ClientConnectionCountRule" + } + ], + "properties": { + "maxCount": { + "format": "int32", + "description": "Maximum connection count allowed for the same JWT signature. Clients with the same JWT signature will get rejected if the connection count exceeds this value. Default value is 20.", + "default": 20, + "maximum": 2147483647, + "minimum": 0, + "type": "integer" + } + }, + "x-ms-discriminator-value": "ThrottleByJwtSignatureRule" + }, + "ThrottleByUserIdRule": { + "description": "Throttle the client connection by the user ID", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ClientConnectionCountRule" + } + ], + "properties": { + "maxCount": { + "format": "int32", + "description": "Maximum connection count allowed for the same user ID. Clients with the same user ID will get rejected if the connection count exceeds this value. Default value is 20.", + "default": 20, + "maximum": 2147483647, + "minimum": 0, + "type": "integer" + } + }, + "x-ms-discriminator-value": "ThrottleByUserIdRule" + }, + "UpstreamAuthSettings": { + "description": "Upstream auth settings. If not set, no auth is used for upstream messages.", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/UpstreamAuthType" + }, + "managedIdentity": { + "$ref": "#/definitions/ManagedIdentitySettings" + } + } + }, + "UpstreamAuthType": { + "description": "Upstream auth type enum.", + "enum": [ + "None", + "ManagedIdentity" + ], + "type": "string", + "x-ms-enum": { + "name": "UpstreamAuthType", + "modelAsString": true + } + }, + "UpstreamTemplate": { + "description": "Upstream template item settings. It defines the Upstream URL of the incoming requests.\r\nThe template defines the pattern of the event, the hub or the category of the incoming request that matches current URL template.", + "required": [ + "urlTemplate" + ], + "type": "object", + "properties": { + "hubPattern": { + "description": "Gets or sets the matching pattern for hub names. If not set, it matches any hub.\r\nThere are 3 kind of patterns supported:\r\n 1. \"*\", it to matches any hub name.\r\n 2. Combine multiple hubs with \",\", for example \"hub1,hub2\", it matches \"hub1\" and \"hub2\".\r\n 3. The single hub name, for example, \"hub1\", it matches \"hub1\".", + "type": "string" + }, + "eventPattern": { + "description": "Gets or sets the matching pattern for event names. If not set, it matches any event.\r\nThere are 3 kind of patterns supported:\r\n 1. \"*\", it to matches any event name.\r\n 2. Combine multiple events with \",\", for example \"connect,disconnect\", it matches event \"connect\" and \"disconnect\".\r\n 3. The single event name, for example, \"connect\", it matches \"connect\".", + "type": "string" + }, + "categoryPattern": { + "description": "Gets or sets the matching pattern for category names. If not set, it matches any category.\r\nThere are 3 kind of patterns supported:\r\n 1. \"*\", it to matches any category name.\r\n 2. Combine multiple categories with \",\", for example \"connections,messages\", it matches category \"connections\" and \"messages\".\r\n 3. The single category name, for example, \"connections\", it matches the category \"connections\".", + "type": "string" + }, + "urlTemplate": { + "description": "Gets or sets the Upstream URL template. You can use 3 predefined parameters {hub}, {category} {event} inside the template, the value of the Upstream URL is dynamically calculated when the client request comes in.\r\nFor example, if the urlTemplate is `http://example.com/{hub}/api/{event}`, with a client request from hub `chat` connects, it will first POST to this URL: `http://example.com/chat/api/connect`.", + "type": "string" + }, + "auth": { + "$ref": "#/definitions/UpstreamAuthSettings" + } + } + }, + "UserAssignedIdentityProperty": { + "description": "Properties of user assigned identity.", + "type": "object", + "properties": { + "principalId": { + "description": "Get the principal id for the user assigned identity", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "Get the client id for the user assigned identity", + "type": "string", + "readOnly": true + } + } + } + }, + "parameters": { + "ResourceName": { + "in": "path", + "name": "resourceName", + "description": "The name of the resource.", + "required": true, + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]$", + "type": "string", + "x-ms-parameter-location": "method" + }, + "ReplicaName": { + "in": "path", + "name": "replicaName", + "description": "The name of the replica.", + "required": true, + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]$", + "type": "string", + "x-ms-parameter-location": "method" + }, + "SharedPrivateLinkResourceName": { + "in": "path", + "name": "sharedPrivateLinkResourceName", + "description": "The name of the shared private link resource.", + "required": true, + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]$", + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] +} diff --git a/specification/signalr/resource-manager/readme.go.md b/specification/signalr/resource-manager/readme.go.md index 549e6abfb7c5..9117c41c08f3 100644 --- a/specification/signalr/resource-manager/readme.go.md +++ b/specification/signalr/resource-manager/readme.go.md @@ -44,6 +44,7 @@ batch: - tag: package-2023-08-01-preview - tag: package-2024-01-01-preview - tag: package-2024-03-01 + - tag: package-2024-04-01-preview ``` ### Tag: package-2018-03-01-preview and go @@ -188,4 +189,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2024-04-01-preview' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2024-04-01-preview/$(namespace) ``` \ No newline at end of file diff --git a/specification/signalr/resource-manager/readme.java.md b/specification/signalr/resource-manager/readme.java.md index 36ff7d2eb406..7877e7add27c 100644 --- a/specification/signalr/resource-manager/readme.java.md +++ b/specification/signalr/resource-manager/readme.java.md @@ -32,6 +32,20 @@ batch: - tag: package-2023-08-01-preview - tag: package-2024-01-01-preview - tag: package-2024-03-01 + - tag: package-2024-04-01-preview +``` + +### Tag: package-2024-04-01-preview and java + +These settings apply only when `--tag=package-2024-04-01-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2024-04-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.signalr.v2024_04_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/signalr/mgmt-v2024_04_01_preview +regenerate-manager: true +generate-interface: true ``` ### Tag: package-2024-03-01 and java diff --git a/specification/signalr/resource-manager/readme.md b/specification/signalr/resource-manager/readme.md index fe84f6c27ab6..b5255f968d71 100644 --- a/specification/signalr/resource-manager/readme.md +++ b/specification/signalr/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the SignalR API. ``` yaml openapi-type: arm -tag: package-2024-03-01 +tag: package-2024-04-01-preview ``` ### Suppression @@ -71,6 +71,15 @@ directive: reason: It can introduce a breaking change when updating parameter order, since SignalR service has already shipped public versions. ``` +### Tag: package-2024-04-01-preview + +These settings apply only when `--tag=package-2024-04-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2024-04-01-preview' +input-file: +- Microsoft.SignalRService/preview/2024-04-01-preview/signalr.json +``` + ### Tag: package-2024-03-01 These settings apply only when `--tag=package-2024-03-01` is specified on the command line. diff --git a/specification/signalr/resource-manager/readme.ruby.md b/specification/signalr/resource-manager/readme.ruby.md index 546bced7cc55..e9cf352557d7 100644 --- a/specification/signalr/resource-manager/readme.ruby.md +++ b/specification/signalr/resource-manager/readme.ruby.md @@ -28,6 +28,17 @@ batch: - tag: package-2023-08-01-preview - tag: package-2024-01-01-preview - tag: package-2024-03-01 + - tag: package-2024-04-01-preview +``` + +### Tag: package-2024-04-01-preview and ruby + +These settings apply only when `--tag=package-2024-04-01-preview --ruby` is specified on the command line. +Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2024-04-01-preview' && $(ruby) +namespace: "Azure::Signalr::Mgmt::V2024_04_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_signalr/lib ``` ### Tag: package-2024-03-01 and ruby diff --git a/specification/sphere/Sphere.Management/catalog.tsp b/specification/sphere/Sphere.Management/catalog.tsp index 5433c0aaffc2..4455d2403c5e 100644 --- a/specification/sphere/Sphere.Management/catalog.tsp +++ b/specification/sphere/Sphere.Management/catalog.tsp @@ -29,7 +29,12 @@ interface Catalogs { /** * Create a Catalog */ - createOrUpdate is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + Catalog, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** * Update a Catalog diff --git a/specification/sphere/Sphere.Management/deployment.tsp b/specification/sphere/Sphere.Management/deployment.tsp index 93528a9375cb..9df999337d4b 100644 --- a/specification/sphere/Sphere.Management/deployment.tsp +++ b/specification/sphere/Sphere.Management/deployment.tsp @@ -29,7 +29,12 @@ interface Deployments { /** * Create a Deployment. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name. */ - createOrUpdate is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + Deployment, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** * Delete a Deployment. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name. diff --git a/specification/sphere/Sphere.Management/device.tsp b/specification/sphere/Sphere.Management/device.tsp index aacac197e1eb..d75447d78ada 100644 --- a/specification/sphere/Sphere.Management/device.tsp +++ b/specification/sphere/Sphere.Management/device.tsp @@ -30,7 +30,12 @@ interface Devices { /** * Create a Device. Use '.unassigned' or '.default' for the device group and product names to claim a device to the catalog only. */ - createOrUpdate is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + Device, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** * Update a Device. Use '.unassigned' or '.default' for the device group and product names to move a device to the catalog level. @@ -40,7 +45,8 @@ interface Devices { update is ArmCustomPatchAsync< Device, DeviceUpdate, - LroHeaders = Azure.Core.Foundations.RetryAfterHeader + LroHeaders = ArmLroLocationHeader & + Azure.Core.Foundations.RetryAfterHeader >; /** diff --git a/specification/sphere/Sphere.Management/deviceGroup.tsp b/specification/sphere/Sphere.Management/deviceGroup.tsp index 45278f314465..0bfd227bee5b 100644 --- a/specification/sphere/Sphere.Management/deviceGroup.tsp +++ b/specification/sphere/Sphere.Management/deviceGroup.tsp @@ -30,7 +30,12 @@ interface DeviceGroups { /** * Create a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name. */ - createOrUpdate is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + DeviceGroup, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** * Update a DeviceGroup. '.default' and '.unassigned' are system defined values and cannot be used for product or device group name. diff --git a/specification/sphere/Sphere.Management/image.tsp b/specification/sphere/Sphere.Management/image.tsp index 287eba68d7ba..49932e5b06e9 100644 --- a/specification/sphere/Sphere.Management/image.tsp +++ b/specification/sphere/Sphere.Management/image.tsp @@ -30,7 +30,12 @@ interface Images { /** * Create a Image */ - createOrUpdate is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + Image, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** * Delete a Image diff --git a/specification/sphere/Sphere.Management/product.tsp b/specification/sphere/Sphere.Management/product.tsp index b470d59b440f..bc62bde56bc0 100644 --- a/specification/sphere/Sphere.Management/product.tsp +++ b/specification/sphere/Sphere.Management/product.tsp @@ -37,7 +37,12 @@ interface Products { /** * Create a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name. */ - createOrUpdate is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + Product, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** * Update a Product. '.default' and '.unassigned' are system defined values and cannot be used for product name. diff --git a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/azuresphere.json b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/azuresphere.json index 8dec71e19fd5..e3f5e4f8b6cc 100644 --- a/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/azuresphere.json +++ b/specification/sphere/resource-manager/Microsoft.AzureSphere/stable/2024-04-01/azuresphere.json @@ -2772,6 +2772,10 @@ "202": { "description": "Resource update request accepted.", "headers": { + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + }, "Retry-After": { "type": "integer", "format": "int32", @@ -3167,11 +3171,7 @@ "properties": { "$ref": "#/definitions/CatalogProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -3237,11 +3237,7 @@ "properties": { "$ref": "#/definitions/CertificateProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -3416,11 +3412,7 @@ "properties": { "$ref": "#/definitions/DeploymentProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -3493,11 +3485,7 @@ "properties": { "$ref": "#/definitions/DeviceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -3513,11 +3501,7 @@ "properties": { "$ref": "#/definitions/DeviceGroupProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -3782,11 +3766,7 @@ "properties": { "$ref": "#/definitions/ImageProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -4095,11 +4075,7 @@ "properties": { "$ref": "#/definitions/ProductProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/splitio/SplitIO.Experimentation.Management/main.tsp b/specification/splitio/SplitIO.Experimentation.Management/main.tsp index f3c23e1cd34d..c65478dc7e8a 100644 --- a/specification/splitio/SplitIO.Experimentation.Management/main.tsp +++ b/specification/splitio/SplitIO.Experimentation.Management/main.tsp @@ -119,7 +119,12 @@ namespace SplitIO.Experimentation { @armResourceOperations interface ExperimentationWorkspaces { get is ArmResourceRead; - create is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrUpdateAsync< + ExperimentationWorkspace, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchAsync< ExperimentationWorkspace, ExperimentationWorkspaceProperties diff --git a/specification/splitio/resource-manager/SplitIO.Experimentation/preview/2024-03-01-preview/splitio.json b/specification/splitio/resource-manager/SplitIO.Experimentation/preview/2024-03-01-preview/splitio.json index bda2742acea8..fdc038996b8b 100644 --- a/specification/splitio/resource-manager/SplitIO.Experimentation/preview/2024-03-01-preview/splitio.json +++ b/specification/splitio/resource-manager/SplitIO.Experimentation/preview/2024-03-01-preview/splitio.json @@ -576,11 +576,7 @@ "properties": { "$ref": "#/definitions/ExperimentationWorkspaceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "sku": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Sku", diff --git a/specification/standbypool/StandbyPool.Management/standbyContainerGroupPool.tsp b/specification/standbypool/StandbyPool.Management/standbyContainerGroupPool.tsp index 0a75e1a67e71..1ba16b8eb60d 100644 --- a/specification/standbypool/StandbyPool.Management/standbyContainerGroupPool.tsp +++ b/specification/standbypool/StandbyPool.Management/standbyContainerGroupPool.tsp @@ -106,7 +106,12 @@ model Subnet { @armResourceOperations interface StandbyContainerGroupPools { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + StandbyContainerGroupPoolResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; delete is ArmResourceDeleteWithoutOkAsync; update is ArmResourcePatchSync< StandbyContainerGroupPoolResource, diff --git a/specification/standbypool/StandbyPool.Management/standbyVMPool.tsp b/specification/standbypool/StandbyPool.Management/standbyVMPool.tsp index 4e880f4196aa..01a6d30ecd75 100644 --- a/specification/standbypool/StandbyPool.Management/standbyVMPool.tsp +++ b/specification/standbypool/StandbyPool.Management/standbyVMPool.tsp @@ -77,7 +77,12 @@ model StandbyVirtualMachinePoolElasticityProfile { @armResourceOperations interface StandbyVirtualMachinePools { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + StandbyVirtualMachinePoolResource, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; delete is ArmResourceDeleteWithoutOkAsync; update is ArmResourcePatchSync< StandbyVirtualMachinePoolResource, diff --git a/specification/standbypool/resource-manager/Microsoft.StandbyPool/preview/2023-12-01-preview/standbypool.json b/specification/standbypool/resource-manager/Microsoft.StandbyPool/preview/2023-12-01-preview/standbypool.json index dc398d937518..868c8cfac56d 100644 --- a/specification/standbypool/resource-manager/Microsoft.StandbyPool/preview/2023-12-01-preview/standbypool.json +++ b/specification/standbypool/resource-manager/Microsoft.StandbyPool/preview/2023-12-01-preview/standbypool.json @@ -1006,11 +1006,7 @@ "properties": { "$ref": "#/definitions/StandbyContainerGroupPoolResourceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1130,11 +1126,7 @@ "properties": { "$ref": "#/definitions/StandbyVirtualMachinePoolResourceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1254,11 +1246,7 @@ "properties": { "$ref": "#/definitions/StandbyVirtualMachineResourceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-05-01/storageTaskAssignments.json b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-05-01/storageTaskAssignments.json index 1f6ee88b81b9..63386e78f87b 100644 --- a/specification/storage/resource-manager/Microsoft.Storage/stable/2023-05-01/storageTaskAssignments.json +++ b/specification/storage/resource-manager/Microsoft.Storage/stable/2023-05-01/storageTaskAssignments.json @@ -275,7 +275,8 @@ { "name": "$maxpagesize", "in": "query", - "type": "string", + "type": "integer", + "format": "int32", "description": "Optional, specifies the maximum number of storage task assignment Ids to be included in the list response." }, { @@ -326,7 +327,8 @@ { "name": "$maxpagesize", "in": "query", - "type": "string", + "type": "integer", + "format": "int32", "description": "Optional, specifies the maximum number of storage task assignment instances to be included in the list response." }, { @@ -386,7 +388,8 @@ { "name": "$maxpagesize", "in": "query", - "type": "string", + "type": "integer", + "format": "int32", "description": "Optional, specifies the maximum number of storage task assignment instances to be included in the list response." }, { diff --git a/specification/storageactions/resource-manager/Microsoft.StorageActions/stable/2023-01-01/storageactions.json b/specification/storageactions/resource-manager/Microsoft.StorageActions/stable/2023-01-01/storageactions.json index 340053249dd3..5a007ac949c1 100644 --- a/specification/storageactions/resource-manager/Microsoft.StorageActions/stable/2023-01-01/storageactions.json +++ b/specification/storageactions/resource-manager/Microsoft.StorageActions/stable/2023-01-01/storageactions.json @@ -374,7 +374,8 @@ { "name": "$maxpagesize", "in": "query", - "type": "string", + "type": "integer", + "format": "int32", "description": "Optional, specifies the maximum number of Storage Task Assignment Resource IDs to be included in the list response." }, { @@ -425,7 +426,8 @@ { "name": "$maxpagesize", "in": "query", - "type": "string", + "type": "integer", + "format": "int32", "description": "Optional, specifies the maximum number of Storage Task Assignment Resource IDs to be included in the list response." }, { diff --git a/specification/storageactions/resource-manager/sdk-suppressions.yaml b/specification/storageactions/resource-manager/sdk-suppressions.yaml new file mode 100644 index 000000000000..5eaf3d35581f --- /dev/null +++ b/specification/storageactions/resource-manager/sdk-suppressions.yaml @@ -0,0 +1,6 @@ +suppressions: + azure-sdk-for-go: + - package: sdk/resourcemanager/storageactions/armstorageactions + breaking-changes: + - Type of `StorageTaskAssignmentClientListOptions.Maxpagesize` has been changed from `*string` to `*int32` + - Type of `StorageTasksReportClientListOptions.Maxpagesize` has been changed from `*string` to `*int32` \ No newline at end of file diff --git a/specification/securitydevops/resource-manager/readme.java.md b/specification/storagemover/resource-manager/readme.java.md similarity index 74% rename from specification/securitydevops/resource-manager/readme.java.md rename to specification/storagemover/resource-manager/readme.java.md index 648f3e06ed2e..2d18b4c34847 100644 --- a/specification/securitydevops/resource-manager/readme.java.md +++ b/specification/storagemover/resource-manager/readme.java.md @@ -3,5 +3,5 @@ These settings apply only when `--java` is specified on the command line. ``` yaml $(java) -service-name: Security Dev Ops +stream-style-serialization: false ``` \ No newline at end of file diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Pipeline.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Pipeline.json index f0e44055c63d..aca3e64bcba8 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Pipeline.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2019-06-01-preview/entityTypes/Pipeline.json @@ -3643,6 +3643,10 @@ "additionalProperties": { "type": "object" } + }, + "storageIntegration": { + "type": "object", + "description": "The name of the snowflake storage integration to use for the copy operation. Type: string (or Expression with resultType string)." } } }, @@ -4312,6 +4316,10 @@ "additionalProperties": { "type": "object" } + }, + "storageIntegration": { + "type": "object", + "description": "The name of the snowflake storage integration to use for the copy operation. Type: string (or Expression with resultType string)." } } }, diff --git a/specification/synapse/data-plane/Microsoft.Synapse/preview/2022-03-01-preview/runNotebook.json b/specification/synapse/data-plane/Microsoft.Synapse/preview/2022-03-01-preview/runNotebook.json index 4c119c292946..bc8b214b37c0 100644 --- a/specification/synapse/data-plane/Microsoft.Synapse/preview/2022-03-01-preview/runNotebook.json +++ b/specification/synapse/data-plane/Microsoft.Synapse/preview/2022-03-01-preview/runNotebook.json @@ -534,7 +534,7 @@ "maxLength": 100, "required": true, "type": "string", - "description": "Notebook run id.", + "description": "Notebook run id. For Create Run, you can generate a new GUID and use it here. For other actions, this is the same ID used in Create Run.", "x-ms-parameter-location": "method" }, "Endpoint": { diff --git a/specification/translation/Azure.AI.DocumentTranslation/models.tsp b/specification/translation/Azure.AI.DocumentTranslation/models.tsp index 73ec6c09922c..98f36a54789c 100644 --- a/specification/translation/Azure.AI.DocumentTranslation/models.tsp +++ b/specification/translation/Azure.AI.DocumentTranslation/models.tsp @@ -11,33 +11,33 @@ namespace DocumentTranslation; @doc("Document Translate Request Content") model DocumentTranslateContent { @doc(""" - Specifies source language of the input document. - If this parameter isn't specified, automatic language detection is applied to determine the source language. - For example if the source document is written in English, then use sourceLanguage=en - """) + Specifies source language of the input document. + If this parameter isn't specified, automatic language detection is applied to determine the source language. + For example if the source document is written in English, then use sourceLanguage=en + """) @query("sourceLanguage") sourceLanguage?: string; @doc(""" - Specifies the language of the output document. - The target language must be one of the supported languages included in the translation scope. - For example if you want to translate the document in German language, then use targetLanguage=de - """) + Specifies the language of the output document. + The target language must be one of the supported languages included in the translation scope. + For example if you want to translate the document in German language, then use targetLanguage=de + """) @query("targetLanguage") targetLanguage: string; @doc(""" - A string specifying the category (domain) of the translation. This parameter is used to get translations - from a customized system built with Custom Translator. Add the Category ID from your Custom Translator - project details to this parameter to use your deployed customized system. Default value is: general. - """) + A string specifying the category (domain) of the translation. This parameter is used to get translations + from a customized system built with Custom Translator. Add the Category ID from your Custom Translator + project details to this parameter to use your deployed customized system. Default value is: general. + """) @query("category") category?: string = "general"; @doc(""" - Specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. - Possible values are: true (default) or false. - """) + Specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. + Possible values are: true (default) or false. + """) @query("allowFallback") allowFallback?: boolean; @@ -183,9 +183,9 @@ model SourceInput { filter?: DocumentFilter; @doc(""" -Language code -If none is specified, we will perform auto detect on the document -""") + Language code + If none is specified, we will perform auto detect on the document + """) language?: string; @doc("Storage Source") @@ -195,18 +195,18 @@ If none is specified, we will perform auto detect on the document @doc("Document filter") model DocumentFilter { @doc(""" -A case-sensitive prefix string to filter documents in the source path for -translation. -For example, when using a Azure storage blob Uri, use the prefix -to restrict sub folders for translation. -""") + A case-sensitive prefix string to filter documents in the source path for + translation. + For example, when using a Azure storage blob Uri, use the prefix + to restrict sub folders for translation. + """) prefix?: string; @doc(""" -A case-sensitive suffix string to filter documents in the source path for -translation. -This is most often use for file extensions -""") + A case-sensitive suffix string to filter documents in the source path for + translation. + This is most often use for file extensions + """) suffix?: string; } @@ -231,13 +231,13 @@ model TargetInput { @doc("Glossary / translation memory for the request") model Glossary { @doc(""" -Location of the glossary. -We will use the file extension to extract the -formatting if the format parameter is not supplied. - -If the translation -language pair is not present in the glossary, it will not be applied -""") + Location of the glossary. + We will use the file extension to extract the + formatting if the format parameter is not supplied. + + If the translation + language pair is not present in the glossary, it will not be applied + """) glossaryUrl: string; @doc("Format") @@ -251,26 +251,26 @@ language pair is not present in the glossary, it will not be applied } @doc(""" -Contains unified error information used for HTTP responses across any Cognitive -Service. Instances -can be created either through -Microsoft.CloudAI.Containers.HttpStatusExceptionV2 or by returning it directly -from -a controller. -""") + Contains unified error information used for HTTP responses across any Cognitive + Service. Instances + can be created either through + Microsoft.CloudAI.Containers.HttpStatusExceptionV2 or by returning it directly + from + a controller. + """) @error model TranslationErrorResponse { @doc(""" -This contains an outer error with error code, message, details, target and an -inner error with more descriptive details. -""") + This contains an outer error with error code, message, details, target and an + inner error with more descriptive details. + """) error?: TranslationError; } @doc(""" -This contains an outer error with error code, message, details, target and an -inner error with more descriptive details. -""") + This contains an outer error with error code, message, details, target and an + inner error with more descriptive details. + """) model TranslationError { @doc("Enums containing high level error codes.") code: TranslationErrorCode; @@ -279,32 +279,32 @@ model TranslationError { message: string; @doc(""" -Gets the source of the error. -For example it would be \"documents\" or -\"document id\" in case of invalid document. -""") + Gets the source of the error. + For example it would be \"documents\" or + \"document id\" in case of invalid document. + """) @visibility("read") target?: string; @doc(""" -New Inner Error format which conforms to Cognitive Services API Guidelines -which is available at -https://microsoft.sharepoint.com/%3Aw%3A/t/CognitiveServicesPMO/EUoytcrjuJdKpeOKIK_QRC8BPtUYQpKBi8JsWyeDMRsWlQ?e=CPq8ow. -This -contains required properties ErrorCode, message and optional properties target, -details(key value pair), inner error(this can be nested). -""") + New Inner Error format which conforms to Cognitive Services API Guidelines + which is available at + https://microsoft.sharepoint.com/%3Aw%3A/t/CognitiveServicesPMO/EUoytcrjuJdKpeOKIK_QRC8BPtUYQpKBi8JsWyeDMRsWlQ?e=CPq8ow. + This + contains required properties ErrorCode, message and optional properties target, + details(key value pair), inner error(this can be nested). + """) innerError?: InnerTranslationError; } @doc(""" -New Inner Error format which conforms to Cognitive Services API Guidelines -which is available at -https://microsoft.sharepoint.com/%3Aw%3A/t/CognitiveServicesPMO/EUoytcrjuJdKpeOKIK_QRC8BPtUYQpKBi8JsWyeDMRsWlQ?e=CPq8ow. -This -contains required properties ErrorCode, message and optional properties target, -details(key value pair), inner error(this can be nested). -""") + New Inner Error format which conforms to Cognitive Services API Guidelines + which is available at + https://microsoft.sharepoint.com/%3Aw%3A/t/CognitiveServicesPMO/EUoytcrjuJdKpeOKIK_QRC8BPtUYQpKBi8JsWyeDMRsWlQ?e=CPq8ow. + This + contains required properties ErrorCode, message and optional properties target, + details(key value pair), inner error(this can be nested). + """) model InnerTranslationError { @doc("Gets code error string.") code: string; @@ -313,21 +313,21 @@ model InnerTranslationError { message: string; @doc(""" -Gets the source of the error. -For example it would be \"documents\" or -\"document id\" in case of invalid document. -""") + Gets the source of the error. + For example it would be \"documents\" or + \"document id\" in case of invalid document. + """) @visibility("read") target?: string; @doc(""" -New Inner Error format which conforms to Cognitive Services API Guidelines -which is available at -https://microsoft.sharepoint.com/%3Aw%3A/t/CognitiveServicesPMO/EUoytcrjuJdKpeOKIK_QRC8BPtUYQpKBi8JsWyeDMRsWlQ?e=CPq8ow. -This -contains required properties ErrorCode, message and optional properties target, -details(key value pair), inner error(this can be nested). -""") + New Inner Error format which conforms to Cognitive Services API Guidelines + which is available at + https://microsoft.sharepoint.com/%3Aw%3A/t/CognitiveServicesPMO/EUoytcrjuJdKpeOKIK_QRC8BPtUYQpKBi8JsWyeDMRsWlQ?e=CPq8ow. + This + contains required properties ErrorCode, message and optional properties target, + details(key value pair), inner error(this can be nested). + """) innerError?: InnerTranslationError; } @@ -360,9 +360,9 @@ model TranslationStatus { status: Status; @doc(""" -This contains an outer error with error code, message, details, target and an -inner error with more descriptive details. -""") + This contains an outer error with error code, message, details, target and an + inner error with more descriptive details. + """) error?: TranslationError; @doc("Status Summary") @@ -416,9 +416,9 @@ model DocumentStatus { to: string; @doc(""" -This contains an outer error with error code, message, details, target and an -inner error with more descriptive details. -""") + This contains an outer error with error code, message, details, target and an + inner error with more descriptive details. + """) error?: TranslationError; @doc("Progress of the translation if available") diff --git a/specification/translation/Azure.AI.DocumentTranslation/routes.tsp b/specification/translation/Azure.AI.DocumentTranslation/routes.tsp index 4216fe4f0747..63a640672fd5 100644 --- a/specification/translation/Azure.AI.DocumentTranslation/routes.tsp +++ b/specification/translation/Azure.AI.DocumentTranslation/routes.tsp @@ -30,26 +30,26 @@ interface DocumentTranslationOperations { #suppress "@azure-tools/typespec-azure-core/long-running-polling-operation-required" @summary("Submit a document translation request to the Document Translation service") @doc(""" -Use this API to submit a bulk (batch) translation request to the Document -Translation service. -Each request can contain multiple documents and must -contain a source and destination container for each document. - -The -prefix and suffix filter (if supplied) are used to filter folders. The prefix -is applied to the subpath after the container name. - -Glossaries / -Translation memory can be included in the request and are applied by the -service when the document is translated. - -If the glossary is -invalid or unreachable during translation, an error is indicated in the -document status. -If a file with the same name already exists at the -destination, it will be overwritten. The targetUrl for each target language -must be unique. -""") + Use this API to submit a bulk (batch) translation request to the Document + Translation service. + Each request can contain multiple documents and must + contain a source and destination container for each document. + + The + prefix and suffix filter (if supplied) are used to filter folders. The prefix + is applied to the subpath after the container name. + + Glossaries / + Translation memory can be included in the request and are applied by the + service when the document is translated. + + If the glossary is + invalid or unreachable during translation, an error is indicated in the + document status. + If a file with the same name already exists at the + destination, it will be overwritten. The targetUrl for each target language + must be unique. + """) @pollingOperation(DocumentTranslationOperations.getTranslationStatus) @route("/document/batches") @post @@ -70,110 +70,110 @@ must be unique. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Doesn't fit standard ops" @summary("Returns a list of batch requests submitted and the status for each request") @doc(""" -Returns a list of batch requests submitted and the status for each -request. -This list only contains batch requests submitted by the user (based on -the resource). - -If the number of requests exceeds our paging limit, -server-side paging is used. Paginated responses indicate a partial result and -include a continuation token in the response. -The absence of a continuation -token means that no additional pages are available. - -top, skip -and maxpagesize query parameters can be used to specify a number of results to -return and an offset for the collection. - -top indicates the total -number of records the user wants to be returned across all pages. -skip -indicates the number of records to skip from the list of batches based on the -sorting method specified. By default, we sort by descending start -time. -maxpagesize is the maximum items returned in a page. If more items are -requested via top (or top is not specified and there are more items to be -returned), @nextLink will contain the link to the next page. - - -orderby query parameter can be used to sort the returned list (ex -\"orderby=createdDateTimeUtc asc\" or \"orderby=createdDateTimeUtc -desc\"). -The default sorting is descending by createdDateTimeUtc. -Some query -parameters can be used to filter the returned list (ex: -\"status=Succeeded,Cancelled\") will only return succeeded and cancelled -operations. -createdDateTimeUtcStart and createdDateTimeUtcEnd can be used -combined or separately to specify a range of datetime to filter the returned -list by. -The supported filtering query parameters are (status, ids, -createdDateTimeUtcStart, createdDateTimeUtcEnd). - -The server honors -the values specified by the client. However, clients must be prepared to handle -responses that contain a different page size or contain a continuation token. - - -When both top and skip are included, the server should first apply -skip and then top on the collection. -Note: If the server can't honor top -and/or skip, the server must return an error to the client informing about it -instead of just ignoring the query options. -This reduces the risk of the client -making assumptions about the data returned. -""") + Returns a list of batch requests submitted and the status for each + request. + This list only contains batch requests submitted by the user (based on + the resource). + + If the number of requests exceeds our paging limit, + server-side paging is used. Paginated responses indicate a partial result and + include a continuation token in the response. + The absence of a continuation + token means that no additional pages are available. + + top, skip + and maxpagesize query parameters can be used to specify a number of results to + return and an offset for the collection. + + top indicates the total + number of records the user wants to be returned across all pages. + skip + indicates the number of records to skip from the list of batches based on the + sorting method specified. By default, we sort by descending start + time. + maxpagesize is the maximum items returned in a page. If more items are + requested via top (or top is not specified and there are more items to be + returned), @nextLink will contain the link to the next page. + + + orderby query parameter can be used to sort the returned list (ex + \"orderby=createdDateTimeUtc asc\" or \"orderby=createdDateTimeUtc + desc\"). + The default sorting is descending by createdDateTimeUtc. + Some query + parameters can be used to filter the returned list (ex: + \"status=Succeeded,Cancelled\") will only return succeeded and cancelled + operations. + createdDateTimeUtcStart and createdDateTimeUtcEnd can be used + combined or separately to specify a range of datetime to filter the returned + list by. + The supported filtering query parameters are (status, ids, + createdDateTimeUtcStart, createdDateTimeUtcEnd). + + The server honors + the values specified by the client. However, clients must be prepared to handle + responses that contain a different page size or contain a continuation token. + + + When both top and skip are included, the server should first apply + skip and then top on the collection. + Note: If the server can't honor top + and/or skip, the server must return an error to the client informing about it + instead of just ignoring the query options. + This reduces the risk of the client + making assumptions about the data returned. + """) @route("/document/batches") @get getTranslationsStatus is Azure.Core.Foundations.Operation< { @doc(""" -top indicates the total number of records the user wants to be returned across -all pages. - -Clients MAY use top and skip query parameters to -specify a number of results to return and an offset into the collection. -When -both top and skip are given by a client, the server SHOULD first apply skip -and then top on the collection. - -Note: If the server can't honor -top and/or skip, the server MUST return an error to the client informing -about it instead of just ignoring the query options. -""") + top indicates the total number of records the user wants to be returned across + all pages. + + Clients MAY use top and skip query parameters to + specify a number of results to return and an offset into the collection. + When + both top and skip are given by a client, the server SHOULD first apply skip + and then top on the collection. + + Note: If the server can't honor + top and/or skip, the server MUST return an error to the client informing + about it instead of just ignoring the query options. + """) @maxValue(2147483647) @query("top") top?: int32; @doc(""" -skip indicates the number of records to skip from the list of records held by -the server based on the sorting method specified. By default, we sort by -descending start time. - -Clients MAY use top and skip query -parameters to specify a number of results to return and an offset into the -collection. -When both top and skip are given by a client, the server SHOULD -first apply skip and then top on the collection. - -Note: If the -server can't honor top and/or skip, the server MUST return an error to the -client informing about it instead of just ignoring the query options. -""") + skip indicates the number of records to skip from the list of records held by + the server based on the sorting method specified. By default, we sort by + descending start time. + + Clients MAY use top and skip query + parameters to specify a number of results to return and an offset into the + collection. + When both top and skip are given by a client, the server SHOULD + first apply skip and then top on the collection. + + Note: If the + server can't honor top and/or skip, the server MUST return an error to the + client informing about it instead of just ignoring the query options. + """) @maxValue(2147483647) @query("skip") skip?: int32; @doc(""" -maxpagesize is the maximum items returned in a page. If more items are -requested via top (or top is not specified and there are more items to be -returned), @nextLink will contain the link to the next page. - - -Clients MAY request server-driven paging with a specific page size by -specifying a maxpagesize preference. The server SHOULD honor this preference -if the specified page size is smaller than the server's default page size. -""") + maxpagesize is the maximum items returned in a page. If more items are + requested via top (or top is not specified and there are more items to be + returned), @nextLink will contain the link to the next page. + + + Clients MAY request server-driven paging with a specific page size by + specifying a maxpagesize preference. The server SHOULD honor this preference + if the specified page size is smaller than the server's default page size. + """) @maxValue(100) @minValue(1) @query("maxpagesize") @@ -214,9 +214,9 @@ if the specified page size is smaller than the server's default page size. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Doesn't fit standard ops" @summary("Returns the status for a specific document") @doc(""" -Returns the translation status for a specific document based on the request Id -and document Id. -""") + Returns the translation status for a specific document based on the request Id + and document Id. + """) @route("/document/batches/{id}/documents/{documentId}") @get getDocumentStatus is Azure.Core.Foundations.Operation< @@ -235,11 +235,11 @@ and document Id. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Doesn't fit standard ops" @summary("Returns the status for a document translation request") @doc(""" -Returns the status for a document translation request. -The status includes the -overall request status, as well as the status for documents that are being -translated as part of that request. -""") + Returns the status for a document translation request. + The status includes the + overall request status, as well as the status for documents that are being + translated as part of that request. + """) @route("/document/batches/{id}") @get getTranslationStatus is Azure.Core.Foundations.Operation< @@ -254,15 +254,15 @@ translated as part of that request. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Doesn't fit standard ops" @summary("Cancel a currently processing or queued translation") @doc(""" -Cancel a currently processing or queued translation. -A translation will not be -cancelled if it is already completed or failed or cancelling. A bad request -will be returned. -All documents that have completed translation will not be -cancelled and will be charged. -All pending documents will be cancelled if -possible. -""") + Cancel a currently processing or queued translation. + A translation will not be + cancelled if it is already completed or failed or cancelling. A bad request + will be returned. + All documents that have completed translation will not be + cancelled and will be charged. + All pending documents will be cancelled if + possible. + """) @route("/document/batches/{id}") @delete cancelTranslation is Azure.Core.Foundations.Operation< @@ -277,53 +277,53 @@ possible. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Doesn't fit standard ops" @summary("Returns the status for all documents in a batch document translation request") @doc(""" -Returns the status for all documents in a batch document translation request. - - -If the number of documents in the response exceeds our paging limit, -server-side paging is used. -Paginated responses indicate a partial result and -include a continuation token in the response. The absence of a continuation -token means that no additional pages are available. - -top, skip -and maxpagesize query parameters can be used to specify a number of results to -return and an offset for the collection. - -top indicates the total -number of records the user wants to be returned across all pages. -skip -indicates the number of records to skip from the list of document status held -by the server based on the sorting method specified. By default, we sort by -descending start time. -maxpagesize is the maximum items returned in a page. -If more items are requested via top (or top is not specified and there are -more items to be returned), @nextLink will contain the link to the next page. - - -orderby query parameter can be used to sort the returned list (ex -\"orderby=createdDateTimeUtc asc\" or \"orderby=createdDateTimeUtc -desc\"). -The default sorting is descending by createdDateTimeUtc. -Some query -parameters can be used to filter the returned list (ex: -\"status=Succeeded,Cancelled\") will only return succeeded and cancelled -documents. -createdDateTimeUtcStart and createdDateTimeUtcEnd can be used -combined or separately to specify a range of datetime to filter the returned -list by. -The supported filtering query parameters are (status, ids, -createdDateTimeUtcStart, createdDateTimeUtcEnd). - -When both top -and skip are included, the server should first apply skip and then top on -the collection. -Note: If the server can't honor top and/or skip, the server -must return an error to the client informing about it instead of just ignoring -the query options. -This reduces the risk of the client making assumptions about -the data returned. -""") + Returns the status for all documents in a batch document translation request. + + + If the number of documents in the response exceeds our paging limit, + server-side paging is used. + Paginated responses indicate a partial result and + include a continuation token in the response. The absence of a continuation + token means that no additional pages are available. + + top, skip + and maxpagesize query parameters can be used to specify a number of results to + return and an offset for the collection. + + top indicates the total + number of records the user wants to be returned across all pages. + skip + indicates the number of records to skip from the list of document status held + by the server based on the sorting method specified. By default, we sort by + descending start time. + maxpagesize is the maximum items returned in a page. + If more items are requested via top (or top is not specified and there are + more items to be returned), @nextLink will contain the link to the next page. + + + orderby query parameter can be used to sort the returned list (ex + \"orderby=createdDateTimeUtc asc\" or \"orderby=createdDateTimeUtc + desc\"). + The default sorting is descending by createdDateTimeUtc. + Some query + parameters can be used to filter the returned list (ex: + \"status=Succeeded,Cancelled\") will only return succeeded and cancelled + documents. + createdDateTimeUtcStart and createdDateTimeUtcEnd can be used + combined or separately to specify a range of datetime to filter the returned + list by. + The supported filtering query parameters are (status, ids, + createdDateTimeUtcStart, createdDateTimeUtcEnd). + + When both top + and skip are included, the server should first apply skip and then top on + the collection. + Note: If the server can't honor top and/or skip, the server + must return an error to the client informing about it instead of just ignoring + the query options. + This reduces the risk of the client making assumptions about + the data returned. + """) @route("/document/batches/{id}/documents") @get getDocumentsStatus is Azure.Core.Foundations.Operation< @@ -333,52 +333,52 @@ the data returned. id: uuid; @doc(""" -top indicates the total number of records the user wants to be returned across -all pages. - -Clients MAY use top and skip query parameters to -specify a number of results to return and an offset into the collection. -When -both top and skip are given by a client, the server SHOULD first apply skip -and then top on the collection. - -Note: If the server can't honor -top and/or skip, the server MUST return an error to the client informing -about it instead of just ignoring the query options. -""") + top indicates the total number of records the user wants to be returned across + all pages. + + Clients MAY use top and skip query parameters to + specify a number of results to return and an offset into the collection. + When + both top and skip are given by a client, the server SHOULD first apply skip + and then top on the collection. + + Note: If the server can't honor + top and/or skip, the server MUST return an error to the client informing + about it instead of just ignoring the query options. + """) @maxValue(2147483647) @query("top") top?: int32; @doc(""" -skip indicates the number of records to skip from the list of records held by -the server based on the sorting method specified. By default, we sort by -descending start time. - -Clients MAY use top and skip query -parameters to specify a number of results to return and an offset into the -collection. -When both top and skip are given by a client, the server SHOULD -first apply skip and then top on the collection. - -Note: If the -server can't honor top and/or skip, the server MUST return an error to the -client informing about it instead of just ignoring the query options. -""") + skip indicates the number of records to skip from the list of records held by + the server based on the sorting method specified. By default, we sort by + descending start time. + + Clients MAY use top and skip query + parameters to specify a number of results to return and an offset into the + collection. + When both top and skip are given by a client, the server SHOULD + first apply skip and then top on the collection. + + Note: If the + server can't honor top and/or skip, the server MUST return an error to the + client informing about it instead of just ignoring the query options. + """) @maxValue(2147483647) @query("skip") skip?: int32; @doc(""" -maxpagesize is the maximum items returned in a page. If more items are -requested via top (or top is not specified and there are more items to be -returned), @nextLink will contain the link to the next page. - - -Clients MAY request server-driven paging with a specific page size by -specifying a maxpagesize preference. The server SHOULD honor this preference -if the specified page size is smaller than the server's default page size. -""") + maxpagesize is the maximum items returned in a page. If more items are + requested via top (or top is not specified and there are more items to be + returned), @nextLink will contain the link to the next page. + + + Clients MAY request server-driven paging with a specific page size by + specifying a maxpagesize preference. The server SHOULD honor this preference + if the specified page size is smaller than the server's default page size. + """) @maxValue(100) @minValue(1) @query("maxpagesize") @@ -419,11 +419,11 @@ if the specified page size is smaller than the server's default page size. #suppress "@azure-tools/typespec-azure-core/use-standard-operations" "Doesn't fit standard ops" @summary("Returns a list of supported document formats") @doc(""" -The list of supported formats supported by the Document Translation -service. -The list includes the common file extension, as well as the -content-type if using the upload API. -""") + The list of supported formats supported by the Document Translation + service. + The list includes the common file extension, as well as the + content-type if using the upload API. + """) @route("/document/formats") @get getSupportedFormats is Azure.Core.Foundations.Operation< diff --git a/specification/translation/Azure.AI.DocumentTranslation/tspconfig.yaml b/specification/translation/Azure.AI.DocumentTranslation/tspconfig.yaml index 67f3ba7f125c..f673994872f2 100644 --- a/specification/translation/Azure.AI.DocumentTranslation/tspconfig.yaml +++ b/specification/translation/Azure.AI.DocumentTranslation/tspconfig.yaml @@ -12,6 +12,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/Azure.AI.DocumentTranslation/{version-status}/{version}/openapi.json" diff --git a/specification/translation/Azure.AI.TextTranslation/main.tsp b/specification/translation/Azure.AI.TextTranslation/main.tsp index 15d1567ee80a..80a0f963b586 100644 --- a/specification/translation/Azure.AI.TextTranslation/main.tsp +++ b/specification/translation/Azure.AI.TextTranslation/main.tsp @@ -16,31 +16,31 @@ using TypeSpec.Versioning; "Text translation is a cloud-based REST API feature of the Translator service that uses neural machine translation technology to enable quick and accurate source-to-target text translation in real time across all supported languages.", { @doc(""" -Supported Text Translation endpoints (protocol and hostname, for example: - https://api.cognitive.microsofttranslator.com). -""") + Supported Text Translation endpoints (protocol and hostname, for example: + https://api.cognitive.microsofttranslator.com). + """) Endpoint: url, } ) @doc(""" -Text translation is a cloud-based REST API feature of the Translator service that uses neural -machine translation technology to enable quick and accurate source-to-target text translation -in real time across all supported languages. - -The following methods are supported by the Text Translation feature: - -Languages. Returns a list of languages supported by Translate, Transliterate, and Dictionary Lookup operations. - -Translate. Renders single source-language text to multiple target-language texts with a single request. - -Transliterate. Converts characters or letters of a source language to the corresponding characters or letters of a target language. - -Detect. Returns the source code language code and a boolean variable denoting whether the detected language is supported for text translation and transliteration. - -Dictionary lookup. Returns equivalent words for the source term in the target language. - -Dictionary example Returns grammatical structure and context examples for the source term and target term pair. -""") + Text translation is a cloud-based REST API feature of the Translator service that uses neural + machine translation technology to enable quick and accurate source-to-target text translation + in real time across all supported languages. + + The following methods are supported by the Text Translation feature: + + Languages. Returns a list of languages supported by Translate, Transliterate, and Dictionary Lookup operations. + + Translate. Renders single source-language text to multiple target-language texts with a single request. + + Transliterate. Converts characters or letters of a source language to the corresponding characters or letters of a target language. + + Detect. Returns the source code language code and a boolean variable denoting whether the detected language is supported for text translation and transliteration. + + Dictionary lookup. Returns equivalent words for the source term in the target language. + + Dictionary example Returns grammatical structure and context examples for the source term and target term pair. + """) @versioned(APIVersion) namespace TextTranslation; diff --git a/specification/translation/Azure.AI.TextTranslation/models-languages.tsp b/specification/translation/Azure.AI.TextTranslation/models-languages.tsp index 340b68b4bd28..1e7e697ccf79 100644 --- a/specification/translation/Azure.AI.TextTranslation/models-languages.tsp +++ b/specification/translation/Azure.AI.TextTranslation/models-languages.tsp @@ -72,9 +72,9 @@ alias BaseLanguage = { }; @doc(""" -The value of the translation property is a dictionary of (key, value) pairs. Each key is a BCP 47 language tag. -A key identifies a language for which text can be translated to or translated from. -""") + The value of the translation property is a dictionary of (key, value) pairs. Each key is a BCP 47 language tag. + A key identifies a language for which text can be translated to or translated from. + """) model TranslationLanguage { ...BaseLanguage; @@ -83,10 +83,10 @@ model TranslationLanguage { } @doc(""" -The value of the transliteration property is a dictionary of (key, value) pairs. -Each key is a BCP 47 language tag. A key identifies a language for which text can be converted from one script -to another script. -""") + The value of the transliteration property is a dictionary of (key, value) pairs. + Each key is a BCP 47 language tag. A key identifies a language for which text can be converted from one script + to another script. + """) model TransliterationLanguage { ...BaseLanguage; diff --git a/specification/translation/Azure.AI.TextTranslation/models-translate.tsp b/specification/translation/Azure.AI.TextTranslation/models-translate.tsp index 0f938702d8c2..669300202e73 100644 --- a/specification/translation/Azure.AI.TextTranslation/models-translate.tsp +++ b/specification/translation/Azure.AI.TextTranslation/models-translate.tsp @@ -30,7 +30,7 @@ model TranslateParameters { Specifies the language of the input text. Find which languages are available to translate from by looking up supported languages using the translation scope. If the from parameter isn't specified, automatic language detection is applied to determine the source language. - + You must use the from parameter rather than autodetection when using the dynamic dictionary feature. Note: the dynamic dictionary feature is case-sensitive. """) @@ -103,7 +103,7 @@ model TranslateParameters { @doc(""" Specifies that the service is allowed to fall back to a general system when a custom system doesn't exist. Possible values are: true (default) or false. - + allowFallback=false specifies that the translation should only use systems trained for the category specified by the request. If a translation for language X to language Y requires chaining through a pivot language E, then all the systems in the chain (X → E and E → Y) will need to be custom and have the same category. @@ -125,7 +125,7 @@ model TranslationResult { @doc(""" Specifies the system type that was used for translation for each 'to' language requested for translation. The value is a comma-separated list of strings. Each string indicates a type: - + * Custom - Request includes a custom system and at least one custom system was used during translation. * Team - All other requests """) diff --git a/specification/translation/Azure.AI.TextTranslation/tspconfig.yaml b/specification/translation/Azure.AI.TextTranslation/tspconfig.yaml index e8e1187c7105..0b3630b065d7 100644 --- a/specification/translation/Azure.AI.TextTranslation/tspconfig.yaml +++ b/specification/translation/Azure.AI.TextTranslation/tspconfig.yaml @@ -14,6 +14,7 @@ linter: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "examples" output-file: "{azure-resource-provider-folder}/Azure.AI.TextTranslation/stable/v3.0/openapi.json" @@ -34,7 +35,6 @@ options: generate-tests: false customization-class: customization/src/main/java/TextTranslationClientBuilderCustomization.java flavor: azure - stream-style-serialization: false "@azure-tools/typespec-ts": package-dir: "ai-translation-text-rest" generateMetadata: false diff --git a/specification/verifiedid/Microsoft.VerifiedId/main.tsp b/specification/verifiedid/Microsoft.VerifiedId/main.tsp index 01f85aabab69..e33db6e1b6f7 100644 --- a/specification/verifiedid/Microsoft.VerifiedId/main.tsp +++ b/specification/verifiedid/Microsoft.VerifiedId/main.tsp @@ -71,7 +71,12 @@ model AuthorityProperties { @armResourceOperations(Authority) interface Authorities { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrReplaceAsync< + Authority, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; update is ArmResourcePatchSync; delete is ArmResourceDeleteSync; listByResourceGroup is ArmResourceListByParent; diff --git a/specification/verifiedid/resource-manager/Microsoft.VerifiedId/preview/2024-01-26-preview/verifiedid.json b/specification/verifiedid/resource-manager/Microsoft.VerifiedId/preview/2024-01-26-preview/verifiedid.json index a97a1e596f5e..b87b4bc7ecab 100644 --- a/specification/verifiedid/resource-manager/Microsoft.VerifiedId/preview/2024-01-26-preview/verifiedid.json +++ b/specification/verifiedid/resource-manager/Microsoft.VerifiedId/preview/2024-01-26-preview/verifiedid.json @@ -390,11 +390,7 @@ "properties": { "$ref": "#/definitions/AuthorityProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateEndpointConnections/PrivateEndpointConnection_CreateOrUpdate.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateEndpointConnections/PrivateEndpointConnection_CreateOrUpdate.json new file mode 100644 index 000000000000..839065af8e8c --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateEndpointConnections/PrivateEndpointConnection_CreateOrUpdate.json @@ -0,0 +1,61 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "accountName": "contoso", + "privateEndpointConnectionName": "peexample01", + "api-version": "2024-06-01-preview", + "body": { + "properties": { + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved" + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.VideoIndexer/accounts/contoso/privateEndpointConnections/peexample01", + "name": "peexample01", + "type": "Microsoft.VideoIndexer/accounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "groupId" + ] + } + } + }, + "201": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.VideoIndexer/accounts/contoso/privateEndpointConnections/peexample01", + "name": "peexample01", + "type": "Microsoft.VideoIndexer/accounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "groupId" + ] + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateEndpointConnections/PrivateEndpointConnection_Delete.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateEndpointConnections/PrivateEndpointConnection_Delete.json new file mode 100644 index 000000000000..7b615f168dcf --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateEndpointConnections/PrivateEndpointConnection_Delete.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "accountName": "contoso", + "privateEndpointConnectionName": "peexample01", + "api-version": "2024-06-01-preview" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/providers/Microsoft.VideoIndexer/locations/westus2/operationStatuses/00000000-0000-0000-0000-000000000000*427E3E07F4C0A3DCD66951C42FD7BCD794AEAC5E321728AFBDCAA7C02E9CD4D3?api-version=2024-06-01-preview" + } + }, + "204": {} + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateEndpointConnections/PrivateEndpointConnection_Get.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateEndpointConnections/PrivateEndpointConnection_Get.json new file mode 100644 index 000000000000..fe2f9ae01f22 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateEndpointConnections/PrivateEndpointConnection_Get.json @@ -0,0 +1,32 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "accountName": "contoso", + "privateEndpointConnectionName": "peexample01", + "api-version": "2024-06-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.VideoIndexer/accounts/contoso/privateEndpointConnections/peexample01", + "name": "peexample01", + "type": "Microsoft.VideoIndexer/accounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "groupId" + ] + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateEndpointConnections/PrivateEndpointConnection_ListByAccount.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateEndpointConnections/PrivateEndpointConnection_ListByAccount.json new file mode 100644 index 000000000000..c744cf4e62ee --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateEndpointConnections/PrivateEndpointConnection_ListByAccount.json @@ -0,0 +1,35 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "accountName": "contoso", + "api-version": "2024-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.VideoIndexer/accounts/contoso/privateEndpointConnections/peexample01", + "name": "peexample01", + "type": "Microsoft.VideoIndexer/accounts/privateEndpointConnections", + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.Network/privateEndpoints/peexample01" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "description": "Auto-Approved", + "actionsRequired": "None" + }, + "groupIds": [ + "groupId" + ] + } + } + ] + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateLinkResources/PrivateLinkResources_Get.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateLinkResources/PrivateLinkResources_Get.json new file mode 100644 index 000000000000..2e84d44c9e85 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateLinkResources/PrivateLinkResources_Get.json @@ -0,0 +1,27 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "accountName": "contoso", + "groupId": "avi", + "api-version": "2024-06-01-preview" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.VideoIndexer/accounts/contoso/privateLinkResources/avi", + "name": "avi", + "type": "Microsoft.VideoIndexer/accounts/privateLinkResources", + "properties": { + "groupId": "avi", + "requiredMembers": [ + "avi" + ], + "requiredZoneNames": [ + "privatelink.avi.microsoft.com" + ] + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateLinkResources/PrivateLinkResources_ListByAccount.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateLinkResources/PrivateLinkResources_ListByAccount.json new file mode 100644 index 000000000000..8dd3d43457d8 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/PrivateLinkResources/PrivateLinkResources_ListByAccount.json @@ -0,0 +1,30 @@ +{ + "parameters": { + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "test-rg", + "accountName": "contoso", + "api-version": "2024-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test-rg/providers/Microsoft.VideoIndexer/accounts/contoso/privateLinkResources/avi", + "name": "avi", + "type": "Microsoft.VideoIndexer/accounts/privateLinkResources", + "properties": { + "groupId": "avi", + "requiredMembers": [ + "avi" + ], + "requiredZoneNames": [ + "privatelink.avi.microsoft.com" + ] + } + } + ] + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountCheckNameAvailabilityFree.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountCheckNameAvailabilityFree.json new file mode 100644 index 000000000000..70d7e4e9dfd6 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountCheckNameAvailabilityFree.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e", + "checkNameAvailabilityParameters": { + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": true + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountCheckNameAvailabilityTaken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountCheckNameAvailabilityTaken.json new file mode 100644 index 000000000000..c5d72dc98621 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountCheckNameAvailabilityTaken.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e", + "checkNameAvailabilityParameters": { + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts" + } + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "Resource name already exists" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountDelete.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountDelete.json new file mode 100644 index 000000000000..27348a72fe75 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountDelete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "accountName": "contosto-videoindexer", + "resourceGroupName": "contoso-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3" + }, + "responses": { + "200": {}, + "202": {}, + "204": {} + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountGet.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountGet.json new file mode 100644 index 000000000000..9020e04e3296 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountGet.json @@ -0,0 +1,46 @@ +{ + "parameters": { + "accountName": "contosto-videoindexer", + "resourceGroupName": "contoso-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.VideoIndexer/accounts/contoso-videoindexer", + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts", + "location": "NorthEurope", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoindexer", + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi" + }, + "openAiServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + }, + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2": { + "principalId": "d2844978-40e3-4b7d-af13-cb6eeebd2726", + "clientId": "433ac7cb-6071-4052-ba31-65d9e26e21ed" + } + } + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPatch/PatchAccountWithSystemAssignedMi.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPatch/PatchAccountWithSystemAssignedMi.json new file mode 100644 index 000000000000..cd5e08caa15d --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPatch/PatchAccountWithSystemAssignedMi.json @@ -0,0 +1,48 @@ +{ + "parameters": { + "accountName": "contosto-videoindexer", + "resourceGroupName": "contoso-videoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "storageServices": {}, + "openAiServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms" + } + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.VideoIndexer/accounts/contoso-videoindexer", + "name": "contosto-videoindexer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoindexer", + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms" + }, + "openAiServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "principalId": "43a83441-c17f-4e06-84a3-2eaf86668da7", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPatch/PatchAccountWithUserAssignedMi.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPatch/PatchAccountWithUserAssignedMi.json new file mode 100644 index 000000000000..a0d53bab3280 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPatch/PatchAccountWithUserAssignedMi.json @@ -0,0 +1,65 @@ +{ + "parameters": { + "accountName": "contosto-videoindexer", + "resourceGroupName": "contosto-videoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "properties": { + "storageServices": { + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi" + }, + "openAiServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi": {}, + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.VideoIndexer/accounts/contoso-videoindexer", + "name": "contosto-videoindexer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoindexer", + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi" + }, + "openAiServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + }, + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2": { + "principalId": "d2844978-40e3-4b7d-af13-cb6eeebd2726", + "clientId": "433ac7cb-6071-4052-ba31-65d9e26e21ed" + } + } + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPut/ConnectClassicAccountToArmAccountUsingSystemAssignedMI.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPut/ConnectClassicAccountToArmAccountUsingSystemAssignedMI.json new file mode 100644 index 000000000000..8547c51229a4 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPut/ConnectClassicAccountToArmAccountUsingSystemAssignedMI.json @@ -0,0 +1,70 @@ +{ + "parameters": { + "accountName": "contosto-videoindexer", + "resourceGroupName": "contosto-videoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms" + } + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoindexer", + "name": "contosto-videoindexer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoindexer", + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "principalId": "43a83441-c17f-4e06-84a3-2eaf86668da7", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoindexer", + "name": "contosto-videoindexer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoindexer", + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "principalId": "43a83441-c17f-4e06-84a3-2eaf86668da7", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPut/ConnectClassicAccountToArmAccountUsingUserAssignedMi.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPut/ConnectClassicAccountToArmAccountUsingUserAssignedMi.json new file mode 100644 index 000000000000..326ae49384c7 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPut/ConnectClassicAccountToArmAccountUsingUserAssignedMi.json @@ -0,0 +1,84 @@ +{ + "parameters": { + "accountName": "contosto-videoindexer", + "resourceGroupName": "contosto-videoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoindexer", + "name": "contosto-videoindexer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoindexer", + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoindexer", + "name": "contosto-videoindexer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoindexer", + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPut/CreateOrUpdateAccountWithSystemAssignedMi.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPut/CreateOrUpdateAccountWithSystemAssignedMi.json new file mode 100644 index 000000000000..c0aa265d875b --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPut/CreateOrUpdateAccountWithSystemAssignedMi.json @@ -0,0 +1,78 @@ +{ + "parameters": { + "accountName": "contosto-videoindexer", + "resourceGroupName": "contosto-videoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms" + }, + "openAiServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms" + } + }, + "identity": { + "type": "SystemAssigned" + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoindexer", + "name": "contosto-videoindexer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoindexer", + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms" + }, + "openAiServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "principalId": "43a83441-c17f-4e06-84a3-2eaf86668da7", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + }, + "201": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoindexer", + "name": "contosto-videoindexer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoindexer", + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms" + }, + "openAiServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "principalId": "43a83441-c17f-4e06-84a3-2eaf86668da7", + "tenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47", + "type": "SystemAssigned" + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPut/CreateOrUpdateAccountWithUserAssignedMi.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPut/CreateOrUpdateAccountWithUserAssignedMi.json new file mode 100644 index 000000000000..005b4e8c2410 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountPut/CreateOrUpdateAccountWithUserAssignedMi.json @@ -0,0 +1,104 @@ +{ + "parameters": { + "accountName": "contosto-videoindexer", + "resourceGroupName": "contosto-videoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "location": "NorthEurope", + "properties": { + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi" + }, + "openAiServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2" + } + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi": {}, + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2": {} + } + } + } + }, + "responses": { + "200": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.VideoIndexer/accounts/contosto-videoindexer", + "name": "contosto-videoindexer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoindexer", + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi" + }, + "openAiServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + }, + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + } + } + } + } + }, + "201": { + "body": { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.VideoIndexer/accounts/contoso-videoindexer", + "name": "contoso-videoindexer", + "location": "NorthEurope", + "type": "Microsoft.VideoIndexer/accounts", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contoso-videoindexer", + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi" + }, + "openAiServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2" + }, + "totalSecondsIndexed": 0, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + }, + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2": { + "principalId": "d2844978-40e3-4b7d-af13-cb6eeebd2726", + "clientId": "433ac7cb-6071-4052-ba31-65d9e26e21ed" + } + } + } + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountsList.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountsList.json new file mode 100644 index 000000000000..991b757541a8 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountsList.json @@ -0,0 +1,49 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.VideoIndexer/accounts/contoso-videoindexer", + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts", + "location": "NorthEurope", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoindexer", + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi" + }, + "openAiServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2" + }, + "provisioningState": "Provisioning" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + }, + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2": { + "principalId": "d2844978-40e3-4b7d-af13-cb6eeebd2726", + "clientId": "433ac7cb-6071-4052-ba31-65d9e26e21ed" + } + } + } + } + ], + "nextLink": "link" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountsListByResourceGroup.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountsListByResourceGroup.json new file mode 100644 index 000000000000..66be6d2e8fee --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViAccountsListByResourceGroup.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "resourceGroupName": "contoso-videoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "586d4f48-8f08-4a4e-96b7-e1892d6dba9e" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/586d4f48-8f08-4a4e-96b7-e1892d6dba9e/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.VideoIndexer/accounts/contoso-videoindexer-rg", + "name": "vi1", + "type": "Microsoft.VideoIndexer/accounts", + "location": "NorthEurope", + "tags": {}, + "properties": { + "tenantId": "8c406f87-77ac-4ebb-a401-e8562450630e", + "accountId": "462af7c5-d1f6-4b91-86e3-8bc5e8a61574", + "accountName": "contosto-videoindexer", + "storageServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi" + }, + "openAiServices": { + "resourceId": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms", + "userAssignedIdentity": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2" + }, + "provisioningState": "Succeeded" + }, + "identity": { + "type": "UserAssigned", + "userAssignedIdentities": { + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi": { + "principalId": "a661c16c-ee39-46e7-93f6-7fb80d17ef13", + "clientId": "92e65ecf-0fae-432e-8272-fedb6edb96c7" + }, + "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi2": { + "principalId": "d2844978-40e3-4b7d-af13-cb6eeebd2726", + "clientId": "433ac7cb-6071-4052-ba31-65d9e26e21ed" + } + } + } + } + ], + "nextLink": "link" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json new file mode 100644 index 000000000000..e5fec9256fd8 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "accountName": "contosto-videoindexer", + "resourceGroupName": "contosto-videoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Account" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json new file mode 100644 index 000000000000..136f3c048efb --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "accountName": "contosto-videoindexer", + "resourceGroupName": "contosto-videoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Account" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken.json new file mode 100644 index 000000000000..0c755f7978aa --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "contosto-videoindexer", + "resourceGroupName": "contosto-videoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Project", + "projectId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken.json new file mode 100644 index 000000000000..97a4a2f809f0 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "contosto-videoindexer", + "resourceGroupName": "contosto-videoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Project", + "projectId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken.json new file mode 100644 index 000000000000..6f13814eeb34 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "contosto-videoindexer", + "resourceGroupName": "contosto-videoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Contributor", + "scope": "Video", + "videoId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken.json new file mode 100644 index 000000000000..d500d14a0853 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "accountName": "contosto-videoindexer", + "resourceGroupName": "contosto-videoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "permissionType": "Reader", + "scope": "Video", + "videoId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateRestrictedViewerAccessToken/ViGenerateAccountRestrictedViewerAccessToken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateRestrictedViewerAccessToken/ViGenerateAccountRestrictedViewerAccessToken.json new file mode 100644 index 000000000000..6b59f3e624ec --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateRestrictedViewerAccessToken/ViGenerateAccountRestrictedViewerAccessToken.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "accountName": "contosto-azurevideoindexer", + "resourceGroupName": "contosto-azurevideoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "scope": "Account" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateRestrictedViewerAccessToken/ViGenerateProjectRestrictedViewerAccessToken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateRestrictedViewerAccessToken/ViGenerateProjectRestrictedViewerAccessToken.json new file mode 100644 index 000000000000..94c3e27a9038 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateRestrictedViewerAccessToken/ViGenerateProjectRestrictedViewerAccessToken.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "accountName": "contosto-azurevideoindexer", + "resourceGroupName": "contosto-azurevideoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "scope": "Project", + "projectId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateRestrictedViewerAccessToken/ViGenerateVideoRestrictedViewerAccessToken.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateRestrictedViewerAccessToken/ViGenerateVideoRestrictedViewerAccessToken.json new file mode 100644 index 000000000000..fc57e3d5f99c --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViGenerateRestrictedViewerAccessToken/ViGenerateVideoRestrictedViewerAccessToken.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "accountName": "contosto-azurevideoindexer", + "resourceGroupName": "contosto-azurevideoindexer-rg", + "api-version": "2024-06-01-preview", + "subscriptionId": "b04775c3-63fa-40f3-9430-139d2e5522d3", + "parameters": { + "scope": "Video", + "videoId": "07ec9e38d4" + } + }, + "responses": { + "200": { + "body": { + "accessToken": "" + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViOperationsList.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViOperationsList.json new file mode 100644 index 000000000000..f48d7f05fde8 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/examples/ViOperationsList.json @@ -0,0 +1,40 @@ +{ + "parameters": { + "api-version": "2024-06-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.VideoIndexer/accounts/read", + "display": { + "provider": "Microsoft Azure Video Indexer", + "resource": "Account", + "operation": "Read accounts", + "description": "Read accounts" + } + }, + { + "name": "Microsoft.VideoIndexer/accounts/write", + "display": { + "provider": "Microsoft Azure Video Indexer", + "resource": "Account", + "operation": "Update accounts", + "description": "Update accounts" + } + }, + { + "name": "Microsoft.VideoIndexer/accounts/delete", + "display": { + "provider": "Microsoft Azure Video Indexer", + "resource": "Account", + "operation": "Delete accounts", + "description": "Delete accounts" + } + } + ] + } + } + } +} diff --git a/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/vi.json b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/vi.json new file mode 100644 index 000000000000..f46b8c1edb56 --- /dev/null +++ b/specification/vi/resource-manager/Microsoft.VideoIndexer/preview/2024-06-01-preview/vi.json @@ -0,0 +1,1328 @@ +{ + "swagger": "2.0", + "info": { + "version": "2024-06-01-preview", + "title": "vi", + "description": "Microsoft Azure Video Indexer" + }, + "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.VideoIndexer/operations": { + "get": { + "tags": [ + "Operations" + ], + "description": "Lists all of the available Azure Video Indexer provider operations.", + "operationId": "Operations_List", + "x-ms-examples": { + "List operations": { + "$ref": "./examples/ViOperationsList.json" + } + }, + "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-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.VideoIndexer/checkNameAvailability": { + "post": { + "tags": [ + "NameAvailability" + ], + "operationId": "Accounts_CheckNameAvailability", + "description": "Checks that the Video Indexer account name is valid and is not already in use.", + "x-ms-examples": { + "Check free account name availability": { + "$ref": "./examples/ViAccountCheckNameAvailabilityFree.json" + }, + "Check taken account name availability": { + "$ref": "./examples/ViAccountCheckNameAvailabilityTaken.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "name": "checkNameAvailabilityParameters", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/AccountCheckNameAvailabilityParameters" + }, + "description": "The name of the Video Indexer account. Name must be unique globally" + } + ], + "responses": { + "200": { + "description": "OK - Operation to check the Video Indexer account name availability was successful. Ok does not indicate the name is available, the body of the response does.", + "schema": { + "$ref": "#/definitions/CheckNameAvailabilityResult" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.VideoIndexer/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_List", + "description": "List all Azure Video Indexer accounts available under the subscription", + "x-ms-examples": { + "List accounts": { + "$ref": "./examples/ViAccountsList.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "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.VideoIndexer/accounts": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_ListByResourceGroup", + "description": "List all Azure Video Indexer accounts available under the resource group", + "x-ms-examples": { + "List accounts by resource group": { + "$ref": "./examples/ViAccountsListByResourceGroup.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/AccountList" + } + }, + "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.VideoIndexer/accounts/{accountName}": { + "get": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Get", + "description": "Gets the properties of an Azure Video Indexer account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Azure Video Indexer account properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Get account": { + "$ref": "./examples/ViAccountGet.json" + } + } + }, + "patch": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Update", + "x-ms-long-running-operation": false, + "description": "Updates the properties of an existing Azure Video Indexer account.", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The parameters to provide for the current Azure Video Indexer account.", + "schema": { + "$ref": "#/definitions/AccountPatch" + } + } + ], + "responses": { + "200": { + "description": "The resource was updated successfully.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "Patch account with system assigned Mi": { + "$ref": "./examples/ViAccountPatch/PatchAccountWithSystemAssignedMi.json" + }, + "Patch account with user assigned Mi": { + "$ref": "./examples/ViAccountPatch/PatchAccountWithUserAssignedMi.json" + } + } + }, + "put": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_CreateOrUpdate", + "description": "Creates or updates an Azure Video Indexer account.", + "x-ms-long-running-operation": false, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The parameters to provide for the Azure Video Indexer account.", + "schema": { + "$ref": "#/definitions/Account" + } + } + ], + "responses": { + "200": { + "description": "The resource was successfully updated.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "201": { + "description": "The resource was successfully created.", + "schema": { + "$ref": "#/definitions/Account" + } + }, + "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 account with system assigned Mi": { + "$ref": "./examples/ViAccountPut/CreateOrUpdateAccountWithSystemAssignedMi.json" + }, + "Create or update account with user assigned Mi": { + "$ref": "./examples/ViAccountPut/CreateOrUpdateAccountWithUserAssignedMi.json" + }, + "Connect classic account to arm account using system assigned Mi": { + "$ref": "./examples/ViAccountPut/ConnectClassicAccountToArmAccountUsingSystemAssignedMI.json" + }, + "Connect classic account to arm account using user assigned Mi": { + "$ref": "./examples/ViAccountPut/ConnectClassicAccountToArmAccountUsingUserAssignedMi.json" + } + } + }, + "delete": { + "tags": [ + "Accounts" + ], + "operationId": "Accounts_Delete", + "description": "Delete an Azure Video Indexer account.", + "x-ms-long-running-operation": false, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "The Azure Video Indexer account was successfully deleted." + }, + "202": { + "description": "The Azure Video Indexer account will be deleted asynchronously." + }, + "204": { + "description": "The Azure Video Indexer account 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-examples": { + "Delete account": { + "$ref": "./examples/ViAccountDelete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}/generateAccessToken": { + "post": { + "tags": [ + "AccessToken" + ], + "operationId": "Generate_AccessToken", + "description": "Generate an Azure Video Indexer access token.", + "x-ms-examples": { + "Generate accessToken for video contributor": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateVideoContributerAccessToken.json" + }, + "Generate accessToken for video reader": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateVideoReaderAccessToken.json" + }, + "Generate accessToken for project contributor": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateProjectContributerAccessToken.json" + }, + "Generate accessToken for project reader": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateProjectReaderAccessToken.json" + }, + "Generate accessToken for account contributor": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateAccountContributerAccessToken.json" + }, + "Generate accessToken for account reader": { + "$ref": "./examples/ViGenerateAccessToken/ViGenerateAccountReaderAccessToken.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "x-ms-client-flatten": true, + "description": "The parameters for generating access token", + "schema": { + "$ref": "#/definitions/GenerateAccessTokenParameters" + } + } + ], + "responses": { + "200": { + "description": "The Azure Video Indexer account's access token properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/AccessToken" + } + }, + "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.VideoIndexer/accounts/{accountName}/generateRestrictedViewerAccessToken": { + "post": { + "tags": [ + "AccessToken" + ], + "operationId": "Generate_RestrictedViewerAccessToken", + "description": "Generate an Azure Video Indexer restricted viewer access token.", + "x-ms-examples": { + "Generate restricted viewer accessToken for video": { + "$ref": "./examples/ViGenerateRestrictedViewerAccessToken/ViGenerateVideoRestrictedViewerAccessToken.json" + }, + "Generate restricted viewer accessToken for project": { + "$ref": "./examples/ViGenerateRestrictedViewerAccessToken/ViGenerateProjectRestrictedViewerAccessToken.json" + }, + "Generate restricted viewer accessToken for account": { + "$ref": "./examples/ViGenerateRestrictedViewerAccessToken/ViGenerateAccountRestrictedViewerAccessToken.json" + } + }, + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "x-ms-client-flatten": true, + "description": "The parameters for generating restricted viewer access token", + "schema": { + "$ref": "#/definitions/GenerateRestrictedViewerAccessTokenParameters" + } + } + ], + "responses": { + "200": { + "description": "The Azure Video Indexer account's access token properties were retrieved successfully.", + "schema": { + "$ref": "#/definitions/AccessToken" + } + }, + "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.VideoIndexer/accounts/{accountName}/privateEndpointConnections": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "List all private endpoint connections in a Video Indexer account.", + "operationId": "PrivateEndpointConnections_ListByAccount", + "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/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateEndpointConnectionListResult" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionList": { + "$ref": "./examples/PrivateEndpointConnections/PrivateEndpointConnection_ListByAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Get the specified private endpoint connection associated with the Video Indexer account.", + "operationId": "PrivateEndpointConnections_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/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionGet": { + "$ref": "./examples/PrivateEndpointConnections/PrivateEndpointConnection_Get.json" + } + } + }, + "put": { + "tags": [ + "PrivateEndpointConnections" + ], + "description": "Update the state of specified private endpoint connection associated with the Video Indexer account.", + "operationId": "PrivateEndpointConnections_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/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "in": "body", + "name": "body", + "required": true, + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" + } + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "201": { + "description": "The request was successful; the operation will complete asynchronously.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionCreateOrUpdate": { + "$ref": "./examples/PrivateEndpointConnections/PrivateEndpointConnection_CreateOrUpdate.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 Video Indexer account.", + "operationId": "PrivateEndpointConnections_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/AccountNameParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/parameters/PrivateEndpointConnectionName" + } + ], + "responses": { + "202": { + "description": "The request was successful; the operation will complete asynchronously.", + "headers": { + "Retry-After": { + "type": "integer", + "format": "int32", + "description": "The Retry-After header can indicate how long the client should wait before polling the operation status." + }, + "Location": { + "type": "string", + "description": "The Location header contains the URL where the status of the long running operation can be checked." + } + } + }, + "204": { + "description": "The private endpoint connection does not exist in the subscription." + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateEndpointConnectionDelete": { + "$ref": "./examples/PrivateEndpointConnections/PrivateEndpointConnection_Delete.json" + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}/privateLinkResources": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "List all private link resources in a Video Indexer account.", + "operationId": "PrivateLinkResources_ListByAccount", + "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/AccountNameParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v6/privatelinks.json#/definitions/PrivateLinkResourceListResult" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateLinkResourcesList": { + "$ref": "./examples/PrivateLinkResources/PrivateLinkResources_ListByAccount.json" + } + }, + "x-ms-pageable": { + "nextLinkName": "nextLink" + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.VideoIndexer/accounts/{accountName}/privateLinkResources/{groupId}": { + "get": { + "tags": [ + "PrivateLinkResources" + ], + "description": "Get the specified private link resource associated with the Video Indexer account.", + "operationId": "PrivateLinkResources_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/AccountNameParameter" + }, + { + "$ref": "#/parameters/GroupIdParameter" + } + ], + "responses": { + "200": { + "description": "The request was successful; the request was well-formed and received properly.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateLinkResource" + } + }, + "default": { + "description": "Error response describing the reason for operation failure.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "PrivateLinkResourcesGet": { + "$ref": "./examples/PrivateLinkResources/PrivateLinkResources_Get.json" + } + } + } + } + }, + "definitions": { + "Tags": { + "type": "object", + "description": "Resource tags", + "properties": { + "tags": { + "type": "object", + "additionalProperties": { + "type": "string" + }, + "x-ms-mutability": [ + "read", + "create", + "update" + ], + "description": "Resource tags" + } + } + }, + "Account": { + "description": "An Azure Video Indexer account.", + "type": "object", + "properties": { + "properties": { + "description": "List of account properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccountPropertiesForPutRequest" + }, + "identity": { + "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity" + }, + "systemData": { + "readOnly": true, + "description": "The system meta data relating to this resource.", + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/systemData" + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ] + }, + "AccountPatch": { + "type": "object", + "description": "Azure Video Indexer account", + "properties": { + "properties": { + "description": "List of account properties", + "type": "object", + "x-ms-client-flatten": true, + "$ref": "#/definitions/AccountPropertiesForPatchRequest" + }, + "identity": { + "$ref": "../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity" + } + }, + "allOf": [ + { + "$ref": "#/definitions/Tags" + } + ] + }, + "AccountPropertiesForPutRequest": { + "description": "Azure Video Indexer account properties", + "type": "object", + "properties": { + "tenantId": { + "description": "The account's tenant id", + "type": "string", + "readOnly": true, + "example": "2b9bcf6d-39d5-460a-a6bb-7b40b7ccf139" + }, + "accountId": { + "description": "The account's data-plane ID. This can be set only when connecting an existing classic account", + "type": "string", + "default": "00000000-0000-0000-0000-000000000000", + "example": "3575690b-a569-449c-ab7b-11020f948f76" + }, + "accountName": { + "description": "The account's name", + "type": "string", + "readOnly": true, + "example": "contoso-videoindexer" + }, + "storageServices": { + "description": "The storage services details", + "type": "object", + "$ref": "#/definitions/StorageServicesForPutRequest" + }, + "openAiServices": { + "description": "The openAi services details", + "type": "object", + "$ref": "#/definitions/OpenAiServicesForPutRequest" + }, + "totalSecondsIndexed": { + "description": "An integer representing the total seconds that have been indexed on the account", + "type": "integer", + "format": "int32", + "readOnly": true + }, + "publicNetworkAccess": { + "description": "Whether or not public network access is allowed for the account.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "privateEndpointConnections": { + "description": "List of private endpoint connections associated with the account.", + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the account at the time the operation was called.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Provisioning", + "Deleting" + ], + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "AccountPropertiesForPatchRequest": { + "description": "Azure Video Indexer account properties", + "type": "object", + "properties": { + "tenantId": { + "description": "The account's tenant id", + "type": "string", + "readOnly": true, + "example": "2b9bcf6d-39d5-460a-a6bb-7b40b7ccf139" + }, + "accountId": { + "description": "The account's data-plane ID", + "readOnly": true, + "type": "string", + "example": "3575690b-a569-449c-ab7b-11020f948f76" + }, + "storageServices": { + "description": "The storage services details", + "type": "object", + "$ref": "#/definitions/StorageServicesForPatchRequest" + }, + "openAiServices": { + "description": "The openAi services details", + "type": "object", + "$ref": "#/definitions/OpenAiServicesForPatchRequest" + }, + "publicNetworkAccess": { + "description": "Whether or not public network access is allowed for the account.", + "enum": [ + "Enabled", + "Disabled" + ], + "type": "string", + "x-ms-enum": { + "name": "PublicNetworkAccess", + "modelAsString": true + } + }, + "privateEndpointConnections": { + "description": "List of private endpoint connections associated with the account.", + "type": "array", + "items": { + "$ref": "../../../../../common-types/resource-management/v5/privatelinks.json#/definitions/PrivateEndpointConnection" + } + }, + "provisioningState": { + "readOnly": true, + "type": "string", + "description": "Gets the status of the account at the time the operation was called.", + "enum": [ + "Succeeded", + "Failed", + "Canceled", + "Accepted", + "Provisioning", + "Deleting" + ], + "x-ms-enum": { + "name": "provisioningState", + "modelAsString": true + } + } + } + }, + "AccountList": { + "properties": { + "value": { + "readOnly": true, + "type": "array", + "items": { + "$ref": "#/definitions/Account" + }, + "description": "List of accounts and their properties." + }, + "nextLink": { + "type": "string", + "description": "URL to get the next set of operation list results if there are any.", + "example": "https://management.azure.com/{accountsOperation}?api-version={version}&%24skiptoken={token}" + } + }, + "description": "The list operation response, that contains the data pools and their properties.", + "type": "object" + }, + "GenerateAccessTokenParameters": { + "description": "Access token generation request's parameters", + "type": "object", + "required": [ + "permissionType", + "scope" + ], + "properties": { + "permissionType": { + "type": "string", + "description": "The requested permission", + "enum": [ + "Contributor", + "Reader" + ], + "x-ms-enum": { + "name": "permissionType", + "modelAsString": true + } + }, + "scope": { + "type": "string", + "description": "The requested media type", + "enum": [ + "Video", + "Account", + "Project" + ], + "x-ms-enum": { + "name": "scope", + "modelAsString": true + } + }, + "videoId": { + "description": "The video ID", + "type": "string", + "example": "07ec9e38d4" + }, + "projectId": { + "description": "The project ID", + "type": "string" + } + } + }, + "GenerateRestrictedViewerAccessTokenParameters": { + "description": "Restricted viewer access token generation request's parameters", + "type": "object", + "required": [ + "scope" + ], + "properties": { + "scope": { + "type": "string", + "description": "The requested media type", + "enum": [ + "Video", + "Account", + "Project" + ], + "x-ms-enum": { + "name": "scope", + "modelAsString": true + } + }, + "videoId": { + "description": "The video ID", + "type": "string", + "example": "07ec9e38d4" + }, + "projectId": { + "description": "The project ID", + "type": "string" + } + } + }, + "StorageServicesForPutRequest": { + "description": "The storage services details", + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.Storage/storageAccounts" + } + ] + }, + "description": "The storage services resource id", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.Storage/storageAccounts/contoso-videoindexer-ms" + }, + "userAssignedIdentity": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" + } + ] + }, + "description": "The user assigned identity to be used to grant permissions", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi" + } + } + }, + "OpenAiServicesForPutRequest": { + "description": "The openAi services details", + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.CognitiveServices/accounts" + } + ] + }, + "description": "The openAi services resource id", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms" + }, + "userAssignedIdentity": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" + } + ] + }, + "description": "The user assigned identity to be used to grant permissions", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi" + } + } + }, + "StorageServicesForPatchRequest": { + "description": "The storage services details", + "type": "object", + "properties": { + "userAssignedIdentity": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" + } + ] + }, + "description": "The user assigned identity to be used to grant permissions", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi" + } + } + }, + "OpenAiServicesForPatchRequest": { + "description": "The openAi services details", + "type": "object", + "properties": { + "resourceId": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.CognitiveServices/accounts" + } + ] + }, + "description": "The openAi services resource id", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.CognitiveServices/accounts/contoso-viopenai-ms" + }, + "userAssignedIdentity": { + "type": "string", + "format": "arm-id", + "x-ms-arm-id-details": { + "allowedResources": [ + { + "type": "Microsoft.ManagedIdentity/userAssignedIdentities" + } + ] + }, + "description": "The user assigned identity to be used to grant permissions", + "example": "/subscriptions/xxx/resourceGroups/contoso-videoindexer-rg/providers/Microsoft.ManagedIdentity/userAssignedIdentities/contoso-videoindexer-mi" + } + } + }, + "AccessToken": { + "description": "Azure Video Indexer access token.", + "type": "object", + "properties": { + "accessToken": { + "type": "string", + "readOnly": true, + "description": "The access token.", + "x-ms-secret": true, + "example": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJPbmxpbmUgSldUIEJ1aWxkZXIiLCJpYXQiOjE2MjI0NDc3MzMsImV4cCI6MTY1Mzk4MzczMywiYXVkIjoid3d3LmV4YW1wbGUuY29tIiwic3ViIjoianJvY2tldEBleGFtcGxlLmNvbSIsIkdpdmVuTmFtZSI6IkpvaG5ueSIsIlN1cm5hbWUiOiJSb2NrZXQiLCJFbWFpbCI6Impyb2NrZXRAZXhhbXBsZS5jb20iLCJSb2xlIjpbIk1hbmFnZXIiLCJQcm9qZWN0IEFkbWluaXN0cmF0b3IiXX0" + } + } + }, + "AccountCheckNameAvailabilityParameters": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The VideoIndexer account name." + }, + "type": { + "type": "string", + "enum": [ + "Microsoft.VideoIndexer/accounts" + ], + "x-ms-enum": { + "name": "Type", + "modelAsString": true + }, + "description": "The type of resource, Microsoft.VideoIndexer/accounts" + } + }, + "required": [ + "name", + "type" + ], + "description": "The parameters used to check the availability of the Video Indexer account name." + }, + "CheckNameAvailabilityResult": { + "type": "object", + "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." + }, + "reason": { + "readOnly": true, + "type": "string", + "description": "Gets the reason that a Video Indexer account name could not be used. The Reason element is only returned if NameAvailable is false.", + "enum": [ + "AlreadyExists" + ], + "x-ms-enum": { + "name": "Reason", + "modelAsString": true + } + }, + "message": { + "readOnly": true, + "type": "string", + "description": "Gets an error message explaining the Reason value in more detail." + } + }, + "description": "The CheckNameAvailability operation response." + } + }, + "parameters": { + "AccountNameParameter": { + "name": "accountName", + "in": "path", + "required": true, + "type": "string", + "description": "The name of the Azure Video Indexer account.", + "pattern": "^[A-Za-z0-9-]+$", + "maxLength": 50, + "minLength": 3, + "x-ms-parameter-location": "method" + }, + "GroupIdParameter": { + "name": "groupId", + "in": "path", + "required": true, + "type": "string", + "description": "The group ID of the private link resource.", + "x-ms-parameter-location": "method" + } + } +} diff --git a/specification/vi/resource-manager/readme.md b/specification/vi/resource-manager/readme.md index 69ccfb35bb91..ecf5ef8d23a9 100644 --- a/specification/vi/resource-manager/readme.md +++ b/specification/vi/resource-manager/readme.md @@ -30,6 +30,7 @@ directive: - Microsoft.VideoIndexer/preview/2022-04-13-preview/vi.json - Microsoft.VideoIndexer/preview/2022-07-20-preview/vi.json - Microsoft.VideoIndexer/preview/2024-04-01-preview/vi.json + - Microsoft.VideoIndexer/preview/2024-06-01-preview/vi.json - Microsoft.VideoIndexer/stable/2022-08-01/vi.json where: @@ -52,6 +53,16 @@ openapi-subtype: rpaas tag: package-2024-01 ``` +### Tag: package-2024-06-01-preview + +These settings apply only when `--tag=2024-06-01-preview` is specified on the command line. + +``` yaml $(tag) == 'package-2024-06-01-preview' +version-with-underscores: 2024_06_01_preview +input-file: + - Microsoft.VideoIndexer/preview/2024-06-01-preview/vi.json +``` + ### Tag: package-2024-04-01-preview These settings apply only when `--tag=2024-04-01-preview` is specified on the command line. diff --git a/specification/vmware/Microsoft.AVS/models.tsp b/specification/vmware/Microsoft.AVS/models.tsp index a9c4f74bce4a..260686539838 100644 --- a/specification/vmware/Microsoft.AVS/models.tsp +++ b/specification/vmware/Microsoft.AVS/models.tsp @@ -600,7 +600,7 @@ model Location is ProxyResource { @key("location") @path @segment("locations") - @Azure.ResourceManager.Private.armCommonParameter( + @Azure.ResourceManager.CommonTypes.Private.armCommonParameter( "LocationParameter", Azure.ResourceManager.CommonTypes.Versions.v5 ) @@ -672,11 +672,11 @@ model PrivateCloudUpdateProperties { encryption?: Encryption; @doc(""" -Array of additional networks noncontiguous with networkBlock. Networks must be -unique and non-overlapping across VNet in your subscription, on-premise, and -this privateCloud networkBlock attribute. Make sure the CIDR format conforms to -(A.B.C.D/X). -""") + Array of additional networks noncontiguous with networkBlock. Networks must be + unique and non-overlapping across VNet in your subscription, on-premise, and + this privateCloud networkBlock attribute. Make sure the CIDR format conforms to + (A.B.C.D/X). + """) extendedNetworkBlocks?: string[]; @doc("The type of DNS zone to use.") @@ -703,11 +703,11 @@ model PrivateCloudProperties { encryption?: Encryption; @doc(""" -Array of additional networks noncontiguous with networkBlock. Networks must be -unique and non-overlapping across VNet in your subscription, on-premise, and -this privateCloud networkBlock attribute. Make sure the CIDR format conforms to -(A.B.C.D/X). -""") + Array of additional networks noncontiguous with networkBlock. Networks must be + unique and non-overlapping across VNet in your subscription, on-premise, and + this privateCloud networkBlock attribute. Make sure the CIDR format conforms to + (A.B.C.D/X). + """) extendedNetworkBlocks?: string[]; @doc("The provisioning state") @@ -722,10 +722,10 @@ this privateCloud networkBlock attribute. Make sure the CIDR format conforms to endpoints?: Endpoints; @doc(""" -The block of addresses should be unique across VNet in your subscription as -well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where -A,B,C,D are between 0 and 255, and X is between 0 and 22 -""") + The block of addresses should be unique across VNet in your subscription as + well as on-premise. Make sure the CIDR format is conformed to (A.B.C.D/X) where + A,B,C,D are between 0 and 255, and X is between 0 and 22 + """) networkBlock: string; @doc("Network used to access vCenter Server and NSX-T Manager") @@ -761,15 +761,15 @@ A,B,C,D are between 0 and 255, and X is between 0 and 22 externalCloudLinks?: string[]; @doc(""" -A secondary expressRoute circuit from a separate AZ. Only present in a -stretched private cloud -""") + A secondary expressRoute circuit from a separate AZ. Only present in a + stretched private cloud + """) secondaryCircuit?: Circuit; @doc(""" -Flag to indicate whether the private cloud has the quota for provisioned NSX -Public IP count raised from 64 to 1024 -""") + Flag to indicate whether the private cloud has the quota for provisioned NSX + Public IP count raised from 64 to 1024 + """) @visibility("read") nsxPublicIpQuotaRaised?: NsxPublicIpQuotaRaisedEnum; @@ -887,15 +887,15 @@ model IdentitySource { ssl?: SslEnum; @doc(""" -The ID of an Active Directory user with a minimum of read-only access to Base -DN for users and group -""") + The ID of an Active Directory user with a minimum of read-only access to Base + DN for users and group + """) username?: string; @doc(""" -The password of the Active Directory user with a minimum of read-only access to -Base DN for users and groups. -""") + The password of the Active Directory user with a minimum of read-only access to + Base DN for users and groups. + """) @secret password?: string; } @@ -1045,9 +1045,9 @@ model DiskPoolVolume { lunName: string; @doc(""" -Mode that describes whether the LUN has to be mounted as a datastore or -attached as a LUN -""") + Mode that describes whether the LUN has to be mounted as a datastore or + attached as a LUN + """) mountOption?: MountOptionEnum = MountOptionEnum.MOUNT; @doc("Device path") @@ -1173,16 +1173,16 @@ model GlobalReachConnectionProperties { provisioningState?: GlobalReachConnectionProvisioningState; @doc(""" -The network used for global reach carved out from the original network block -provided for the private cloud -""") + The network used for global reach carved out from the original network block + provided for the private cloud + """) @visibility("read") addressPrefix?: string; @doc(""" -Authorization key from the peer express route used for the global reach -connection -""") + Authorization key from the peer express route used for the global reach + connection + """) authorizationKey?: string; @doc("The connection status of the global reach connection") @@ -1190,15 +1190,15 @@ connection circuitConnectionStatus?: GlobalReachConnectionStatus; @doc(""" -Identifier of the ExpressRoute Circuit to peer with in the global reach -connection -""") + Identifier of the ExpressRoute Circuit to peer with in the global reach + connection + """) peerExpressRouteCircuit?: string; @doc(""" -The ID of the Private Cloud's ExpressRoute Circuit that is participating in the -global reach connection -""") + The ID of the Private Cloud's ExpressRoute Circuit that is participating in the + global reach connection + """) expressRouteId?: string; } @@ -1248,13 +1248,6 @@ model WorkloadNetworkSegment name: string; } -@doc("NSX Segment update") -model WorkloadNetworkSegmentUpdate { - @doc("The updatable properties of a Segment update") - @extension("x-ms-client-flatten", true) - properties?: WorkloadNetworkSegmentProperties; -} - @doc("NSX Segment Properties") model WorkloadNetworkSegmentProperties { @doc("Display name of the segment.") @@ -1317,13 +1310,6 @@ model DhcpIdParameter { dhcpId: string; } -@doc("NSX DHCP update") -model WorkloadNetworkDhcpUpdate { - @doc("The updatable properties of a DHCP update") - @extension("x-ms-client-flatten", false) - properties?: WorkloadNetworkDhcpEntity; -} - @doc("Type of DHCP: SERVER or RELAY.") union DhcpTypeEnum { SERVER: "SERVER", @@ -1331,9 +1317,9 @@ union DhcpTypeEnum { string, } @doc(""" -Base class for WorkloadNetworkDhcpServer and WorkloadNetworkDhcpRelay to -inherit from -""") + Base class for WorkloadNetworkDhcpServer and WorkloadNetworkDhcpRelay to + inherit from + """) @discriminator("dhcpType") model WorkloadNetworkDhcpEntity { @doc("Type of DHCP: SERVER or RELAY.") @@ -1423,13 +1409,6 @@ model PortMirroringProfileParameter { portMirroringId: string; } -@doc("NSX Port Mirroring update") -model WorkloadNetworkPortMirroringUpdate { - @doc("The updatable properties of a Port Mirroring update") - @extension("x-ms-client-flatten", true) - properties?: WorkloadNetworkPortMirroringProperties; -} - @doc("NSX Port Mirroring Properties") model WorkloadNetworkPortMirroringProperties { @doc("Display name of the port mirroring profile.") @@ -1477,14 +1456,6 @@ model VmGroupIdParameter { vmGroupId: string; } -#suppress "@azure-tools/typespec-azure-core/casing-style" "Can not change existing name." -@doc("NSX VM Group update") -model WorkloadNetworkVMGroupUpdate { - @doc("The updatable properties of a VM Group update") - @extension("x-ms-client-flatten", true) - properties?: WorkloadNetworkVMGroupProperties; -} - #suppress "@azure-tools/typespec-azure-core/casing-style" "Can not change existing name." @doc("NSX VM Group Properties") model WorkloadNetworkVMGroupProperties { @@ -1552,13 +1523,6 @@ model DnsServiceIdParameter { dnsServiceId: string; } -@doc("NSX DNS Service update") -model WorkloadNetworkDnsServiceUpdate { - @doc("The updatable properties of a DNS Service update") - @extension("x-ms-client-flatten", true) - properties?: WorkloadNetworkDnsServiceProperties; -} - @doc("NSX DNS Service Properties") model WorkloadNetworkDnsServiceProperties { @doc("Display name of the DNS Service.") @@ -1608,13 +1572,6 @@ model DnsZoneIdParameter { dnsZoneId: string; } -@doc("NSX DNS Zone update") -model WorkloadNetworkDnsZoneUpdate { - @doc("The updatable properties of a DNS Zone update") - @extension("x-ms-client-flatten", true) - properties?: WorkloadNetworkDnsZoneProperties; -} - @doc("NSX DNS Zone Properties") model WorkloadNetworkDnsZoneProperties { @doc("Display name of the DNS Zone.") @@ -1630,7 +1587,7 @@ model WorkloadNetworkDnsZoneProperties { sourceIp?: string; @doc("Number of DNS Services using the DNS zone.") - dnsServices?: int32; + dnsServices?: int64; @doc("The provisioning state") @visibility("read") @@ -1945,9 +1902,9 @@ union ScriptCmdletAudience { @doc("An parameter that the script will accept") model ScriptParameter { @doc(""" -The type of parameter the script is expecting. psCredential is a -PSCredentialObject -""") + The type of parameter the script is expecting. psCredential is a + PSCredentialObject + """) @visibility("read") type?: ScriptParameterTypes; @@ -1959,9 +1916,9 @@ PSCredentialObject description?: string; @doc(""" -Should this parameter be visible to arm and passed in the parameters argument -when executing -""") + Should this parameter be visible to arm and passed in the parameters argument + when executing + """) @visibility("read") visibility?: VisibilityParameterEnum; @@ -1992,15 +1949,15 @@ model ScriptExecutionProperties { #suppress "@azure-tools/typespec-azure-resource-manager/missing-x-ms-identifiers" @doc(""" -Parameters that will be hidden/not visible to ARM, such as passwords and -credentials -""") + Parameters that will be hidden/not visible to ARM, such as passwords and + credentials + """) hiddenParameters?: ScriptExecutionParameter[]; @doc(""" -Error message if the script was able to run, but if the script itself had -errors or powershell threw an exception -""") + Error message if the script was able to run, but if the script itself had + errors or powershell threw an exception + """) failureReason?: string; @doc("Time limit for execution") @@ -2224,3 +2181,10 @@ model ResourceSkuRequired { @doc("The SKU (Stock Keeping Unit) assigned to this resource.") sku: Foundations.Sku; } + +@doc("The response of a {name} list operation.", Resource) +@friendlyName(FriendlyNameFormat, Resource) +model ResourceList< + Resource extends Foundations.Resource, + FriendlyNameFormat extends valueof string = "{name}List" +> is Azure.Core.Page; diff --git a/specification/vmware/Microsoft.AVS/routes.tsp b/specification/vmware/Microsoft.AVS/routes.tsp index 8a490e1c769f..cbd9cce37e96 100644 --- a/specification/vmware/Microsoft.AVS/routes.tsp +++ b/specification/vmware/Microsoft.AVS/routes.tsp @@ -34,17 +34,29 @@ interface Locations { ): ArmResponse | ErrorResponse; } +alias PrivateCloudList = ResourceList; @armResourceOperations interface PrivateClouds { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("PrivateClouds_List") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + PrivateCloud, + Response = ArmResponse + >; - listInSubscription is ArmListBySubscription; + listInSubscription is ArmListBySubscription< + PrivateCloud, + Response = ArmResponse + >; get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + PrivateCloud, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; // This could be modeled with ArmCustomPatchAsync if a 202 response with no body is used instead of a 201. // update is ArmCustomPatchAsync; @@ -109,11 +121,19 @@ interface PrivateClouds { interface Clusters { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("Clusters_List") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + Cluster, + Response = ArmResponse> + >; get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + Cluster, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; // This could be modeled with ArmCustomPatchAsync if a 202 response with no body is used instead of a 201. // update is ArmCustomPatchAsync; @@ -167,11 +187,19 @@ interface Clusters { interface Datastores { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("Datastores_List") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + Datastore, + Response = ArmResponse> + >; get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + Datastore, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; #suppress "deprecated" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" @@ -192,7 +220,10 @@ interface Datastores { interface HcxEnterpriseSites { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("HcxEnterpriseSites_List") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + HcxEnterpriseSite, + Response = ArmResponse> + >; get is ArmResourceRead; @@ -217,13 +248,19 @@ interface HcxEnterpriseSites { interface Authorizations { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("Authorizations_List") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + ExpressRouteAuthorization, + Response = ArmResponse> + >; get is ArmResourceRead; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST REMOVE AT NEXT API VERSION UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") createOrUpdate is ArmResourceCreateOrUpdateAsync< ExpressRouteAuthorization, - BaseParameters + BaseParameters, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader >; #suppress "deprecated" @@ -247,11 +284,19 @@ interface Authorizations { interface GlobalReachConnections { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("GlobalReachConnections_List") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + GlobalReachConnection, + Response = ArmResponse> + >; get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + GlobalReachConnection, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; #suppress "deprecated" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" @@ -278,30 +323,38 @@ interface WorkloadNetworks { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_List") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + WorkloadNetwork, + Response = ArmResponse> + >; } @armResourceOperations interface WorkloadNetworkSegments { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_ListSegments") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + WorkloadNetworkSegment, + Response = ArmResponse> + >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_GetSegment") get is ArmResourceRead; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @operationId("WorkloadNetworks_CreateSegments") - create is ArmResourceCreateOrUpdateAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrUpdateAsync< + WorkloadNetworkSegment, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_UpdateSegments") @parameterVisibility - update is ArmCustomPatchAsync< - WorkloadNetworkSegment, - WorkloadNetworkSegmentUpdate - >; + update is ArmCustomPatchAsync; #suppress "deprecated" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" @@ -340,7 +393,10 @@ interface WorkloadNetworkSegments { interface WorkloadNetworkDhcpConfigurations { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_ListDhcp") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + WorkloadNetworkDhcp, + Response = ArmResponse> + >; #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "DhcpIdParameter should be last, but it is breaking to correct it." #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @@ -356,12 +412,18 @@ interface WorkloadNetworkDhcpConfigurations { ): ArmResponse | ErrorResponse; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @operationId("WorkloadNetworks_CreateDhcp") - create is ArmResourceCreateOrUpdateAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrUpdateAsync< + WorkloadNetworkDhcp, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_UpdateDhcp") - update is ArmCustomPatchAsync; + @parameterVisibility + update is ArmCustomPatchAsync; #suppress "deprecated" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" @@ -410,7 +472,10 @@ interface WorkloadNetworkDhcpConfigurations { interface WorkloadNetworkGateways { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_ListGateways") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + WorkloadNetworkGateway, + Response = ArmResponse> + >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_GetGateway") @@ -424,22 +489,30 @@ interface WorkloadNetworkGateways { interface WorkloadNetworkPortMirroringProfiles { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_ListPortMirroring") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + WorkloadNetworkPortMirroring, + Response = ArmResponse> + >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_GetPortMirroring") get is ArmResourceRead; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @operationId("WorkloadNetworks_CreatePortMirroring") - create is ArmResourceCreateOrUpdateAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrUpdateAsync< + WorkloadNetworkPortMirroring, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_UpdatePortMirroring") @parameterVisibility update is ArmCustomPatchAsync< WorkloadNetworkPortMirroring, - WorkloadNetworkPortMirroringUpdate + WorkloadNetworkPortMirroring >; #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "PortMirroringProfileParameter should be last, but it is breaking to correct it." @@ -498,23 +571,28 @@ interface WorkloadNetworkPortMirroringProfiles { interface WorkloadNetworkVmGroups { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_ListVMGroups") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + WorkloadNetworkVMGroup, + Response = ArmResponse> + >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_GetVMGroup") get is ArmResourceRead; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @operationId("WorkloadNetworks_CreateVMGroup") - create is ArmResourceCreateOrUpdateAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrUpdateAsync< + WorkloadNetworkVMGroup, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_UpdateVMGroup") @parameterVisibility - update is ArmCustomPatchAsync< - WorkloadNetworkVMGroup, - WorkloadNetworkVMGroupUpdate - >; + update is ArmCustomPatchAsync; #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "VmGroupIdParameter should be last, but it is breaking to correct it." #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @@ -570,7 +648,13 @@ interface WorkloadNetworkVmGroups { interface WorkloadNetworkVirtualMachines { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_ListVirtualMachines") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + WorkloadNetworkVirtualMachine, + Response = ArmResponse> + >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_GetVirtualMachine") @@ -584,22 +668,33 @@ interface WorkloadNetworkVirtualMachines { interface WorkloadNetworkDnsServices { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_ListDnsServices") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + WorkloadNetworkDnsService, + Response = ArmResponse> + >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_GetDnsService") get is ArmResourceRead; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @operationId("WorkloadNetworks_CreateDnsService") - create is ArmResourceCreateOrUpdateAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrUpdateAsync< + WorkloadNetworkDnsService, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_UpdateDnsService") @parameterVisibility update is ArmCustomPatchAsync< WorkloadNetworkDnsService, - WorkloadNetworkDnsServiceUpdate + WorkloadNetworkDnsService >; #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "DnsServiceIdParameter should be last, but it is breaking to correct it." @@ -658,23 +753,28 @@ interface WorkloadNetworkDnsServices { interface WorkloadNetworkDnsZones { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_ListDnsZones") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + WorkloadNetworkDnsZone, + Response = ArmResponse> + >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_GetDnsZone") get is ArmResourceRead; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @operationId("WorkloadNetworks_CreateDnsZone") - create is ArmResourceCreateOrUpdateAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrUpdateAsync< + WorkloadNetworkDnsZone, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_UpdateDnsZone") @parameterVisibility - update is ArmCustomPatchAsync< - WorkloadNetworkDnsZone, - WorkloadNetworkDnsZoneUpdate - >; + update is ArmCustomPatchAsync; #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "DnsZoneIdParameter should be last, but it is breaking to correct it." #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @@ -731,15 +831,23 @@ interface WorkloadNetworkDnsZones { interface WorkloadNetworkPublicIps { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_ListPublicIPs") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + WorkloadNetworkPublicIP, + Response = ArmResponse> + >; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("WorkloadNetworks_GetPublicIP") get is ArmResourceRead; #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" @operationId("WorkloadNetworks_CreatePublicIP") - create is ArmResourceCreateOrUpdateAsync; + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrUpdateAsync< + WorkloadNetworkPublicIP, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; #suppress "@azure-tools/typespec-azure-resource-manager/arm-resource-operation" "PublicIPIdParameter should be last, but it is breaking to correct it." #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @@ -782,11 +890,19 @@ interface WorkloadNetworkPublicIps { interface CloudLinks { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("CloudLinks_List") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + CloudLink, + Response = ArmResponse> + >; get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + CloudLink, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; #suppress "deprecated" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" @@ -807,11 +923,19 @@ interface CloudLinks { interface Addons { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("Addons_List") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + Addon, + Response = ArmResponse> + >; get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + Addon, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; #suppress "deprecated" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" @@ -832,7 +956,10 @@ interface Addons { interface VirtualMachines { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("VirtualMachines_List") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + VirtualMachine, + Response = ArmResponse> + >; get is ArmResourceRead; @@ -854,11 +981,22 @@ interface VirtualMachines { interface PlacementPolicies { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("PlacementPolicies_List") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + PlacementPolicy, + Response = ArmResponse> + >; get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + PlacementPolicy, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; // 202 response has a body, but it should not to match ArmCustomPatchAsync. // update is ArmCustomPatchAsync; @@ -910,7 +1048,10 @@ interface PlacementPolicies { interface ScriptPackages { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("ScriptPackages_List") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + ScriptPackage, + Response = ArmResponse> + >; get is ArmResourceRead; } @@ -919,7 +1060,10 @@ interface ScriptPackages { interface ScriptCmdlets { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("ScriptCmdlets_List") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + ScriptCmdlet, + Response = ArmResponse> + >; get is ArmResourceRead; } @@ -928,11 +1072,19 @@ interface ScriptCmdlets { interface ScriptExecutions { #suppress "@azure-tools/typespec-azure-core/no-operation-id" "Can not change existing operationId." @operationId("ScriptExecutions_List") - list is ArmResourceListByParent; + list is ArmResourceListByParent< + ScriptExecution, + Response = ArmResponse> + >; get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + ScriptExecution, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; #suppress "deprecated" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" @@ -977,7 +1129,12 @@ interface IscsiPaths { get is ArmResourceRead; - createOrUpdate is ArmResourceCreateOrUpdateAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + createOrUpdate is ArmResourceCreateOrUpdateAsync< + IscsiPath, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; #suppress "deprecated" #suppress "@azure-tools/typespec-azure-resource-manager/arm-delete-operation-response-codes" diff --git a/specification/vmware/resource-manager/Microsoft.AVS/stable/2023-09-01/vmware.json b/specification/vmware/resource-manager/Microsoft.AVS/stable/2023-09-01/vmware.json index e50c56d874fe..4ff2783afb3d 100644 --- a/specification/vmware/resource-manager/Microsoft.AVS/stable/2023-09-01/vmware.json +++ b/specification/vmware/resource-manager/Microsoft.AVS/stable/2023-09-01/vmware.json @@ -246,7 +246,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PrivateCloudListResult" + "$ref": "#/definitions/PrivateCloudList" } }, "default": { @@ -291,7 +291,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PrivateCloudListResult" + "$ref": "#/definitions/PrivateCloudList" } }, "default": { @@ -610,7 +610,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/AddonListResult" + "$ref": "#/definitions/AddonList" } }, "default": { @@ -884,7 +884,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ExpressRouteAuthorizationListResult" + "$ref": "#/definitions/ExpressRouteAuthorizationList" } }, "default": { @@ -1140,7 +1140,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/CloudLinkListResult" + "$ref": "#/definitions/CloudLinkList" } }, "default": { @@ -1396,7 +1396,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ClusterListResult" + "$ref": "#/definitions/ClusterList" } }, "default": { @@ -1743,7 +1743,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/DatastoreListResult" + "$ref": "#/definitions/DatastoreList" } }, "default": { @@ -2089,7 +2089,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/PlacementPolicyListResult" + "$ref": "#/definitions/PlacementPoliciesList" } }, "default": { @@ -2468,7 +2468,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/VirtualMachineListResult" + "$ref": "#/definitions/VirtualMachinesList" } }, "default": { @@ -2629,6 +2629,9 @@ "$ref": "./examples/VirtualMachines_RestrictMovement.json" } }, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, "x-ms-long-running-operation": true } }, @@ -2662,7 +2665,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/GlobalReachConnectionListResult" + "$ref": "#/definitions/GlobalReachConnectionList" } }, "default": { @@ -2918,7 +2921,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/HcxEnterpriseSiteListResult" + "$ref": "#/definitions/HcxEnterpriseSiteList" } }, "default": { @@ -3547,7 +3550,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ScriptExecutionListResult" + "$ref": "#/definitions/ScriptExecutionsList" } }, "default": { @@ -3870,7 +3873,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ScriptPackageListResult" + "$ref": "#/definitions/ScriptPackagesList" } }, "default": { @@ -3983,7 +3986,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/ScriptCmdletListResult" + "$ref": "#/definitions/ScriptCmdletsList" } }, "default": { @@ -4096,7 +4099,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/WorkloadNetworkListResult" + "$ref": "#/definitions/WorkloadNetworkList" } }, "default": { @@ -4190,7 +4193,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/WorkloadNetworkDhcpListResult" + "$ref": "#/definitions/WorkloadNetworkDhcpList" } }, "default": { @@ -4363,7 +4366,7 @@ "description": "The resource properties to be updated.", "required": true, "schema": { - "$ref": "#/definitions/WorkloadNetworkDhcpUpdate" + "$ref": "#/definitions/WorkloadNetworkDhcp" }, "x-ms-client-name": "workloadNetworkDhcp" } @@ -4502,7 +4505,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/WorkloadNetworkDnsServiceListResult" + "$ref": "#/definitions/WorkloadNetworkDnsServicesList" } }, "default": { @@ -4685,7 +4688,7 @@ "description": "The resource properties to be updated.", "required": true, "schema": { - "$ref": "#/definitions/WorkloadNetworkDnsServiceUpdate" + "$ref": "#/definitions/WorkloadNetworkDnsService" }, "x-ms-client-name": "workloadNetworkDnsService" } @@ -4814,7 +4817,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/WorkloadNetworkDnsZoneListResult" + "$ref": "#/definitions/WorkloadNetworkDnsZonesList" } }, "default": { @@ -4997,7 +5000,7 @@ "description": "The resource properties to be updated.", "required": true, "schema": { - "$ref": "#/definitions/WorkloadNetworkDnsZoneUpdate" + "$ref": "#/definitions/WorkloadNetworkDnsZone" }, "x-ms-client-name": "workloadNetworkDnsZone" } @@ -5129,7 +5132,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/WorkloadNetworkGatewayListResult" + "$ref": "#/definitions/WorkloadNetworkGatewayList" } }, "default": { @@ -5231,7 +5234,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/WorkloadNetworkPortMirroringListResult" + "$ref": "#/definitions/WorkloadNetworkPortMirroringList" } }, "default": { @@ -5414,7 +5417,7 @@ "description": "The resource properties to be updated.", "required": true, "schema": { - "$ref": "#/definitions/WorkloadNetworkPortMirroringUpdate" + "$ref": "#/definitions/WorkloadNetworkPortMirroring" }, "x-ms-client-name": "workloadNetworkPortMirroring" } @@ -5543,7 +5546,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/WorkloadNetworkPublicIPListResult" + "$ref": "#/definitions/WorkloadNetworkPublicIPsList" } }, "default": { @@ -5780,7 +5783,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/WorkloadNetworkSegmentListResult" + "$ref": "#/definitions/WorkloadNetworkSegmentsList" } }, "default": { @@ -5972,7 +5975,7 @@ "description": "The resource properties to be updated.", "required": true, "schema": { - "$ref": "#/definitions/WorkloadNetworkSegmentUpdate" + "$ref": "#/definitions/WorkloadNetworkSegment" }, "x-ms-client-name": "workloadNetworkSegment" } @@ -6117,7 +6120,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/WorkloadNetworkVirtualMachineListResult" + "$ref": "#/definitions/WorkloadNetworkVirtualMachinesList" } }, "default": { @@ -6219,7 +6222,7 @@ "200": { "description": "Azure operation completed successfully.", "schema": { - "$ref": "#/definitions/WorkloadNetworkVMGroupListResult" + "$ref": "#/definitions/WorkloadNetworkVMGroupsList" } }, "default": { @@ -6402,7 +6405,7 @@ "description": "The resource properties to be updated.", "required": true, "schema": { - "$ref": "#/definitions/WorkloadNetworkVMGroupUpdate" + "$ref": "#/definitions/WorkloadNetworkVMGroup" }, "x-ms-client-name": "workloadNetworkVMGroup" } @@ -6513,11 +6516,7 @@ "properties": { "$ref": "#/definitions/AddonProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -6561,7 +6560,7 @@ ], "x-ms-discriminator-value": "HCX" }, - "AddonListResult": { + "AddonList": { "type": "object", "description": "The response of a Addon list operation.", "properties": { @@ -6903,11 +6902,7 @@ "properties": { "$ref": "#/definitions/CloudLinkProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -6916,7 +6911,7 @@ } ] }, - "CloudLinkListResult": { + "CloudLinkList": { "type": "object", "description": "The response of a CloudLink list operation.", "properties": { @@ -7037,11 +7032,7 @@ "properties": { "$ref": "#/definitions/ClusterProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "sku": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Sku", @@ -7057,7 +7048,7 @@ } ] }, - "ClusterListResult": { + "ClusterList": { "type": "object", "description": "The response of a Cluster list operation.", "properties": { @@ -7233,11 +7224,7 @@ "properties": { "$ref": "#/definitions/DatastoreProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -7246,7 +7233,7 @@ } ] }, - "DatastoreListResult": { + "DatastoreList": { "type": "object", "description": "The response of a Datastore list operation.", "properties": { @@ -7753,11 +7740,7 @@ "properties": { "$ref": "#/definitions/ExpressRouteAuthorizationProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -7766,7 +7749,7 @@ } ] }, - "ExpressRouteAuthorizationListResult": { + "ExpressRouteAuthorizationList": { "type": "object", "description": "The response of a ExpressRouteAuthorization list operation.", "properties": { @@ -7856,11 +7839,7 @@ "properties": { "$ref": "#/definitions/GlobalReachConnectionProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -7869,7 +7848,7 @@ } ] }, - "GlobalReachConnectionListResult": { + "GlobalReachConnectionList": { "type": "object", "description": "The response of a GlobalReachConnection list operation.", "properties": { @@ -7997,11 +7976,7 @@ "properties": { "$ref": "#/definitions/HcxEnterpriseSiteProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -8010,7 +7985,7 @@ } ] }, - "HcxEnterpriseSiteListResult": { + "HcxEnterpriseSiteList": { "type": "object", "description": "The response of a HcxEnterpriseSite list operation.", "properties": { @@ -8198,11 +8173,7 @@ "properties": { "$ref": "#/definitions/IscsiPathProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -8425,27 +8396,7 @@ ], "x-ms-discriminator-value": "Credential" }, - "PlacementPolicy": { - "type": "object", - "description": "A vSphere Distributed Resource Scheduler (DRS) placement policy", - "properties": { - "properties": { - "$ref": "#/definitions/PlacementPolicyProperties", - "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" - } - ] - }, - "PlacementPolicyListResult": { + "PlacementPoliciesList": { "type": "object", "description": "The response of a PlacementPolicy list operation.", "properties": { @@ -8466,6 +8417,22 @@ "value" ] }, + "PlacementPolicy": { + "type": "object", + "description": "A vSphere Distributed Resource Scheduler (DRS) placement policy", + "properties": { + "properties": { + "$ref": "#/definitions/PlacementPolicyProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, "PlacementPolicyProperties": { "type": "object", "description": "Abstract placement policy properties", @@ -8692,11 +8659,7 @@ "properties": { "$ref": "#/definitions/PrivateCloudProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "sku": { "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/Sku", @@ -8716,7 +8679,7 @@ } ] }, - "PrivateCloudListResult": { + "PrivateCloudList": { "type": "object", "description": "The response of a PrivateCloud list operation.", "properties": { @@ -9078,11 +9041,7 @@ "properties": { "$ref": "#/definitions/ScriptCmdletProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -9115,27 +9074,6 @@ ] } }, - "ScriptCmdletListResult": { - "type": "object", - "description": "The response of a ScriptCmdlet list operation.", - "properties": { - "value": { - "type": "array", - "description": "The ScriptCmdlet items on this page", - "items": { - "$ref": "#/definitions/ScriptCmdlet" - } - }, - "nextLink": { - "type": "string", - "format": "uri", - "description": "The link to the next page of items" - } - }, - "required": [ - "value" - ] - }, "ScriptCmdletProperties": { "type": "object", "description": "Properties of a pre-canned script", @@ -9202,35 +9140,15 @@ }, "readOnly": true }, - "ScriptExecution": { - "type": "object", - "description": "An instance of a script executed by a user - custom or AVS", - "properties": { - "properties": { - "$ref": "#/definitions/ScriptExecutionProperties", - "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" - } - ] - }, - "ScriptExecutionListResult": { + "ScriptCmdletsList": { "type": "object", - "description": "The response of a ScriptExecution list operation.", + "description": "The response of a ScriptCmdlet list operation.", "properties": { "value": { "type": "array", - "description": "The ScriptExecution items on this page", + "description": "The ScriptCmdlet items on this page", "items": { - "$ref": "#/definitions/ScriptExecution" + "$ref": "#/definitions/ScriptCmdlet" } }, "nextLink": { @@ -9243,6 +9161,22 @@ "value" ] }, + "ScriptExecution": { + "type": "object", + "description": "An instance of a script executed by a user - custom or AVS", + "properties": { + "properties": { + "$ref": "#/definitions/ScriptExecutionProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, "ScriptExecutionParameter": { "type": "object", "description": "The arguments passed in to the execution", @@ -9452,6 +9386,27 @@ }, "readOnly": true }, + "ScriptExecutionsList": { + "type": "object", + "description": "The response of a ScriptExecution list operation.", + "properties": { + "value": { + "type": "array", + "description": "The ScriptExecution items on this page", + "items": { + "$ref": "#/definitions/ScriptExecution" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, "ScriptOutputStreamType": { "type": "string", "description": "Script Output Stream type", @@ -9495,11 +9450,7 @@ "properties": { "$ref": "#/definitions/ScriptPackageProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -9508,27 +9459,6 @@ } ] }, - "ScriptPackageListResult": { - "type": "object", - "description": "The response of a ScriptPackage list operation.", - "properties": { - "value": { - "type": "array", - "description": "The ScriptPackage items on this page", - "items": { - "$ref": "#/definitions/ScriptPackage" - } - }, - "nextLink": { - "type": "string", - "format": "uri", - "description": "The link to the next page of items" - } - }, - "required": [ - "value" - ] - }, "ScriptPackageProperties": { "type": "object", "description": "Properties of a Script Package subresource", @@ -9591,6 +9521,27 @@ }, "readOnly": true }, + "ScriptPackagesList": { + "type": "object", + "description": "The response of a ScriptPackage list operation.", + "properties": { + "value": { + "type": "array", + "description": "The ScriptPackage items on this page", + "items": { + "$ref": "#/definitions/ScriptPackage" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, "ScriptParameter": { "type": "object", "description": "An parameter that the script will accept", @@ -9859,11 +9810,7 @@ "properties": { "$ref": "#/definitions/VirtualMachineProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -9872,27 +9819,6 @@ } ] }, - "VirtualMachineListResult": { - "type": "object", - "description": "The response of a VirtualMachine list operation.", - "properties": { - "value": { - "type": "array", - "description": "The VirtualMachine items on this page", - "items": { - "$ref": "#/definitions/VirtualMachine" - } - }, - "nextLink": { - "type": "string", - "format": "uri", - "description": "The link to the next page of items" - } - }, - "required": [ - "value" - ] - }, "VirtualMachineProperties": { "type": "object", "description": "Virtual Machine Properties", @@ -9989,17 +9915,38 @@ ] } }, - "VisibilityParameterEnum": { - "type": "string", - "description": "Visibility Parameter", - "enum": [ - "Visible", - "Hidden" - ], - "x-ms-enum": { - "name": "VisibilityParameterEnum", - "modelAsString": true, - "values": [ + "VirtualMachinesList": { + "type": "object", + "description": "The response of a VirtualMachine list operation.", + "properties": { + "value": { + "type": "array", + "description": "The VirtualMachine items on this page", + "items": { + "$ref": "#/definitions/VirtualMachine" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] + }, + "VisibilityParameterEnum": { + "type": "string", + "description": "Visibility Parameter", + "enum": [ + "Visible", + "Hidden" + ], + "x-ms-enum": { + "name": "VisibilityParameterEnum", + "modelAsString": true, + "values": [ { "name": "Visible", "value": "Visible", @@ -10090,11 +10037,7 @@ "properties": { "$ref": "#/definitions/WorkloadNetworkProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -10110,11 +10053,7 @@ "properties": { "$ref": "#/definitions/WorkloadNetworkDhcpEntity", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -10159,30 +10098,7 @@ "dhcpType" ] }, - "WorkloadNetworkDhcpEntityUpdate": { - "type": "object", - "description": "Base class for WorkloadNetworkDhcpServer and WorkloadNetworkDhcpRelay to\ninherit from", - "properties": { - "dhcpType": { - "$ref": "#/definitions/DhcpTypeEnum", - "description": "Type of DHCP: SERVER or RELAY." - }, - "displayName": { - "type": "string", - "description": "Display name of the DHCP entity." - }, - "revision": { - "type": "integer", - "format": "int64", - "description": "NSX revision number." - } - }, - "discriminator": "dhcpType", - "required": [ - "dhcpType" - ] - }, - "WorkloadNetworkDhcpListResult": { + "WorkloadNetworkDhcpList": { "type": "object", "description": "The response of a WorkloadNetworkDhcp list operation.", "properties": { @@ -10273,27 +10189,6 @@ ], "x-ms-discriminator-value": "RELAY" }, - "WorkloadNetworkDhcpRelayUpdate": { - "type": "object", - "description": "NSX DHCP Relay", - "properties": { - "serverAddresses": { - "type": "array", - "description": "DHCP Relay Addresses. Max 3.", - "minItems": 1, - "maxItems": 3, - "items": { - "type": "string" - } - } - }, - "allOf": [ - { - "$ref": "#/definitions/WorkloadNetworkDhcpEntityUpdate" - } - ], - "x-ms-discriminator-value": "RELAY" - }, "WorkloadNetworkDhcpServer": { "type": "object", "description": "NSX DHCP Server", @@ -10315,38 +10210,6 @@ ], "x-ms-discriminator-value": "SERVER" }, - "WorkloadNetworkDhcpServerUpdate": { - "type": "object", - "description": "NSX DHCP Server", - "properties": { - "serverAddress": { - "type": "string", - "description": "DHCP Server Address." - }, - "leaseTime": { - "type": "integer", - "format": "int64", - "description": "DHCP Server Lease Time." - } - }, - "allOf": [ - { - "$ref": "#/definitions/WorkloadNetworkDhcpEntityUpdate" - } - ], - "x-ms-discriminator-value": "SERVER" - }, - "WorkloadNetworkDhcpUpdate": { - "type": "object", - "description": "NSX DHCP update", - "properties": { - "properties": { - "$ref": "#/definitions/WorkloadNetworkDhcpEntityUpdate", - "description": "The updatable properties of a DHCP update", - "x-ms-client-flatten": false - } - } - }, "WorkloadNetworkDnsService": { "type": "object", "description": "NSX DNS Service", @@ -10354,11 +10217,7 @@ "properties": { "$ref": "#/definitions/WorkloadNetworkDnsServiceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -10367,27 +10226,6 @@ } ] }, - "WorkloadNetworkDnsServiceListResult": { - "type": "object", - "description": "The response of a WorkloadNetworkDnsService list operation.", - "properties": { - "value": { - "type": "array", - "description": "The WorkloadNetworkDnsService items on this page", - "items": { - "$ref": "#/definitions/WorkloadNetworkDnsService" - } - }, - "nextLink": { - "type": "string", - "format": "uri", - "description": "The link to the next page of items" - } - }, - "required": [ - "value" - ] - }, "WorkloadNetworkDnsServiceProperties": { "type": "object", "description": "NSX DNS Service Properties", @@ -10481,16 +10319,26 @@ }, "readOnly": true }, - "WorkloadNetworkDnsServiceUpdate": { + "WorkloadNetworkDnsServicesList": { "type": "object", - "description": "NSX DNS Service update", + "description": "The response of a WorkloadNetworkDnsService list operation.", "properties": { - "properties": { - "$ref": "#/definitions/WorkloadNetworkDnsServiceProperties", - "description": "The updatable properties of a DNS Service update", - "x-ms-client-flatten": true + "value": { + "type": "array", + "description": "The WorkloadNetworkDnsService items on this page", + "items": { + "$ref": "#/definitions/WorkloadNetworkDnsService" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } - } + }, + "required": [ + "value" + ] }, "WorkloadNetworkDnsZone": { "type": "object", @@ -10499,11 +10347,7 @@ "properties": { "$ref": "#/definitions/WorkloadNetworkDnsZoneProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -10512,27 +10356,6 @@ } ] }, - "WorkloadNetworkDnsZoneListResult": { - "type": "object", - "description": "The response of a WorkloadNetworkDnsZone list operation.", - "properties": { - "value": { - "type": "array", - "description": "The WorkloadNetworkDnsZone items on this page", - "items": { - "$ref": "#/definitions/WorkloadNetworkDnsZone" - } - }, - "nextLink": { - "type": "string", - "format": "uri", - "description": "The link to the next page of items" - } - }, - "required": [ - "value" - ] - }, "WorkloadNetworkDnsZoneProperties": { "type": "object", "description": "NSX DNS Zone Properties", @@ -10561,7 +10384,7 @@ }, "dnsServices": { "type": "integer", - "format": "int32", + "format": "int64", "description": "Number of DNS Services using the DNS zone." }, "provisioningState": { @@ -10625,16 +10448,26 @@ }, "readOnly": true }, - "WorkloadNetworkDnsZoneUpdate": { + "WorkloadNetworkDnsZonesList": { "type": "object", - "description": "NSX DNS Zone update", + "description": "The response of a WorkloadNetworkDnsZone list operation.", "properties": { - "properties": { - "$ref": "#/definitions/WorkloadNetworkDnsZoneProperties", - "description": "The updatable properties of a DNS Zone update", - "x-ms-client-flatten": true + "value": { + "type": "array", + "description": "The WorkloadNetworkDnsZone items on this page", + "items": { + "$ref": "#/definitions/WorkloadNetworkDnsZone" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } - } + }, + "required": [ + "value" + ] }, "WorkloadNetworkGateway": { "type": "object", @@ -10643,11 +10476,7 @@ "properties": { "$ref": "#/definitions/WorkloadNetworkGatewayProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -10656,7 +10485,7 @@ } ] }, - "WorkloadNetworkGatewayListResult": { + "WorkloadNetworkGatewayList": { "type": "object", "description": "The response of a WorkloadNetworkGateway list operation.", "properties": { @@ -10697,7 +10526,7 @@ } } }, - "WorkloadNetworkListResult": { + "WorkloadNetworkList": { "type": "object", "description": "The response of a WorkloadNetwork list operation.", "properties": { @@ -10725,11 +10554,7 @@ "properties": { "$ref": "#/definitions/WorkloadNetworkPortMirroringProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -10738,7 +10563,7 @@ } ] }, - "WorkloadNetworkPortMirroringListResult": { + "WorkloadNetworkPortMirroringList": { "type": "object", "description": "The response of a WorkloadNetworkPortMirroring list operation.", "properties": { @@ -10845,17 +10670,6 @@ }, "readOnly": true }, - "WorkloadNetworkPortMirroringUpdate": { - "type": "object", - "description": "NSX Port Mirroring update", - "properties": { - "properties": { - "$ref": "#/definitions/WorkloadNetworkPortMirroringProperties", - "description": "The updatable properties of a Port Mirroring update", - "x-ms-client-flatten": true - } - } - }, "WorkloadNetworkProperties": { "type": "object", "description": "The properties of a workload network", @@ -10923,11 +10737,7 @@ "properties": { "$ref": "#/definitions/WorkloadNetworkPublicIPProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -10936,27 +10746,6 @@ } ] }, - "WorkloadNetworkPublicIPListResult": { - "type": "object", - "description": "The response of a WorkloadNetworkPublicIP list operation.", - "properties": { - "value": { - "type": "array", - "description": "The WorkloadNetworkPublicIP items on this page", - "items": { - "$ref": "#/definitions/WorkloadNetworkPublicIP" - } - }, - "nextLink": { - "type": "string", - "format": "uri", - "description": "The link to the next page of items" - } - }, - "required": [ - "value" - ] - }, "WorkloadNetworkPublicIPProperties": { "type": "object", "description": "NSX Public IP Block Properties", @@ -11031,35 +10820,15 @@ }, "readOnly": true }, - "WorkloadNetworkSegment": { - "type": "object", - "description": "NSX Segment", - "properties": { - "properties": { - "$ref": "#/definitions/WorkloadNetworkSegmentProperties", - "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] - } - }, - "allOf": [ - { - "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" - } - ] - }, - "WorkloadNetworkSegmentListResult": { + "WorkloadNetworkPublicIPsList": { "type": "object", - "description": "The response of a WorkloadNetworkSegment list operation.", + "description": "The response of a WorkloadNetworkPublicIP list operation.", "properties": { "value": { "type": "array", - "description": "The WorkloadNetworkSegment items on this page", + "description": "The WorkloadNetworkPublicIP items on this page", "items": { - "$ref": "#/definitions/WorkloadNetworkSegment" + "$ref": "#/definitions/WorkloadNetworkPublicIP" } }, "nextLink": { @@ -11072,6 +10841,22 @@ "value" ] }, + "WorkloadNetworkSegment": { + "type": "object", + "description": "NSX Segment", + "properties": { + "properties": { + "$ref": "#/definitions/WorkloadNetworkSegmentProperties", + "description": "The resource-specific properties for this resource.", + "x-ms-client-flatten": true + } + }, + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ] + }, "WorkloadNetworkSegmentPortVif": { "type": "object", "description": "Ports and any VIF attached to segment.", @@ -11190,16 +10975,26 @@ } } }, - "WorkloadNetworkSegmentUpdate": { + "WorkloadNetworkSegmentsList": { "type": "object", - "description": "NSX Segment update", + "description": "The response of a WorkloadNetworkSegment list operation.", "properties": { - "properties": { - "$ref": "#/definitions/WorkloadNetworkSegmentProperties", - "description": "The updatable properties of a Segment update", - "x-ms-client-flatten": true + "value": { + "type": "array", + "description": "The WorkloadNetworkSegment items on this page", + "items": { + "$ref": "#/definitions/WorkloadNetworkSegment" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } - } + }, + "required": [ + "value" + ] }, "WorkloadNetworkVMGroup": { "type": "object", @@ -11208,11 +11003,7 @@ "properties": { "$ref": "#/definitions/WorkloadNetworkVMGroupProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -11221,27 +11012,6 @@ } ] }, - "WorkloadNetworkVMGroupListResult": { - "type": "object", - "description": "The response of a WorkloadNetworkVMGroup list operation.", - "properties": { - "value": { - "type": "array", - "description": "The WorkloadNetworkVMGroup items on this page", - "items": { - "$ref": "#/definitions/WorkloadNetworkVMGroup" - } - }, - "nextLink": { - "type": "string", - "format": "uri", - "description": "The link to the next page of items" - } - }, - "required": [ - "value" - ] - }, "WorkloadNetworkVMGroupProperties": { "type": "object", "description": "NSX VM Group Properties", @@ -11323,16 +11093,26 @@ }, "readOnly": true }, - "WorkloadNetworkVMGroupUpdate": { + "WorkloadNetworkVMGroupsList": { "type": "object", - "description": "NSX VM Group update", + "description": "The response of a WorkloadNetworkVMGroup list operation.", "properties": { - "properties": { - "$ref": "#/definitions/WorkloadNetworkVMGroupProperties", - "description": "The updatable properties of a VM Group update", - "x-ms-client-flatten": true + "value": { + "type": "array", + "description": "The WorkloadNetworkVMGroup items on this page", + "items": { + "$ref": "#/definitions/WorkloadNetworkVMGroup" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" } - } + }, + "required": [ + "value" + ] }, "WorkloadNetworkVirtualMachine": { "type": "object", @@ -11341,11 +11121,7 @@ "properties": { "$ref": "#/definitions/WorkloadNetworkVirtualMachineProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -11354,27 +11130,6 @@ } ] }, - "WorkloadNetworkVirtualMachineListResult": { - "type": "object", - "description": "The response of a WorkloadNetworkVirtualMachine list operation.", - "properties": { - "value": { - "type": "array", - "description": "The WorkloadNetworkVirtualMachine items on this page", - "items": { - "$ref": "#/definitions/WorkloadNetworkVirtualMachine" - } - }, - "nextLink": { - "type": "string", - "format": "uri", - "description": "The link to the next page of items" - } - }, - "required": [ - "value" - ] - }, "WorkloadNetworkVirtualMachineProperties": { "type": "object", "description": "NSX Virtual Machine Properties", @@ -11394,6 +11149,27 @@ "readOnly": true } } + }, + "WorkloadNetworkVirtualMachinesList": { + "type": "object", + "description": "The response of a WorkloadNetworkVirtualMachine list operation.", + "properties": { + "value": { + "type": "array", + "description": "The WorkloadNetworkVirtualMachine items on this page", + "items": { + "$ref": "#/definitions/WorkloadNetworkVirtualMachine" + } + }, + "nextLink": { + "type": "string", + "format": "uri", + "description": "The link to the next page of items" + } + }, + "required": [ + "value" + ] } }, "parameters": { diff --git a/specification/vmware/resource-manager/readme.go.md b/specification/vmware/resource-manager/readme.go.md index e9640cb2376b..e87cab9ed449 100644 --- a/specification/vmware/resource-manager/readme.go.md +++ b/specification/vmware/resource-manager/readme.go.md @@ -15,6 +15,13 @@ module-name: sdk/resourcemanager/avs/armavs module: github.com/Azure/azure-sdk-for-go/$(module-name) output-folder: $(go-sdk-folder)/$(module-name) azure-arm: true +directive: +- from: managedidentity.json + where: definitions.SystemAssignedServiceIdentity + transform: $["x-ms-client-name"] = "PrivateCloudIdentity" +- from: managedidentity.json + where: definitions.SystemAssignedServiceIdentityType + transform: $["x-ms-enum"].name = "ResourceIdentityType" ``` ### Go multi-api diff --git a/specification/vmware/resource-manager/readme.java.md b/specification/vmware/resource-manager/readme.java.md index e49a64596c7c..a77677691c5e 100644 --- a/specification/vmware/resource-manager/readme.java.md +++ b/specification/vmware/resource-manager/readme.java.md @@ -4,86 +4,17 @@ 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.avs override-client-name: AvsClient -license-header: MICROSOFT_MIT_NO_CODEGEN -output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-avs -``` - -### Java multi-api - -``` yaml $(java) && $(multiapi) -batch: - - tag: package-2021-12-01 - - tag: package-2021-06-01 - - tag: package-2021-01-01-preview - - tag: package-2020-07-17-preview - - tag: package-2020-03-20 -``` - -### Tag: package-2021-12-01 and java - -These settings apply only when `--tag=package-2021-12-01 --java` is specified on the command line. -Please also specify the `--azure-libraries-for-java-folder=`. - -``` yaml $(tag) == 'package-2021-12-01' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.avs.v2021_12_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/avs/mgmt-v2021_12_01 -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2021-06-01 and java - -These settings apply only when `--tag=package-2021-06-01 --java` is specified on the command line. -Please also specify the `--azure-libraries-for-java-folder=`. - -``` yaml $(tag) == 'package-2021-06-01' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.avs.v2021_06_01 - output-folder: $(azure-libraries-for-java-folder)/sdk/avs/mgmt-v2021_06_01 -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2021-01-01-preview and java - -These settings apply only when `--tag=package-2021-01-01-preview -java` is specified on the command line. -Please also specify the `--azure-libraries-for-java-folder=`. - -``` yaml $(tag) == 'package-2021-01-01-preview' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.avs.v2021_01_01_preview - output-folder: $(azure-libraries-for-java-folder)/sdk/avs/mgmt-v2021_01_01_preview -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2020-07-17-preview and java - -These settings apply only when `--tag=package-2020-07-17-preview -java` is specified on the command line. -Please also specify the `--azure-libraries-for-java-folder=`. - -``` yaml $(tag) == 'package-2020-07-17-preview' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.avs.v2020_07_17_preview - output-folder: $(azure-libraries-for-java-folder)/sdk/avs/mgmt-v2020_07_17_preview -regenerate-manager: true -generate-interface: true -``` - -### Tag: package-2020-03-20 and java - -These settings apply only when `--tag=package-2020-03-20 --java` is specified on the command line. -Please also specify the `--azure-libraries-for-java-folder=`. - -``` yaml $(tag) == 'package-2020-03-20' && $(java) && $(multiapi) -java: - namespace: com.microsoft.azure.management.avs.v2020_03_20 - output-folder: $(azure-libraries-for-java-folder)/sdk/avs/mgmt-v2020_03_20 -regenerate-manager: true -generate-interface: true +uuid-as-string: true + +directive: +- from: managedidentity.json + where: definitions.SystemAssignedServiceIdentity + transform: $["x-ms-client-name"] = "PrivateCloudIdentity" +- from: managedidentity.json + where: definitions.SystemAssignedServiceIdentityType + transform: $["x-ms-enum"].name = "ResourceIdentityType" +- from: vmware.json + where: definitions.Addon.properties.properties + transform: $["x-ms-mutability"] = undefined ``` diff --git a/specification/vmware/resource-manager/readme.python.md b/specification/vmware/resource-manager/readme.python.md index f672623bec1a..1393a85ed911 100644 --- a/specification/vmware/resource-manager/readme.python.md +++ b/specification/vmware/resource-manager/readme.python.md @@ -18,3 +18,16 @@ clear-output-folder: true no-namespace-folders: true output-folder: $(python-sdks-folder)/compute/azure-mgmt-avs/azure/mgmt/avs ``` + +``` yaml $(python) +directive: +- from: managedidentity.json + where: definitions.SystemAssignedServiceIdentity + transform: $["x-ms-client-name"] = "PrivateCloudIdentity" +- from: managedidentity.json + where: definitions.SystemAssignedServiceIdentityType + transform: $["x-ms-enum"].name = "ResourceIdentityType" +- from: swagger-document + where: paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AVS/privateClouds/{privateCloudName}/workloadNetworks/default/publicIPs"] + transform: $.get.operationId = "WorkloadNetworks_ListPublicIps" +``` diff --git a/specification/vmware/resource-manager/readme.typescript.md b/specification/vmware/resource-manager/readme.typescript.md index c6984e869dc1..960eed8a1d0f 100644 --- a/specification/vmware/resource-manager/readme.typescript.md +++ b/specification/vmware/resource-manager/readme.typescript.md @@ -13,3 +13,13 @@ typescript: payload-flattening-threshold: 1 generate-metadata: true ``` + +```yaml $(typescript) +directive: +- from: managedidentity.json + where: definitions.SystemAssignedServiceIdentity + transform: $["x-ms-client-name"] = "PrivateCloudIdentity" +- from: managedidentity.json + where: definitions.SystemAssignedServiceIdentityType + transform: $["x-ms-enum"].name = "ResourceIdentityType" +``` diff --git a/specification/voiceservices/VoiceServices.Provisioning/main.tsp b/specification/voiceservices/VoiceServices.Provisioning/main.tsp index caf465c869bc..02a41d6528cc 100644 --- a/specification/voiceservices/VoiceServices.Provisioning/main.tsp +++ b/specification/voiceservices/VoiceServices.Provisioning/main.tsp @@ -781,6 +781,17 @@ model CountOfRecordsHeader { countOfRecords?: int32; } +alias BodyParameter< + T, + TName extends valueof string = "body", + TDoc extends valueof string = "Body parameter." +> = { + @doc(TDoc) + @friendlyName(TName) + @bodyRoot + body: T; +}; + alias FilterQueryParameters = QueryParametersTrait<{ ...FilterQueryParameter; }>; @@ -843,7 +854,11 @@ interface Accounts { @doc("Create or update up to 100 Numbers on the specified account.") createOrUpdateNumbers is Operations.ResourceAction< AccountResource, - BatchNumbers, + BodyParameter< + BatchNumbers, + "body", + "Batch of numbers to create or replace." + >, BatchNumbers >; @@ -852,7 +867,7 @@ interface Accounts { @doc("Delete up to 100 Numbers on the specified account.") deleteNumbers is Operations.ResourceAction< AccountResource, - BatchNumbersDelete, + BodyParameter, NoContentResponse >; @@ -893,7 +908,11 @@ interface Accounts { @doc("Get a list of Teams Available Capabilities on the specified account.") getTeamsAvailableCapabilities is Operations.ResourceAction< AccountResource, - NumberIdentifiers, + BodyParameter< + NumberIdentifiers, + "body", + "List identifiers for a Number resource" + >, TeamsAvailableCapabilities >; diff --git a/specification/voiceservices/VoiceServices.Provisioning/tspconfig.yaml b/specification/voiceservices/VoiceServices.Provisioning/tspconfig.yaml index 0690263a97e1..203ad187961a 100644 --- a/specification/voiceservices/VoiceServices.Provisioning/tspconfig.yaml +++ b/specification/voiceservices/VoiceServices.Provisioning/tspconfig.yaml @@ -10,6 +10,7 @@ emit: options: "@azure-tools/typespec-autorest": azure-resource-provider-folder: "data-plane" + emit-lro-options: "none" emitter-output-dir: "{project-root}/.." examples-directory: "{project-root}/examples" output-file: "{azure-resource-provider-folder}/{service-name}/{version-status}/{version}/swagger.json" diff --git a/specification/voiceservices/data-plane/Microsoft.VoiceServices/preview/2024-02-29-preview/swagger.json b/specification/voiceservices/data-plane/Microsoft.VoiceServices/preview/2024-02-29-preview/swagger.json index 87695257d9f6..25cd2ef5dae0 100644 --- a/specification/voiceservices/data-plane/Microsoft.VoiceServices/preview/2024-02-29-preview/swagger.json +++ b/specification/voiceservices/data-plane/Microsoft.VoiceServices/preview/2024-02-29-preview/swagger.json @@ -499,6 +499,7 @@ { "name": "body", "in": "body", + "description": "Batch of numbers to create or replace.", "required": true, "schema": { "$ref": "#/definitions/BatchNumbers" @@ -597,6 +598,7 @@ { "name": "body", "in": "body", + "description": "Batch numbers to delete.", "required": true, "schema": { "$ref": "#/definitions/BatchNumbersDelete" @@ -782,6 +784,7 @@ { "name": "body", "in": "body", + "description": "List identifiers for a Number resource", "required": true, "schema": { "$ref": "#/definitions/NumberIdentifiers" diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/HealthApi_GetServiceStatus.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/HealthApi_GetServiceStatus.json new file mode 100644 index 000000000000..c3fad1730f70 --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/HealthApi_GetServiceStatus.json @@ -0,0 +1,8 @@ +{ + "parameters": { + "api-version": "2024-01-01" + }, + "responses": { + "200": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_AddConnectionToGroup.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_AddConnectionToGroup.json new file mode 100644 index 000000000000..c50287566ac8 --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_AddConnectionToGroup.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "group": "group1", + "connectionId": "connection1" + }, + "responses": { + "200": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_AddConnectionsToGroups.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_AddConnectionsToGroups.json new file mode 100644 index 000000000000..305f1102db5f --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_AddConnectionsToGroups.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "groupsToAdd": { + "groups": [ + "group1", + "group2" + ], + "filter": "startswith(userId, 'listener-')" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_AddUserToGroup.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_AddUserToGroup.json new file mode 100644 index 000000000000..6e80ae590e77 --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_AddUserToGroup.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "group": "group1", + "userId": "user1" + }, + "responses": { + "200": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_CheckPermission.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_CheckPermission.json new file mode 100644 index 000000000000..be403af4609d --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_CheckPermission.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "permission": "joinLeaveGroup", + "connectionId": "connection1", + "targetName": "group1" + }, + "responses": { + "200": {}, + "404": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_CloseAllConnections.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_CloseAllConnections.json new file mode 100644 index 000000000000..5f4ea0292c7a --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_CloseAllConnections.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "reason": "Close reason" + }, + "responses": { + "204": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_CloseConnection.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_CloseConnection.json new file mode 100644 index 000000000000..93229123e499 --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_CloseConnection.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "connectionId": "connection1", + "reason": "Close reason" + }, + "responses": { + "204": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_CloseGroupConnections.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_CloseGroupConnections.json new file mode 100644 index 000000000000..404152162a21 --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_CloseGroupConnections.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "group": "group1", + "reason": "Close reason" + }, + "responses": { + "204": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_CloseUserConnections.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_CloseUserConnections.json new file mode 100644 index 000000000000..1fcbe8c55ccf --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_CloseUserConnections.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "userId": "user1", + "reason": "Close reason" + }, + "responses": { + "204": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_ConnectionExists.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_ConnectionExists.json new file mode 100644 index 000000000000..b41ebcbd154b --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_ConnectionExists.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "connectionId": "connection1" + }, + "responses": { + "200": {}, + "404": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_GenerateClientToken.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_GenerateClientToken.json new file mode 100644 index 000000000000..8b1015fd4af3 --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_GenerateClientToken.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "userId": "user1", + "minutesToExpire": 5, + "clientType": "MQTT" + }, + "responses": { + "200": { + "body": { + "token": "ABCDEFG.ABC.ABC" + } + } + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_GrantPermission.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_GrantPermission.json new file mode 100644 index 000000000000..0403b11d4b18 --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_GrantPermission.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "permission": "joinLeaveGroup", + "connectionId": "connection1", + "targetName": "group1" + }, + "responses": { + "200": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_GroupExists.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_GroupExists.json new file mode 100644 index 000000000000..115192951e37 --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_GroupExists.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "group": "group1" + }, + "responses": { + "200": {}, + "404": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RemoveConnectionFromAllGroups.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RemoveConnectionFromAllGroups.json new file mode 100644 index 000000000000..920740eaa52c --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RemoveConnectionFromAllGroups.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "connectionId": "connection1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RemoveConnectionFromGroup.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RemoveConnectionFromGroup.json new file mode 100644 index 000000000000..87714ae3c64d --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RemoveConnectionFromGroup.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "group": "group1", + "connectionId": "connection1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RemoveConnectionsFromGroups.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RemoveConnectionsFromGroups.json new file mode 100644 index 000000000000..5002c2094f97 --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RemoveConnectionsFromGroups.json @@ -0,0 +1,16 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "groupsToRemove": { + "groups": [ + "group1", + "group2" + ], + "filter": "startswith(userId, 'listener-')" + } + }, + "responses": { + "200": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RemoveUserFromAllGroups.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RemoveUserFromAllGroups.json new file mode 100644 index 000000000000..30ea8539b82c --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RemoveUserFromAllGroups.json @@ -0,0 +1,10 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "userId": "user1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RemoveUserFromGroup.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RemoveUserFromGroup.json new file mode 100644 index 000000000000..c56fedbd16f8 --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RemoveUserFromGroup.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "group": "group1", + "userId": "user1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RevokePermission.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RevokePermission.json new file mode 100644 index 000000000000..650e07438ced --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_RevokePermission.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "permission": "joinLeaveGroup", + "connectionId": "connection1", + "targetName": "group1" + }, + "responses": { + "204": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_SendToAll.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_SendToAll.json new file mode 100644 index 000000000000..33caf69c17f1 --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_SendToAll.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "filter": "startswith(userId, 'listener-')", + "messageTtlSeconds": 15, + "message": "Message to send" + }, + "responses": { + "202": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_SendToConnection.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_SendToConnection.json new file mode 100644 index 000000000000..2d301e49865a --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_SendToConnection.json @@ -0,0 +1,12 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "connectionId": "connection1", + "messageTtlSeconds": 15, + "message": "Message to send" + }, + "responses": { + "202": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_SendToGroup.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_SendToGroup.json new file mode 100644 index 000000000000..9ba0d31b7197 --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_SendToGroup.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "group": "group1", + "filter": "startswith(userId, 'listener-')", + "messageTtlSeconds": 15, + "message": "Message to send" + }, + "responses": { + "202": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_SendToUser.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_SendToUser.json new file mode 100644 index 000000000000..f9601e0dd30d --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_SendToUser.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "userId": "user1", + "filter": "startswith(userId, 'listener-')", + "messageTtlSeconds": 15, + "message": "Message to send" + }, + "responses": { + "202": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_UserExists.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_UserExists.json new file mode 100644 index 000000000000..510390d7eb85 --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/examples/WebPubSub_UserExists.json @@ -0,0 +1,11 @@ +{ + "parameters": { + "api-version": "2024-01-01", + "hub": "hub1", + "userId": "user1" + }, + "responses": { + "200": {}, + "404": {} + } +} diff --git a/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/webpubsub.json b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/webpubsub.json new file mode 100644 index 000000000000..795ca4ec0138 --- /dev/null +++ b/specification/webpubsub/data-plane/WebPubSub/stable/2024-01-01/webpubsub.json @@ -0,0 +1,1836 @@ +{ + "swagger": "2.0", + "info": { + "title": "Azure Web PubSub Service REST API", + "version": "2024-01-01" + }, + "paths": { + "/api/health": { + "head": { + "tags": [ + "general" + ], + "summary": "Get service health status.", + "operationId": "HealthApi_GetServiceStatus", + "parameters": [ + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "The service is healthy" + }, + "default": { + "description": "Error response" + } + }, + "x-ms-examples": { + "HealthApi_GetServiceStatus": { + "$ref": "./examples/HealthApi_GetServiceStatus.json" + } + } + } + }, + "/api/hubs/{hub}/:addToGroups": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Add filtered connections to multiple groups.", + "operationId": "WebPubSub_AddConnectionsToGroups", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "groupsToAdd", + "description": "Target groups and connection filter.", + "required": true, + "schema": { + "$ref": "#/definitions/AddToGroupsRequest" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_AddConnectionsToGroups": { + "$ref": "./examples/WebPubSub_AddConnectionsToGroups.json" + } + } + } + }, + "/api/hubs/{hub}/:closeConnections": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Close the connections in the hub.", + "operationId": "WebPubSub_CloseAllConnections", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "query", + "name": "excluded", + "description": "Exclude these connectionIds when closing the connections in the hub.", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "in": "query", + "name": "reason", + "description": "The reason closing the client connection.", + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_CloseAllConnections": { + "$ref": "./examples/WebPubSub_CloseAllConnections.json" + } + } + } + }, + "/api/hubs/{hub}/:generateToken": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Generate token for the client to connect Azure Web PubSub service.", + "operationId": "WebPubSub_GenerateClientToken", + "produces": [ + "text/plain", + "application/json", + "text/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "query", + "name": "userId", + "description": "User Id.", + "type": "string" + }, + { + "in": "query", + "name": "role", + "description": "Roles that the connection with the generated token will have.", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "in": "query", + "name": "minutesToExpire", + "description": "The expire time of the generated token.", + "type": "integer", + "format": "int32", + "default": 60, + "minimum": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + }, + { + "in": "query", + "name": "group", + "description": "Groups that the connection will join when it connects.", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "in": "query", + "name": "clientType", + "description": "The type of client. Case-insensitive. If not set, it's \"Default\". For Web PubSub for Socket.IO, only the default value is supported. For Web PubSub, the valid values are 'Default' and 'MQTT'.", + "type": "string", + "default": "Default", + "enum": [ + "Default", + "MQTT" + ], + "x-ms-enum": { + "name": "WebPubSubClientType", + "modelAsString": true + } + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/ClientTokenResponse" + } + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_GenerateClientToken": { + "$ref": "./examples/WebPubSub_GenerateClientToken.json" + } + } + } + }, + "/api/hubs/{hub}/:removeFromGroups": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Remove filtered connections from multiple groups.", + "operationId": "WebPubSub_RemoveConnectionsFromGroups", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "groupsToRemove", + "description": "Target groups and connection filter.", + "required": true, + "schema": { + "$ref": "#/definitions/RemoveFromGroupsRequest" + } + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_RemoveConnectionsFromGroups": { + "$ref": "./examples/WebPubSub_RemoveConnectionsFromGroups.json" + } + } + } + }, + "/api/hubs/{hub}/:send": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Broadcast content inside request body to all the connected client connections.", + "operationId": "WebPubSub_SendToAll", + "consumes": [ + "application/octet-stream", + "text/plain", + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "query", + "name": "excluded", + "description": "Excluded connection Ids.", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "message", + "description": "The payload body.", + "required": true, + "schema": { + "format": "binary", + "type": "string" + } + }, + { + "in": "query", + "name": "filter", + "description": "Following OData filter syntax to filter out the subscribers receiving the messages.", + "type": "string" + }, + { + "in": "query", + "name": "messageTtlSeconds", + "description": "The time-to-live (TTL) value in seconds for messages sent to the service. 0 is the default value, which means the message never expires. 300 is the maximum value. If this parameter is non-zero, messages that are not consumed by the client within the specified TTL will be dropped by the service. This parameter can help when the client's bandwidth is limited.", + "type": "integer", + "format": "int32", + "maximum": 300, + "minimum": 0 + } + ], + "responses": { + "202": { + "description": "The message is accepted. The service follows fire-and-forget pattern when sending messages." + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_SendToAll": { + "$ref": "./examples/WebPubSub_SendToAll.json" + } + } + } + }, + "/api/hubs/{hub}/connections/{connectionId}": { + "delete": { + "tags": [ + "webpubsub" + ], + "summary": "Close the client connection.", + "operationId": "WebPubSub_CloseConnection", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "connectionId", + "description": "Target connection Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "reason", + "description": "The reason closing the client connection.", + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_CloseConnection": { + "$ref": "./examples/WebPubSub_CloseConnection.json" + } + } + }, + "head": { + "tags": [ + "webpubsub" + ], + "summary": "Check if the connection with the given connectionId exists.", + "operationId": "WebPubSub_ConnectionExists", + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "connectionId", + "description": "The connection Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response", + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_ConnectionExists": { + "$ref": "./examples/WebPubSub_ConnectionExists.json" + } + } + } + }, + "/api/hubs/{hub}/connections/{connectionId}/:send": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Send content inside request body to the specific connection.", + "operationId": "WebPubSub_SendToConnection", + "consumes": [ + "application/octet-stream", + "text/plain", + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "connectionId", + "description": "The connection Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "message", + "description": "The payload body.", + "required": true, + "schema": { + "format": "binary", + "type": "string" + } + }, + { + "in": "query", + "name": "messageTtlSeconds", + "description": "The time-to-live (TTL) value in seconds for messages sent to the service. 0 is the default value, which means the message never expires. 300 is the maximum value. If this parameter is non-zero, messages that are not consumed by the client within the specified TTL will be dropped by the service. This parameter can help when the client's bandwidth is limited.", + "type": "integer", + "format": "int32", + "maximum": 300, + "minimum": 0 + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_SendToConnection": { + "$ref": "./examples/WebPubSub_SendToConnection.json" + } + } + } + }, + "/api/hubs/{hub}/connections/{connectionId}/groups": { + "delete": { + "tags": [ + "webpubsub" + ], + "summary": "Remove a connection from all groups.", + "operationId": "WebPubSub_RemoveConnectionFromAllGroups", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "connectionId", + "description": "Target connection Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "The connection is removed from all groups." + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_RemoveConnectionFromAllGroups": { + "$ref": "./examples/WebPubSub_RemoveConnectionFromAllGroups.json" + } + } + } + }, + "/api/hubs/{hub}/groups/{group}": { + "head": { + "tags": [ + "webpubsub" + ], + "summary": "Check if there are any client connections inside the given group", + "operationId": "WebPubSub_GroupExists", + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "group", + "description": "Target group name, which length should be greater than 0 and less than 1025.", + "required": true, + "type": "string", + "maxLength": 1024, + "minLength": 1, + "pattern": "^(?!\\s+$).+$" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response", + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_GroupExists": { + "$ref": "./examples/WebPubSub_GroupExists.json" + } + } + } + }, + "/api/hubs/{hub}/groups/{group}/:closeConnections": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Close connections in the specific group.", + "operationId": "WebPubSub_CloseGroupConnections", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "group", + "description": "Target group name, which length should be greater than 0 and less than 1025.", + "required": true, + "type": "string", + "maxLength": 1024, + "minLength": 1, + "pattern": "^(?!\\s+$).+$" + }, + { + "in": "query", + "name": "excluded", + "description": "Exclude these connectionIds when closing the connections in the group.", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "in": "query", + "name": "reason", + "description": "The reason closing the client connection.", + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_CloseGroupConnections": { + "$ref": "./examples/WebPubSub_CloseGroupConnections.json" + } + } + } + }, + "/api/hubs/{hub}/groups/{group}/:send": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Send content inside request body to a group of connections.", + "operationId": "WebPubSub_SendToGroup", + "consumes": [ + "application/octet-stream", + "text/plain", + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "group", + "description": "Target group name, which length should be greater than 0 and less than 1025.", + "required": true, + "type": "string", + "maxLength": 1024, + "minLength": 1, + "pattern": "^(?!\\s+$).+$" + }, + { + "in": "query", + "name": "excluded", + "description": "Excluded connection Ids", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "message", + "description": "The payload body.", + "required": true, + "schema": { + "format": "binary", + "type": "string" + } + }, + { + "in": "query", + "name": "filter", + "description": "Following OData filter syntax to filter out the subscribers receiving the messages.", + "type": "string" + }, + { + "in": "query", + "name": "messageTtlSeconds", + "description": "The time-to-live (TTL) value in seconds for messages sent to the service. 0 is the default value, which means the message never expires. 300 is the maximum value. If this parameter is non-zero, messages that are not consumed by the client within the specified TTL will be dropped by the service. This parameter can help when the client's bandwidth is limited.", + "type": "integer", + "format": "int32", + "maximum": 300, + "minimum": 0 + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_SendToGroup": { + "$ref": "./examples/WebPubSub_SendToGroup.json" + } + } + } + }, + "/api/hubs/{hub}/groups/{group}/connections/{connectionId}": { + "delete": { + "tags": [ + "webpubsub" + ], + "summary": "Remove a connection from the target group.", + "operationId": "WebPubSub_RemoveConnectionFromGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "group", + "description": "Target group name, which length should be greater than 0 and less than 1025.", + "required": true, + "type": "string", + "maxLength": 1024, + "minLength": 1, + "pattern": "^(?!\\s+$).+$" + }, + { + "in": "path", + "name": "connectionId", + "description": "Target connection Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_RemoveConnectionFromGroup": { + "$ref": "./examples/WebPubSub_RemoveConnectionFromGroup.json" + } + } + }, + "put": { + "tags": [ + "webpubsub" + ], + "summary": "Add a connection to the target group.", + "operationId": "WebPubSub_AddConnectionToGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "group", + "description": "Target group name, which length should be greater than 0 and less than 1025.", + "required": true, + "type": "string", + "maxLength": 1024, + "minLength": 1, + "pattern": "^(?!\\s+$).+$" + }, + { + "in": "path", + "name": "connectionId", + "description": "Target connection Id", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_AddConnectionToGroup": { + "$ref": "./examples/WebPubSub_AddConnectionToGroup.json" + } + } + } + }, + "/api/hubs/{hub}/permissions/{permission}/connections/{connectionId}": { + "delete": { + "tags": [ + "webpubsub" + ], + "summary": "Revoke permission for the connection.", + "operationId": "WebPubSub_RevokePermission", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "permission", + "description": "The permission: current supported actions are joinLeaveGroup and sendToGroup.", + "required": true, + "type": "string", + "enum": [ + "sendToGroup", + "joinLeaveGroup" + ], + "x-ms-enum": { + "name": "WebPubSubPermission", + "modelAsString": true + } + }, + { + "in": "path", + "name": "connectionId", + "description": "Target connection Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "targetName", + "description": "The meaning of the target depends on the specific permission. For joinLeaveGroup and sendToGroup, targetName is a required parameter standing for the group name.", + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_RevokePermission": { + "$ref": "./examples/WebPubSub_RevokePermission.json" + } + } + }, + "head": { + "tags": [ + "webpubsub" + ], + "summary": "Check if a connection has permission to the specified action.", + "operationId": "WebPubSub_CheckPermission", + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "permission", + "description": "The permission: current supported actions are joinLeaveGroup and sendToGroup.", + "required": true, + "type": "string", + "enum": [ + "sendToGroup", + "joinLeaveGroup" + ], + "x-ms-enum": { + "name": "WebPubSubPermission", + "modelAsString": true + } + }, + { + "in": "path", + "name": "connectionId", + "description": "Target connection Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "targetName", + "description": "The meaning of the target depends on the specific permission. For joinLeaveGroup and sendToGroup, targetName is a required parameter standing for the group name.", + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response", + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_CheckPermission": { + "$ref": "./examples/WebPubSub_CheckPermission.json" + } + } + }, + "put": { + "tags": [ + "webpubsub" + ], + "summary": "Grant permission to the connection.", + "operationId": "WebPubSub_GrantPermission", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "permission", + "description": "The permission: current supported actions are joinLeaveGroup and sendToGroup.", + "required": true, + "type": "string", + "enum": [ + "sendToGroup", + "joinLeaveGroup" + ], + "x-ms-enum": { + "name": "WebPubSubPermission", + "modelAsString": true + } + }, + { + "in": "path", + "name": "connectionId", + "description": "Target connection Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "targetName", + "description": "The meaning of the target depends on the specific permission. For joinLeaveGroup and sendToGroup, targetName is a required parameter standing for the group name.", + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_GrantPermission": { + "$ref": "./examples/WebPubSub_GrantPermission.json" + } + } + } + }, + "/api/hubs/{hub}/users/{userId}": { + "head": { + "tags": [ + "webpubsub" + ], + "summary": "Check if there are any client connections connected for the given user.", + "operationId": "WebPubSub_UserExists", + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "userId", + "description": "Target user Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "404": { + "description": "Not Found" + }, + "default": { + "description": "Error response", + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_UserExists": { + "$ref": "./examples/WebPubSub_UserExists.json" + } + } + } + }, + "/api/hubs/{hub}/users/{userId}/:closeConnections": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Close connections for the specific user.", + "operationId": "WebPubSub_CloseUserConnections", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "userId", + "description": "The user Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "excluded", + "description": "Exclude these connectionIds when closing the connections for the user.", + "type": "array", + "items": { + "type": "string" + }, + "collectionFormat": "multi" + }, + { + "in": "query", + "name": "reason", + "description": "The reason closing the client connection.", + "type": "string" + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_CloseUserConnections": { + "$ref": "./examples/WebPubSub_CloseUserConnections.json" + } + } + } + }, + "/api/hubs/{hub}/users/{userId}/:send": { + "post": { + "tags": [ + "webpubsub" + ], + "summary": "Send content inside request body to the specific user.", + "operationId": "WebPubSub_SendToUser", + "consumes": [ + "application/octet-stream", + "text/plain", + "application/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "userId", + "description": "The user Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "message", + "description": "The payload body.", + "required": true, + "schema": { + "format": "binary", + "type": "string" + } + }, + { + "in": "query", + "name": "filter", + "description": "Following OData filter syntax to filter out the subscribers receiving the messages.", + "type": "string" + }, + { + "in": "query", + "name": "messageTtlSeconds", + "description": "The time-to-live (TTL) value in seconds for messages sent to the service. 0 is the default value, which means the message never expires. 300 is the maximum value. If this parameter is non-zero, messages that are not consumed by the client within the specified TTL will be dropped by the service. This parameter can help when the client's bandwidth is limited.", + "type": "integer", + "format": "int32", + "maximum": 300, + "minimum": 0 + } + ], + "responses": { + "202": { + "description": "Accepted" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_SendToUser": { + "$ref": "./examples/WebPubSub_SendToUser.json" + } + } + } + }, + "/api/hubs/{hub}/users/{userId}/groups": { + "delete": { + "tags": [ + "webpubsub" + ], + "summary": "Remove a user from all groups.", + "operationId": "WebPubSub_RemoveUserFromAllGroups", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "userId", + "description": "Target user Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "The user is removed from all groups." + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_RemoveUserFromAllGroups": { + "$ref": "./examples/WebPubSub_RemoveUserFromAllGroups.json" + } + } + } + }, + "/api/hubs/{hub}/users/{userId}/groups/{group}": { + "delete": { + "tags": [ + "webpubsub" + ], + "summary": "Remove a user from the target group.", + "operationId": "WebPubSub_RemoveUserFromGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "group", + "description": "Target group name, which length should be greater than 0 and less than 1025.", + "required": true, + "type": "string", + "maxLength": 1024, + "minLength": 1, + "pattern": "^(?!\\s+$).+$" + }, + { + "in": "path", + "name": "userId", + "description": "Target user Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "204": { + "description": "The user is removed from the group." + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_RemoveUserFromGroup": { + "$ref": "./examples/WebPubSub_RemoveUserFromGroup.json" + } + } + }, + "put": { + "tags": [ + "webpubsub" + ], + "summary": "Add a user to the target group.", + "operationId": "WebPubSub_AddUserToGroup", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hub", + "description": "Target hub name, which should start with alphabetic characters and only contain alpha-numeric characters or underscore.", + "required": true, + "type": "string", + "pattern": "^[A-Za-z][A-Za-z0-9_`,.[\\]]{0,127}$" + }, + { + "in": "path", + "name": "group", + "description": "Target group name, which length should be greater than 0 and less than 1025.", + "required": true, + "type": "string", + "maxLength": 1024, + "minLength": 1, + "pattern": "^(?!\\s+$).+$" + }, + { + "in": "path", + "name": "userId", + "description": "Target user Id.", + "required": true, + "type": "string", + "minLength": 1 + }, + { + "in": "query", + "name": "api-version", + "description": "The version of the REST APIs.", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "Success" + }, + "default": { + "description": "Error response", + "schema": { + "$ref": "#/definitions/ErrorDetail" + }, + "x-ms-error-response": true, + "headers": { + "x-ms-error-code": { + "x-ms-client-name": "ErrorCode", + "type": "string" + } + } + } + }, + "x-ms-examples": { + "WebPubSub_AddUserToGroup": { + "$ref": "./examples/WebPubSub_AddUserToGroup.json" + } + } + } + } + }, + "definitions": { + "AddToGroupsRequest": { + "description": "The request object containing targets groups and a connection filter", + "type": "object", + "properties": { + "groups": { + "description": "A list of groups which target connections will be added into", + "type": "array", + "items": { + "type": "string" + } + }, + "filter": { + "description": "An OData filter which target connections satisfy", + "type": "string" + } + } + }, + "ClientTokenResponse": { + "description": "The response object containing the token for the client", + "type": "object", + "properties": { + "token": { + "description": "The token value for the WebSocket client to connect to the service", + "type": "string" + } + } + }, + "ErrorDetail": { + "description": "The error object.", + "type": "object", + "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" + }, + "target": { + "description": "The target of the error.", + "type": "string" + }, + "details": { + "description": "An array of details about specific errors that led to this reported error.", + "type": "array", + "items": { + "$ref": "#/definitions/ErrorDetail" + } + }, + "inner": { + "$ref": "#/definitions/InnerError" + } + } + }, + "InnerError": { + "type": "object", + "properties": { + "code": { + "description": "A more specific error code than was provided by the containing error.", + "type": "string" + }, + "inner": { + "$ref": "#/definitions/InnerError" + } + } + }, + "RemoveFromGroupsRequest": { + "description": "The request object containing targets groups and a connection filter", + "type": "object", + "properties": { + "groups": { + "description": "A list of groups which target connections will be removed from", + "type": "array", + "items": { + "type": "string" + } + }, + "filter": { + "description": "An OData filter which target connections satisfy", + "type": "string" + } + } + } + }, + "x-ms-parameterized-host": { + "hostTemplate": "{endpoint}", + "useSchemePrefix": false, + "parameters": [ + { + "name": "endpoint", + "description": "HTTP or HTTPS endpoint for the Web PubSub service instance.", + "x-ms-parameter-location": "client", + "required": true, + "type": "string", + "format": "url", + "in": "path", + "x-ms-skip-url-encoding": true + } + ] + } +} diff --git a/specification/webpubsub/data-plane/readme.md b/specification/webpubsub/data-plane/readme.md index 2af5241e4544..40c7969ad221 100644 --- a/specification/webpubsub/data-plane/readme.md +++ b/specification/webpubsub/data-plane/readme.md @@ -26,7 +26,7 @@ These are the global settings for the Web PubSub Service API. ``` yaml openapi-type: data-plane -tag: package-2023-07-01 +tag: package-2024-01 ``` ### Suppression @@ -40,14 +40,23 @@ directive: ``` +### Tag: package-2024-01 + +These settings apply only when `--tag=package-2024-01` is specified on the command line. + +```yaml $(tag) == 'package-2024-01' +input-file: + - WebPubSub/stable/2024-01-01/webpubsub.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' +``` yaml $(tag) == 'package-2023-07-01' input-file: - WebPubSub/stable/2023-07-01/webpubsub.json ``` + ### Tag: package-2022-11-01 These settings apply only when `--tag=package-2022-11-01` is specified on the command line. diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/Operations_List.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/Operations_List.json new file mode 100644 index 000000000000..afb4f4fd0437 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/Operations_List.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "name": "Microsoft.SignalRService/WebPubSub/read", + "isDataAction": false, + "display": { + "provider": "Microsoft.SignalRService", + "resource": "WebPubSub", + "operation": "Manage WebPubSub (read-only)", + "description": "View the resource settings and configurations in the management portal or through API" + }, + "properties": {} + } + ], + "nextLink": "providers/Microsoft.SignalRService?$skipToken={opaqueString}" + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/Usages_List.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/Usages_List.json new file mode 100644 index 000000000000..e04527b26478 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/Usages_List.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "location": "eastus", + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.SignalRService/locations/eastus/usages/Usage1", + "currentValue": 0, + "limit": 100, + "name": { + "value": "Usage1", + "localizedValue": "Usage1" + }, + "unit": "Count" + }, + { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.SignalRService/locations/eastus/usages/Usage2", + "currentValue": 0, + "limit": 100, + "name": { + "value": "Usage2", + "localizedValue": "Usage2" + }, + "unit": "Count" + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToMoreResults..." + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomCertificates_CreateOrUpdate.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomCertificates_CreateOrUpdate.json new file mode 100644 index 000000000000..270d490ea410 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomCertificates_CreateOrUpdate.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "parameters": { + "properties": { + "keyVaultBaseUri": "https://myvault.keyvault.azure.net/", + "keyVaultSecretName": "mycert", + "keyVaultSecretVersion": "bb6a44b2743f47f68dad0d6cc9756432" + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "certificateName": "myCert" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "keyVaultBaseUri": "https://myvault.keyvault.azure.net/", + "keyVaultSecretName": "mycert", + "keyVaultSecretVersion": "bb6a44b2743f47f68dad0d6cc9756432" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/customCertificates/myCert", + "name": "myCert", + "type": "Microsoft.SignalRService/WebPubSub/customCertificates" + } + }, + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "keyVaultBaseUri": "https://myvault.keyvault.azure.net/", + "keyVaultSecretName": "mycert", + "keyVaultSecretVersion": "bb6a44b2743f47f68dad0d6cc9756432" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/customCertificates/myCert", + "name": "myCert", + "type": "Microsoft.SignalRService/WebPubSub/customCertificates" + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomCertificates_Delete.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomCertificates_Delete.json new file mode 100644 index 000000000000..3fb4302915c7 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomCertificates_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "certificateName": "myCert" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomCertificates_Get.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomCertificates_Get.json new file mode 100644 index 000000000000..2b9ad9691e92 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomCertificates_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "certificateName": "myCert" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "keyVaultBaseUri": "https://myvault.keyvault.azure.net/", + "keyVaultSecretName": "mycert", + "keyVaultSecretVersion": "bb6a44b2743f47f68dad0d6cc9756432" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/customCertificates/myCert", + "name": "myCert", + "type": "Microsoft.SignalRService/WebPubSub/customCertificates" + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomCertificates_List.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomCertificates_List.json new file mode 100644 index 000000000000..6446e68cd019 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomCertificates_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "certificateName": "myCert" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "keyVaultBaseUri": "https://myvault.keyvault.azure.net/", + "keyVaultSecretName": "mycert", + "keyVaultSecretVersion": "bb6a44b2743f47f68dad0d6cc9756432" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/customCertificates/myCert", + "name": "myCert", + "type": "Microsoft.SignalRService/WebPubSub/customCertificates" + } + ] + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomDomains_CreateOrUpdate.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomDomains_CreateOrUpdate.json new file mode 100644 index 000000000000..f6a4a2d405cb --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomDomains_CreateOrUpdate.json @@ -0,0 +1,36 @@ +{ + "parameters": { + "parameters": { + "properties": { + "domainName": "example.com", + "customCertificate": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/customCertificates/myCert" + } + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "name": "myDomain" + }, + "responses": { + "201": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "domainName": "example.com", + "customCertificate": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/customCertificates/myCert" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/customDomains/myDomain", + "name": "myDomain" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomDomains_Delete.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomDomains_Delete.json new file mode 100644 index 000000000000..e80dfd163638 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomDomains_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "name": "example" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomDomains_Get.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomDomains_Get.json new file mode 100644 index 000000000000..872f5949f442 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomDomains_Get.json @@ -0,0 +1,24 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "name": "example" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "domainName": "example.com", + "customCertificate": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/customCertificates/myCert" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/customDomains/myDomain", + "name": "myDomain" + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomDomains_List.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomDomains_List.json new file mode 100644 index 000000000000..66925f277cd7 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubCustomDomains_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "name": "myDomain" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "domainName": "example.com", + "customCertificate": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/customCertificates/myCert" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/customDomains/myDomain", + "name": "myDomain" + } + ] + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubHubs_CreateOrUpdate.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubHubs_CreateOrUpdate.json new file mode 100644 index 000000000000..9ea931711974 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubHubs_CreateOrUpdate.json @@ -0,0 +1,142 @@ +{ + "parameters": { + "parameters": { + "properties": { + "eventHandlers": [ + { + "urlTemplate": "http://host.com", + "userEventPattern": "*", + "systemEvents": [ + "connect", + "connected" + ], + "auth": { + "type": "ManagedIdentity", + "managedIdentity": { + "resource": "abc" + } + } + } + ], + "eventListeners": [ + { + "filter": { + "type": "EventName", + "systemEvents": [ + "connected", + "disconnected" + ], + "userEventPattern": "*" + }, + "endpoint": { + "type": "EventHub", + "fullyQualifiedNamespace": "example.servicebus.windows.net", + "eventHubName": "eventHubName1" + } + } + ], + "anonymousConnectPolicy": "allow", + "webSocketKeepAliveIntervalInSeconds": 50 + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "hubName": "exampleHub" + }, + "responses": { + "200": { + "body": { + "properties": { + "eventHandlers": [ + { + "urlTemplate": "http://host.com", + "userEventPattern": "*", + "systemEvents": [ + "connect", + "connected" + ], + "auth": { + "type": "ManagedIdentity", + "managedIdentity": { + "resource": "abc" + } + } + } + ], + "eventListeners": [ + { + "filter": { + "type": "EventName", + "systemEvents": [ + "connected", + "disconnected" + ], + "userEventPattern": "*" + }, + "endpoint": { + "type": "EventHub", + "fullyQualifiedNamespace": "example.servicebus.windows.net", + "eventHubName": "eventHubName1" + } + } + ], + "anonymousConnectPolicy": "allow", + "webSocketKeepAliveIntervalInSeconds": 50 + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/hubs/exampleHub", + "name": "exampleHub", + "type": "Microsoft.SignalRService/WebPubSub/hubs" + } + }, + "201": { + "body": { + "properties": { + "eventHandlers": [ + { + "urlTemplate": "http://host.com", + "userEventPattern": "*", + "systemEvents": [ + "connect", + "connected" + ], + "auth": { + "type": "ManagedIdentity", + "managedIdentity": { + "resource": "abc" + } + } + } + ], + "eventListeners": [ + { + "filter": { + "type": "EventName", + "systemEvents": [ + "connected", + "disconnected" + ], + "userEventPattern": "*" + }, + "endpoint": { + "type": "EventHub", + "fullyQualifiedNamespace": "example.servicebus.windows.net", + "eventHubName": "eventHubName1" + } + } + ], + "anonymousConnectPolicy": "allow", + "webSocketKeepAliveIntervalInSeconds": 50 + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/hubs/exampleHub", + "name": "exampleHub", + "type": "Microsoft.SignalRService/WebPubSub/hubs" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubHubs_Delete.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubHubs_Delete.json new file mode 100644 index 000000000000..088271d76dba --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubHubs_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "hubName": "exampleHub" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubHubs_Get.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubHubs_Get.json new file mode 100644 index 000000000000..78be03925ebf --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubHubs_Get.json @@ -0,0 +1,55 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "hubName": "exampleHub" + }, + "responses": { + "200": { + "body": { + "properties": { + "eventHandlers": [ + { + "urlTemplate": "http://host.com", + "userEventPattern": "*", + "systemEvents": [ + "connect", + "connected" + ], + "auth": { + "type": "ManagedIdentity", + "managedIdentity": { + "resource": "abc" + } + } + } + ], + "eventListeners": [ + { + "filter": { + "type": "EventName", + "systemEvents": [ + "connected", + "disconnected" + ], + "userEventPattern": "*" + }, + "endpoint": { + "type": "EventHub", + "fullyQualifiedNamespace": "example.servicebus.windows.net", + "eventHubName": "eventHubName1" + } + } + ], + "anonymousConnectPolicy": "allow", + "webSocketKeepAliveIntervalInSeconds": 50 + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/hubs/exampleHub", + "name": "exampleHub", + "type": "Microsoft.SignalRService/WebPubSub/hubs" + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubHubs_List.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubHubs_List.json new file mode 100644 index 000000000000..60315d54619c --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubHubs_List.json @@ -0,0 +1,58 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "eventHandlers": [ + { + "urlTemplate": "http://host.com", + "userEventPattern": "*", + "systemEvents": [ + "connect", + "connected" + ], + "auth": { + "type": "ManagedIdentity", + "managedIdentity": { + "resource": "abc" + } + } + } + ], + "eventListeners": [ + { + "filter": { + "type": "EventName", + "systemEvents": [ + "connected", + "disconnected" + ], + "userEventPattern": "*" + }, + "endpoint": { + "type": "EventHub", + "fullyQualifiedNamespace": "example.servicebus.windows.net", + "eventHubName": "eventHubName1" + } + } + ], + "anonymousConnectPolicy": "allow", + "webSocketKeepAliveIntervalInSeconds": 50 + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/hubs/exampleHub", + "name": "exampleHub", + "type": "Microsoft.SignalRService/WebPubSub/hubs" + } + ] + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubPrivateEndpointConnections_Delete.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubPrivateEndpointConnections_Delete.json new file mode 100644 index 000000000000..86c1f40037f9 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubPrivateEndpointConnections_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "privateEndpointConnectionName": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubPrivateEndpointConnections_Get.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubPrivateEndpointConnections_Get.json new file mode 100644 index 000000000000..1719bc05107c --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubPrivateEndpointConnections_Get.json @@ -0,0 +1,39 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "privateEndpointConnectionName": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "groupIds": [ + "webpubsub" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubPrivateEndpointConnections_List.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubPrivateEndpointConnections_List.json new file mode 100644 index 000000000000..ccea9b9f44b7 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubPrivateEndpointConnections_List.json @@ -0,0 +1,42 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "groupIds": [ + "webpubsub" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ] + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubPrivateEndpointConnections_Update.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubPrivateEndpointConnections_Update.json new file mode 100644 index 000000000000..6b21d7dd4d3c --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubPrivateEndpointConnections_Update.json @@ -0,0 +1,52 @@ +{ + "parameters": { + "parameters": { + "properties": { + "privateEndpoint": {}, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "privateEndpointConnectionName": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e" + }, + "responses": { + "200": { + "body": { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "groupIds": [ + "webpubsub" + ], + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubPrivateLinkResources_List.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubPrivateLinkResources_List.json new file mode 100644 index 000000000000..7e1988f7608f --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubPrivateLinkResources_List.json @@ -0,0 +1,57 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "webpubsub", + "requiredMembers": [ + "webpubsub" + ], + "requiredZoneNames": [ + "privatelink.webpubsub.azure.com" + ], + "shareablePrivateLinkResourceTypes": [ + { + "name": "site", + "properties": { + "description": "Azure App Service can be used as an upstream", + "groupId": "sites", + "type": "Microsoft.Web/sites" + } + }, + { + "name": "vault", + "properties": { + "description": "Azure Key Vault can be used as credentials store", + "groupId": "vault", + "type": "Microsoft.KeyVault/vaults" + } + }, + { + "name": "table", + "properties": { + "description": "Azure Storage Table can be used as message store", + "groupId": "table", + "type": "Microsoft.Storage/storageAccounts" + } + } + ] + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateLinkResources/myPrivateLink", + "name": "myPrivateLink", + "type": "privateLinkResources" + } + ], + "nextLink": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToMoreResults..." + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicaSharedPrivateLinkResources_CreateOrUpdate.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicaSharedPrivateLinkResources_CreateOrUpdate.json new file mode 100644 index 000000000000..ab1918ef4a85 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicaSharedPrivateLinkResources_CreateOrUpdate.json @@ -0,0 +1,51 @@ +{ + "parameters": { + "parameters": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "requestMessage": "Please approve" + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "replicaName": "myWebPubSubService-eastus", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections" + } + }, + "201": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicaSharedPrivateLinkResources_Get.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicaSharedPrivateLinkResources_Get.json new file mode 100644 index 000000000000..156e4b534742 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicaSharedPrivateLinkResources_Get.json @@ -0,0 +1,26 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "replicaName": "myWebPubSubService-eastus", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections" + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicaSharedPrivateLinkResources_List.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicaSharedPrivateLinkResources_List.json new file mode 100644 index 000000000000..4e1edfee4175 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicaSharedPrivateLinkResources_List.json @@ -0,0 +1,29 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "replicaName": "myWebPubSubService-eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_CreateOrUpdate.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_CreateOrUpdate.json new file mode 100644 index 000000000000..eb64b78c6a81 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_CreateOrUpdate.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "capacity": 1 + }, + "properties": { + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "replicaName": "myWebPubSubService-eastus" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/replicas/myWebPubSubService-eastus", + "name": "myWebPubSubService-eastus", + "type": "Microsoft.SignalRService/WebPubSub", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + }, + "201": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/replicas/myWebPubSubService-eastus", + "name": "myWebPubSubService-eastus", + "type": "Microsoft.SignalRService/WebPubSub", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_Delete.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_Delete.json new file mode 100644 index 000000000000..49dd90f7a0e5 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_Delete.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "replicaName": "myWebPubSubService-eastus" + }, + "responses": { + "200": {}, + "204": {} + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_Get.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_Get.json new file mode 100644 index 000000000000..6aec9a5ef426 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_Get.json @@ -0,0 +1,41 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "replicaName": "myWebPubSubService-eastus" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/replicas/myWebPubSubService-eastus", + "name": "myWebPubSubService-eastus", + "type": "Microsoft.SignalRService/WebPubSub", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_List.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_List.json new file mode 100644 index 000000000000..8c91d8771fc7 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_List.json @@ -0,0 +1,44 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/replicas/myWebPubSubService-eastus", + "name": "myWebPubSubService-eastus", + "type": "Microsoft.SignalRService/WebPubSub", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ] + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_Restart.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_Restart.json new file mode 100644 index 000000000000..f5d0c2dcd46a --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_Restart.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "replicaName": "myWebPubSubService-eastus" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_Update.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_Update.json new file mode 100644 index 000000000000..5e5c73cb5d46 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubReplicas_Update.json @@ -0,0 +1,89 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "capacity": 1 + }, + "properties": { + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "replicaName": "myWebPubSubService-eastus" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/replicas/myWebPubSubService-eastus", + "name": "myWebPubSubService-eastus", + "type": "Microsoft.SignalRService/WebPubSub", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + }, + "202": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/replicas/myWebPubSubService-eastus", + "name": "myWebPubSubService-eastus", + "type": "Microsoft.SignalRService/WebPubSub", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubSharedPrivateLinkResources_CreateOrUpdate.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubSharedPrivateLinkResources_CreateOrUpdate.json new file mode 100644 index 000000000000..1a685e101e69 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubSharedPrivateLinkResources_CreateOrUpdate.json @@ -0,0 +1,50 @@ +{ + "parameters": { + "parameters": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "requestMessage": "Please approve" + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections" + } + }, + "201": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections" + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubSharedPrivateLinkResources_Delete.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubSharedPrivateLinkResources_Delete.json new file mode 100644 index 000000000000..916f43c58bb7 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubSharedPrivateLinkResources_Delete.json @@ -0,0 +1,19 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubSharedPrivateLinkResources_Get.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubSharedPrivateLinkResources_Get.json new file mode 100644 index 000000000000..1290895fe395 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubSharedPrivateLinkResources_Get.json @@ -0,0 +1,25 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "sharedPrivateLinkResourceName": "upstream" + }, + "responses": { + "200": { + "body": { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections" + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubSharedPrivateLinkResources_List.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubSharedPrivateLinkResources_List.json new file mode 100644 index 000000000000..2b85fc1874c4 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSubSharedPrivateLinkResources_List.json @@ -0,0 +1,28 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "properties": { + "groupId": "sites", + "privateLinkResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Web/sites/myWebApp", + "provisioningState": "Succeeded", + "requestMessage": "Please approve", + "status": "Approved" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/upstream", + "name": "upstream", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections" + } + ] + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_CheckNameAvailability.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_CheckNameAvailability.json new file mode 100644 index 000000000000..cb842aef9964 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_CheckNameAvailability.json @@ -0,0 +1,20 @@ +{ + "parameters": { + "location": "eastus", + "parameters": { + "type": "Microsoft.SignalRService/WebPubSub", + "name": "myWebPubSubService" + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "nameAvailable": false, + "reason": "AlreadyExists", + "message": "The name is already taken. Please try a different name." + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_CreateOrUpdate.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_CreateOrUpdate.json new file mode 100644 index 000000000000..d6094ead9198 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_CreateOrUpdate.json @@ -0,0 +1,349 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "capacity": 1 + }, + "properties": { + "tls": { + "clientCertEnabled": false + }, + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false, + "socketIO": { + "serviceMode": "Serverless" + } + }, + "kind": "WebPubSub", + "identity": { + "type": "SystemAssigned" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mywebpubsubservice.webpubsub.azure.com", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ], + "tls": { + "clientCertEnabled": true + }, + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ], + "ipRules": [ + { + "value": "123.456.789.123/24", + "action": "Allow" + }, + { + "value": "123.456.789.123", + "action": "Allow" + }, + { + "value": "AppService", + "action": "Allow" + } + ] + }, + "applicationFirewall": { + "clientConnectionCountRules": [ + { + "type": "ThrottleByJwtSignatureRule", + "maxCount": 20 + }, + { + "type": "ThrottleByUserIdRule", + "maxCount": 20 + }, + { + "type": "ThrottleByJwtCustomClaimRule", + "claimName": "claimName", + "maxCount": 20 + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false, + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false", + "socketIO": { + "serviceMode": "Serverless" + } + }, + "kind": "WebPubSub", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService", + "name": "myWebPubSubService", + "type": "Microsoft.SignalRService/WebPubSub", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + }, + "201": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mywebpubsubservice.webpubsub.azure.com", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ], + "tls": { + "clientCertEnabled": true + }, + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ], + "ipRules": [ + { + "value": "123.456.789.123/24", + "action": "Allow" + }, + { + "value": "123.456.789.123", + "action": "Allow" + }, + { + "value": "AppService", + "action": "Allow" + } + ] + }, + "applicationFirewall": { + "clientConnectionCountRules": [ + { + "type": "ThrottleByJwtSignatureRule", + "maxCount": 20 + }, + { + "type": "ThrottleByUserIdRule", + "maxCount": 20 + }, + { + "type": "ThrottleByJwtCustomClaimRule", + "claimName": "claimName", + "maxCount": 20 + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false, + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false", + "socketIO": { + "serviceMode": "Serverless" + } + }, + "kind": "WebPubSub", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService", + "name": "myWebPubSubService", + "type": "Microsoft.SignalRService/WebPubSub", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + }, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_Delete.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_Delete.json new file mode 100644 index 000000000000..ea70ec942783 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_Delete.json @@ -0,0 +1,18 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService" + }, + "responses": { + "200": {}, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_Get.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_Get.json new file mode 100644 index 000000000000..aa94a4c542a0 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_Get.json @@ -0,0 +1,149 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mywebpubsubservice.webpubsub.azure.com", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ], + "tls": { + "clientCertEnabled": true + }, + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ], + "ipRules": [ + { + "value": "123.456.789.123/24", + "action": "Allow" + }, + { + "value": "123.456.789.123", + "action": "Allow" + }, + { + "value": "AppService", + "action": "Allow" + } + ] + }, + "applicationFirewall": { + "clientConnectionCountRules": [ + { + "type": "ThrottleByJwtSignatureRule", + "maxCount": 20 + }, + { + "type": "ThrottleByUserIdRule", + "maxCount": 20 + }, + { + "type": "ThrottleByJwtCustomClaimRule", + "claimName": "claimName", + "maxCount": 20 + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false, + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false", + "socketIO": { + "serviceMode": "Serverless" + } + }, + "kind": "WebPubSub", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService", + "name": "myWebPubSubService", + "type": "Microsoft.SignalRService/WebPubSub", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_ListByResourceGroup.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_ListByResourceGroup.json new file mode 100644 index 000000000000..d7487b82962b --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_ListByResourceGroup.json @@ -0,0 +1,152 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mywebpubsubservice.webpubsub.azure.com", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ], + "tls": { + "clientCertEnabled": true + }, + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ], + "ipRules": [ + { + "value": "123.456.789.123/24", + "action": "Allow" + }, + { + "value": "123.456.789.123", + "action": "Allow" + }, + { + "value": "AppService", + "action": "Allow" + } + ] + }, + "applicationFirewall": { + "clientConnectionCountRules": [ + { + "type": "ThrottleByJwtSignatureRule", + "maxCount": 20 + }, + { + "type": "ThrottleByUserIdRule", + "maxCount": 20 + }, + { + "type": "ThrottleByJwtCustomClaimRule", + "claimName": "claimName", + "maxCount": 20 + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false, + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false", + "socketIO": { + "serviceMode": "Serverless" + } + }, + "kind": "WebPubSub", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService", + "name": "myWebPubSubService", + "type": "Microsoft.SignalRService/WebPubSub", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ] + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_ListBySubscription.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_ListBySubscription.json new file mode 100644 index 000000000000..17491f6012bb --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_ListBySubscription.json @@ -0,0 +1,151 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mywebpubsubservice.webpubsub.azure.com", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ], + "tls": { + "clientCertEnabled": true + }, + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ], + "ipRules": [ + { + "value": "123.456.789.123/24", + "action": "Allow" + }, + { + "value": "123.456.789.123", + "action": "Allow" + }, + { + "value": "AppService", + "action": "Allow" + } + ] + }, + "applicationFirewall": { + "clientConnectionCountRules": [ + { + "type": "ThrottleByJwtSignatureRule", + "maxCount": 20 + }, + { + "type": "ThrottleByUserIdRule", + "maxCount": 20 + }, + { + "type": "ThrottleByJwtCustomClaimRule", + "claimName": "claimName", + "maxCount": 20 + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false, + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false", + "socketIO": { + "serviceMode": "Serverless" + } + }, + "kind": "WebPubSub", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService", + "name": "myWebPubSubService", + "type": "Microsoft.SignalRService/WebPubSub", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ] + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_ListKeys.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_ListKeys.json new file mode 100644 index 000000000000..dd175cd14c34 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_ListKeys.json @@ -0,0 +1,13 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService" + }, + "responses": { + "200": { + "body": {} + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_ListReplicaSkus.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_ListReplicaSkus.json new file mode 100644 index 000000000000..1b5653146879 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_ListReplicaSkus.json @@ -0,0 +1,101 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService", + "replicaName": "myWebPubSubService-eastus" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.SignalRService/WebPubSub/replicas", + "sku": { + "name": "Free_F1", + "tier": "Free" + }, + "capacity": { + "minimum": 0, + "maximum": 1, + "default": 1, + "allowedValues": [ + 1 + ], + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.SignalRService/WebPubSub/replicas", + "sku": { + "name": "Standard_S1", + "tier": "Standard" + }, + "capacity": { + "minimum": 0, + "maximum": 100, + "default": 1, + "allowedValues": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90, + 100 + ], + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.SignalRService/WebPubSub/replicas", + "sku": { + "name": "Premium_P1", + "tier": "Standard" + }, + "capacity": { + "minimum": 0, + "maximum": 100, + "default": 1, + "allowedValues": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90, + 100 + ], + "scaleType": "Automatic" + } + } + ] + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_ListSkus.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_ListSkus.json new file mode 100644 index 000000000000..4212adfe1505 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_ListSkus.json @@ -0,0 +1,100 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService" + }, + "responses": { + "200": { + "body": { + "value": [ + { + "resourceType": "Microsoft.SignalRService/WebPubSub", + "sku": { + "name": "Free_F1", + "tier": "Free" + }, + "capacity": { + "minimum": 0, + "maximum": 1, + "default": 1, + "allowedValues": [ + 1 + ], + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.SignalRService/WebPubSub", + "sku": { + "name": "Standard_S1", + "tier": "Standard" + }, + "capacity": { + "minimum": 0, + "maximum": 100, + "default": 1, + "allowedValues": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90, + 100 + ], + "scaleType": "Manual" + } + }, + { + "resourceType": "Microsoft.SignalRService/WebPubSub/replicas", + "sku": { + "name": "Premium_P1", + "tier": "Standard" + }, + "capacity": { + "minimum": 0, + "maximum": 100, + "default": 1, + "allowedValues": [ + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 20, + 30, + 40, + 50, + 60, + 70, + 80, + 90, + 100 + ], + "scaleType": "Automatic" + } + } + ] + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_RegenerateKey.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_RegenerateKey.json new file mode 100644 index 000000000000..29e273fc5969 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_RegenerateKey.json @@ -0,0 +1,23 @@ +{ + "parameters": { + "parameters": { + "keyType": "Primary" + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService" + }, + "responses": { + "200": { + "body": {} + }, + "202": { + "body": {}, + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_Restart.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_Restart.json new file mode 100644 index 000000000000..fa8857cdaf0c --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_Restart.json @@ -0,0 +1,17 @@ +{ + "parameters": { + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService" + }, + "responses": { + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + }, + "204": {} + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_Update.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_Update.json new file mode 100644 index 000000000000..5df7abe167ec --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/examples/WebPubSub_Update.json @@ -0,0 +1,206 @@ +{ + "parameters": { + "parameters": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "capacity": 1 + }, + "properties": { + "tls": { + "clientCertEnabled": false + }, + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false, + "socketIO": { + "serviceMode": "Serverless" + } + }, + "kind": "WebPubSub", + "identity": { + "type": "SystemAssigned" + }, + "location": "eastus", + "tags": { + "key1": "value1" + } + }, + "api-version": "2024-04-01-preview", + "subscriptionId": "00000000-0000-0000-0000-000000000000", + "resourceGroupName": "myResourceGroup", + "resourceName": "myWebPubSubService" + }, + "responses": { + "200": { + "body": { + "sku": { + "name": "Premium_P1", + "tier": "Premium", + "size": "P1", + "capacity": 1 + }, + "properties": { + "provisioningState": "Succeeded", + "externalIP": "10.0.0.1", + "hostName": "mywebpubsubservice.webpubsub.azure.com", + "publicPort": 443, + "serverPort": 443, + "version": "1.0", + "privateEndpointConnections": [ + { + "properties": { + "provisioningState": "Succeeded", + "privateEndpoint": { + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint" + }, + "privateLinkServiceConnectionState": { + "status": "Approved", + "actionsRequired": "None" + } + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService/privateEndpointConnections/mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "type": "Microsoft.SignalRService/WebPubSub/privateEndpointConnections", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + ], + "tls": { + "clientCertEnabled": true + }, + "liveTraceConfiguration": { + "enabled": "false", + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "resourceLogConfiguration": { + "categories": [ + { + "name": "ConnectivityLogs", + "enabled": "true" + } + ] + }, + "networkACLs": { + "defaultAction": "Deny", + "publicNetwork": { + "allow": [ + "ClientConnection" + ] + }, + "privateEndpoints": [ + { + "name": "mywebpubsubservice.1fa229cd-bf3f-47f0-8c49-afb36723997e", + "allow": [ + "ServerConnection" + ] + } + ], + "ipRules": [ + { + "value": "123.456.789.123/24", + "action": "Allow" + }, + { + "value": "123.456.789.123", + "action": "Allow" + }, + { + "value": "AppService", + "action": "Allow" + } + ] + }, + "applicationFirewall": { + "clientConnectionCountRules": [ + { + "type": "ThrottleByJwtSignatureRule", + "maxCount": 20 + }, + { + "type": "ThrottleByUserIdRule", + "maxCount": 20 + }, + { + "type": "ThrottleByJwtCustomClaimRule", + "claimName": "claimName", + "maxCount": 20 + } + ] + }, + "publicNetworkAccess": "Enabled", + "disableLocalAuth": false, + "disableAadAuth": false, + "regionEndpointEnabled": "Enabled", + "resourceStopped": "false", + "socketIO": { + "serviceMode": "Serverless" + } + }, + "kind": "WebPubSub", + "identity": { + "type": "SystemAssigned", + "principalId": "00000000-0000-0000-0000-000000000000", + "tenantId": "00000000-0000-0000-0000-000000000000" + }, + "location": "eastus", + "tags": { + "key1": "value1" + }, + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/myResourceGroup/providers/Microsoft.SignalRService/WebPubSub/myWebPubSubService", + "name": "myWebPubSubService", + "type": "Microsoft.SignalRService/WebPubSub", + "systemData": { + "createdBy": "string", + "createdByType": "User", + "createdAt": "2015-02-03T04:05:06Z", + "lastModifiedBy": "string", + "lastModifiedByType": "User", + "lastModifiedAt": "2015-02-03T04:05:06Z" + } + } + }, + "202": { + "headers": { + "Location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationResult...", + "Azure-AsyncOperation": "https://management.azure.com/subscriptions/subid/providers/Microsoft.SignalRService/...pathToOperationStatus..." + } + } + } +} diff --git a/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/webpubsub.json b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/webpubsub.json new file mode 100644 index 000000000000..bf744125d0a4 --- /dev/null +++ b/specification/webpubsub/resource-manager/Microsoft.SignalRService/preview/2024-04-01-preview/webpubsub.json @@ -0,0 +1,4125 @@ +{ + "swagger": "2.0", + "info": { + "title": "WebPubSubManagementClient", + "description": "REST API for Azure WebPubSub Service", + "version": "2024-04-01-preview" + }, + "paths": { + "/providers/Microsoft.SignalRService/operations": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "Lists all of the available REST API operations of the Microsoft.SignalRService provider.", + "operationId": "Operations_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the list of operations.", + "schema": { + "$ref": "#/definitions/OperationList" + } + }, + "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" + }, + "x-ms-examples": { + "Operations_List": { + "$ref": "./examples/Operations_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/checkNameAvailability": { + "post": { + "tags": [ + "WebPubSub" + ], + "description": "Checks that the resource name is valid and is not already in use.", + "operationId": "WebPubSub_CheckNameAvailability", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "location", + "description": "the region", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "parameters", + "description": "Parameters supplied to the operation.", + "required": true, + "schema": { + "$ref": "#/definitions/NameAvailabilityParameters" + } + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the name availability.", + "schema": { + "$ref": "#/definitions/NameAvailability" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "WebPubSub_CheckNameAvailability": { + "$ref": "./examples/WebPubSub_CheckNameAvailability.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/locations/{location}/usages": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "List resource usage quotas by location.", + "operationId": "Usages_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "location", + "description": "the location like \"eastus\"", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the usage quotas of a subscription in specified region.", + "schema": { + "$ref": "#/definitions/SignalRServiceUsageList" + } + }, + "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" + }, + "x-ms-examples": { + "Usages_List": { + "$ref": "./examples/Usages_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/providers/Microsoft.SignalRService/webPubSub": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "Handles requests to list all resources in a subscription.", + "operationId": "WebPubSub_ListBySubscription", + "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. The response describes the list of resources in the subscription.", + "schema": { + "$ref": "#/definitions/WebPubSubResourceList" + } + }, + "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" + }, + "x-ms-examples": { + "WebPubSub_ListBySubscription": { + "$ref": "./examples/WebPubSub_ListBySubscription.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "Handles requests to list all resources in a resource group.", + "operationId": "WebPubSub_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. The response describes the list of resources in a resourceGroup.", + "schema": { + "$ref": "#/definitions/WebPubSubResourceList" + } + }, + "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" + }, + "x-ms-examples": { + "WebPubSub_ListByResourceGroup": { + "$ref": "./examples/WebPubSub_ListByResourceGroup.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "Get the resource and its properties.", + "operationId": "WebPubSub_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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding resource.", + "schema": { + "$ref": "#/definitions/WebPubSubResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "WebPubSub_Get": { + "$ref": "./examples/WebPubSub_Get.json" + } + } + }, + "put": { + "tags": [ + "WebPubSub" + ], + "description": "Create or update a resource.", + "operationId": "WebPubSub_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "parameters", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/WebPubSubResource" + } + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a resource.", + "schema": { + "$ref": "#/definitions/WebPubSubResource" + } + }, + "201": { + "description": "Created. The response describes the new resource and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/WebPubSubResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting resource is now updating and contains a Location header to query the operation result.." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "WebPubSub_CreateOrUpdate": { + "$ref": "./examples/WebPubSub_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "WebPubSub" + ], + "description": "Operation to delete a resource.", + "operationId": "WebPubSub_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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is already deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the resource is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "WebPubSub_Delete": { + "$ref": "./examples/WebPubSub_Delete.json" + } + } + }, + "patch": { + "tags": [ + "WebPubSub" + ], + "description": "Operation to update an exiting resource.", + "operationId": "WebPubSub_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "parameters", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/WebPubSubResource" + } + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a resource.", + "schema": { + "$ref": "#/definitions/WebPubSubResource" + } + }, + "202": { + "description": "Accepted. The response indicates the exiting resource is now updating and contains a Location header to query the operation result..", + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "WebPubSub_Update": { + "$ref": "./examples/WebPubSub_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/customCertificates": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "List all custom certificates.", + "operationId": "WebPubSubCustomCertificates_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes custom certificates of the resource.", + "schema": { + "$ref": "#/definitions/CustomCertificateList" + } + }, + "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" + }, + "x-ms-examples": { + "WebPubSubCustomCertificates_List": { + "$ref": "./examples/WebPubSubCustomCertificates_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/customCertificates/{certificateName}": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "Get a custom certificate.", + "operationId": "WebPubSubCustomCertificates_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "certificateName", + "description": "Custom certificate name", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the corresponding custom certificate.", + "schema": { + "$ref": "#/definitions/CustomCertificate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "WebPubSubCustomCertificates_Get": { + "$ref": "./examples/WebPubSubCustomCertificates_Get.json" + } + } + }, + "put": { + "tags": [ + "WebPubSub" + ], + "description": "Create or update a custom certificate.", + "operationId": "WebPubSubCustomCertificates_CreateOrUpdate", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "certificateName", + "description": "Custom certificate name", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "", + "required": true, + "schema": { + "$ref": "#/definitions/CustomCertificate" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes the certificate.", + "schema": { + "$ref": "#/definitions/CustomCertificate" + } + }, + "201": { + "description": "Created. The response describes the certificate.", + "schema": { + "$ref": "#/definitions/CustomCertificate" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "WebPubSubCustomCertificates_CreateOrUpdate": { + "$ref": "./examples/WebPubSubCustomCertificates_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "WebPubSub" + ], + "description": "Delete a custom certificate.", + "operationId": "WebPubSubCustomCertificates_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "certificateName", + "description": "Custom certificate name", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success." + }, + "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": { + "WebPubSubCustomCertificates_Delete": { + "$ref": "./examples/WebPubSubCustomCertificates_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/customDomains": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "List all custom domains.", + "operationId": "WebPubSubCustomDomains_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes custom domains of the resource.", + "schema": { + "$ref": "#/definitions/CustomDomainList" + } + }, + "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" + }, + "x-ms-examples": { + "WebPubSubCustomDomains_List": { + "$ref": "./examples/WebPubSubCustomDomains_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/customDomains/{name}": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "Get a custom domain.", + "operationId": "WebPubSubCustomDomains_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "name", + "description": "Custom domain name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the corresponding custom domain.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "WebPubSubCustomDomains_Get": { + "$ref": "./examples/WebPubSubCustomDomains_Get.json" + } + } + }, + "put": { + "tags": [ + "WebPubSub" + ], + "description": "Create or update a custom domain.", + "operationId": "WebPubSubCustomDomains_CreateOrUpdate", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "name", + "description": "Custom domain name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "", + "required": true, + "schema": { + "$ref": "#/definitions/CustomDomain" + } + } + ], + "responses": { + "201": { + "description": "Created. The response describes the custom domain and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/CustomDomain" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "WebPubSubCustomDomains_CreateOrUpdate": { + "$ref": "./examples/WebPubSubCustomDomains_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "WebPubSub" + ], + "description": "Delete a custom domain.", + "operationId": "WebPubSubCustomDomains_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "in": "path", + "name": "name", + "description": "Custom domain name.", + "required": true, + "type": "string" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the custom domain is deleted." + }, + "202": { + "description": "Accepted. The response indicates the operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the custom domain is deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "WebPubSubCustomDomains_Delete": { + "$ref": "./examples/WebPubSubCustomDomains_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/hubs": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "List hub settings.", + "operationId": "WebPubSubHubs_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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes hub settings of the resource.", + "schema": { + "$ref": "#/definitions/WebPubSubHubList" + } + }, + "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" + }, + "x-ms-examples": { + "WebPubSubHubs_List": { + "$ref": "./examples/WebPubSubHubs_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/hubs/{hubName}": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "Get a hub setting.", + "operationId": "WebPubSubHubs_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hubName", + "description": "The hub name.", + "required": true, + "type": "string" + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describe the corresponding hub setting.", + "schema": { + "$ref": "#/definitions/WebPubSubHub" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "WebPubSubHubs_Get": { + "$ref": "./examples/WebPubSubHubs_Get.json" + } + } + }, + "put": { + "tags": [ + "WebPubSub" + ], + "description": "Create or update a hub setting.", + "operationId": "WebPubSubHubs_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "path", + "name": "hubName", + "description": "The hub name.", + "required": true, + "type": "string" + }, + { + "in": "body", + "name": "parameters", + "description": "The resource of WebPubSubHub and its properties", + "required": true, + "schema": { + "$ref": "#/definitions/WebPubSubHub" + } + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "OK.The request makes no change. The response describes the existing hub setting.", + "schema": { + "$ref": "#/definitions/WebPubSubHub" + } + }, + "201": { + "description": "Created. The response describes the hub setting and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/WebPubSubHub" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "WebPubSubHubs_CreateOrUpdate": { + "$ref": "./examples/WebPubSubHubs_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "WebPubSub" + ], + "description": "Delete a hub setting.", + "operationId": "WebPubSubHubs_Delete", + "parameters": [ + { + "in": "path", + "name": "hubName", + "description": "The hub name.", + "required": true, + "type": "string" + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "OK." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the hub setting is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "WebPubSubHubs_Delete": { + "$ref": "./examples/WebPubSubHubs_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/listKeys": { + "post": { + "tags": [ + "WebPubSub" + ], + "description": "Get the access keys of the resource.", + "operationId": "WebPubSub_ListKeys", + "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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes access keys of the resource.", + "schema": { + "$ref": "#/definitions/WebPubSubKeys" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "WebPubSub_ListKeys": { + "$ref": "./examples/WebPubSub_ListKeys.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/privateEndpointConnections": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "List private endpoint connections", + "operationId": "WebPubSubPrivateEndpointConnections_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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of private endpoint connections.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnectionList" + } + }, + "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" + }, + "x-ms-examples": { + "WebPubSubPrivateEndpointConnections_List": { + "$ref": "./examples/WebPubSubPrivateEndpointConnections_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "Get the specified private endpoint connection", + "operationId": "WebPubSubPrivateEndpointConnections_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a private endpoint connection.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "WebPubSubPrivateEndpointConnections_Get": { + "$ref": "./examples/WebPubSubPrivateEndpointConnections_Get.json" + } + } + }, + "put": { + "tags": [ + "WebPubSub" + ], + "description": "Update the state of specified private endpoint connection", + "operationId": "WebPubSubPrivateEndpointConnections_Update", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "in": "body", + "name": "parameters", + "description": "The resource of private endpoint and its properties", + "required": true, + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "OK. The response indicates the private endpoint connection is updated successfully.", + "schema": { + "$ref": "#/definitions/PrivateEndpointConnection" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "WebPubSubPrivateEndpointConnections_Update": { + "$ref": "./examples/WebPubSubPrivateEndpointConnections_Update.json" + } + } + }, + "delete": { + "tags": [ + "WebPubSub" + ], + "description": "Delete the specified private endpoint connection", + "operationId": "WebPubSubPrivateEndpointConnections_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v4/privatelinks.json#/parameters/PrivateEndpointConnectionName" + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is already deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the private endpoint connection is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "WebPubSubPrivateEndpointConnections_Delete": { + "$ref": "./examples/WebPubSubPrivateEndpointConnections_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/privateLinkResources": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "Get the private link resources that need to be created for a resource.", + "operationId": "WebPubSubPrivateLinkResources_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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of private link resources.", + "schema": { + "$ref": "#/definitions/PrivateLinkResourceList" + } + }, + "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" + }, + "x-ms-examples": { + "WebPubSubPrivateLinkResources_List": { + "$ref": "./examples/WebPubSubPrivateLinkResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/regenerateKey": { + "post": { + "tags": [ + "WebPubSub" + ], + "description": "Regenerate the access key for the resource. PrimaryKey and SecondaryKey cannot be regenerated at the same time.", + "operationId": "WebPubSub_RegenerateKey", + "produces": [ + "application/json" + ], + "parameters": [ + { + "in": "body", + "name": "parameters", + "description": "Parameter that describes the Regenerate Key Operation.", + "required": true, + "schema": { + "$ref": "#/definitions/RegenerateKeyParameters" + } + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success", + "schema": { + "$ref": "#/definitions/WebPubSubKeys" + } + }, + "202": { + "description": "Accepted and an async operation is executing in background to make the new key to take effect. The response contains new access keys and a Location header to query the async operation result.", + "schema": { + "$ref": "#/definitions/WebPubSubKeys" + }, + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "WebPubSub_RegenerateKey": { + "$ref": "./examples/WebPubSub_RegenerateKey.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/replicas": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "List all replicas belong to this resource", + "operationId": "WebPubSubReplicas_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes replicas of the resource.", + "schema": { + "$ref": "#/definitions/ReplicaList" + } + }, + "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" + }, + "x-ms-examples": { + "WebPubSubReplicas_List": { + "$ref": "./examples/WebPubSubReplicas_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/replicas/{replicaName}": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "Get the replica and its properties.", + "operationId": "WebPubSubReplicas_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes the corresponding replica.", + "schema": { + "$ref": "#/definitions/Replica" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "WebPubSubReplicas_Get": { + "$ref": "./examples/WebPubSubReplicas_Get.json" + } + } + }, + "put": { + "tags": [ + "WebPubSub" + ], + "description": "Create or update a replica.", + "operationId": "WebPubSubReplicas_CreateOrUpdate", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "Parameters for the create or update operation", + "required": true, + "schema": { + "$ref": "#/definitions/Replica" + } + } + ], + "responses": { + "200": { + "description": "Updated. The response describes a replica.", + "schema": { + "$ref": "#/definitions/Replica" + } + }, + "201": { + "description": "Created. The response describes the new replica and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/Replica" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "WebPubSubReplicas_CreateOrUpdate": { + "$ref": "./examples/WebPubSubReplicas_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "WebPubSub" + ], + "description": "Operation to delete a replica.", + "operationId": "WebPubSubReplicas_Delete", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the replica is deleted." + }, + "204": { + "description": "Success. The response indicates the replica is deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "WebPubSubReplicas_Delete": { + "$ref": "./examples/WebPubSubReplicas_Delete.json" + } + } + }, + "patch": { + "tags": [ + "WebPubSub" + ], + "description": "Operation to update an exiting replica.", + "operationId": "WebPubSubReplicas_Update", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "Parameters for the update operation", + "required": true, + "schema": { + "$ref": "#/definitions/Replica" + } + } + ], + "responses": { + "200": { + "description": "Success. The response describes a replica.", + "schema": { + "$ref": "#/definitions/Replica" + } + }, + "202": { + "description": "Updated. The response describes the new replica and contains a Location header to query the operation result.", + "schema": { + "$ref": "#/definitions/Replica" + }, + "headers": { + "Location": { + "type": "string" + } + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "WebPubSubReplicas_Update": { + "$ref": "./examples/WebPubSubReplicas_Update.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/replicas/{replicaName}/restart": { + "post": { + "tags": [ + "WebPubSub" + ], + "description": "Operation to restart a replica.", + "operationId": "WebPubSubReplicas_Restart", + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the restart operation is performed in the background.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Success. The response indicates the operation is successful and no content will be returned." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "WebPubSubReplicas_Restart": { + "$ref": "./examples/WebPubSubReplicas_Restart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/replicas/{replicaName}/sharedPrivateLinkResources": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "List shared private link resources", + "operationId": "WebPubSubReplicaSharedPrivateLinkResources_List", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of shared private link resources.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResourceList" + } + }, + "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" + }, + "x-ms-examples": { + "WebPubSubReplicaSharedPrivateLinkResources_List": { + "$ref": "./examples/WebPubSubReplicaSharedPrivateLinkResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/replicas/{replicaName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "Get the specified shared private link resource", + "operationId": "WebPubSubReplicaSharedPrivateLinkResources_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a shared private link resource.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "WebPubSubReplicaSharedPrivateLinkResources_Get": { + "$ref": "./examples/WebPubSubReplicaSharedPrivateLinkResources_Get.json" + } + } + }, + "put": { + "tags": [ + "WebPubSub" + ], + "description": "Create or update a shared private link resource", + "operationId": "WebPubSubReplicaSharedPrivateLinkResources_CreateOrUpdate", + "consumes": [ + "application/json", + "text/json" + ], + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "#/parameters/SharedPrivateLinkResourceName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + }, + { + "in": "body", + "name": "parameters", + "description": "The shared private link resource", + "required": true, + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + } + ], + "responses": { + "200": { + "description": "OK. The response indicates the shared private link resource is updated.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "201": { + "description": "Created. The response indicates the shared private link resource is created.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "WebPubSubReplicaSharedPrivateLinkResources_CreateOrUpdate": { + "$ref": "./examples/WebPubSubReplicaSharedPrivateLinkResources_CreateOrUpdate.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/replicas/{replicaName}/skus": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "List all available skus of the replica resource.", + "operationId": "WebPubSub_ListReplicaSkus", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/SubscriptionIdParameter" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ResourceGroupNameParameter" + }, + { + "$ref": "#/parameters/ResourceName" + }, + { + "$ref": "#/parameters/ReplicaName" + }, + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/parameters/ApiVersionParameter" + } + ], + "responses": { + "200": { + "description": "Success. The response describes all available skus of the replica resource.", + "schema": { + "$ref": "#/definitions/SkuList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "WebPubSub_ListReplicaSkus": { + "$ref": "./examples/WebPubSub_ListReplicaSkus.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/restart": { + "post": { + "tags": [ + "WebPubSub" + ], + "description": "Operation to restart a resource.", + "operationId": "WebPubSub_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/ResourceName" + } + ], + "responses": { + "202": { + "description": "Accepted. The response indicates the restart operation is performed in the background.", + "headers": { + "Location": { + "type": "string" + } + } + }, + "204": { + "description": "Success. The response indicates the operation is successful and no content will be returned." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "WebPubSub_Restart": { + "$ref": "./examples/WebPubSub_Restart.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/sharedPrivateLinkResources": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "List shared private link resources", + "operationId": "WebPubSubSharedPrivateLinkResources_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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a list of shared private link resources.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResourceList" + } + }, + "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" + }, + "x-ms-examples": { + "WebPubSubSharedPrivateLinkResources_List": { + "$ref": "./examples/WebPubSubSharedPrivateLinkResources_List.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/sharedPrivateLinkResources/{sharedPrivateLinkResourceName}": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "Get the specified shared private link resource", + "operationId": "WebPubSubSharedPrivateLinkResources_Get", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SharedPrivateLinkResourceName" + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes a shared private link resource.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "WebPubSubSharedPrivateLinkResources_Get": { + "$ref": "./examples/WebPubSubSharedPrivateLinkResources_Get.json" + } + } + }, + "put": { + "tags": [ + "WebPubSub" + ], + "description": "Create or update a shared private link resource", + "operationId": "WebPubSubSharedPrivateLinkResources_CreateOrUpdate", + "produces": [ + "application/json" + ], + "parameters": [ + { + "$ref": "#/parameters/SharedPrivateLinkResourceName" + }, + { + "in": "body", + "name": "parameters", + "description": "The shared private link resource", + "required": true, + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "OK. The response indicates the shared private link resource is updated.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "201": { + "description": "Created. The response indicates the shared private link resource is created.", + "schema": { + "$ref": "#/definitions/SharedPrivateLinkResource" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "azure-async-operation" + }, + "x-ms-examples": { + "WebPubSubSharedPrivateLinkResources_CreateOrUpdate": { + "$ref": "./examples/WebPubSubSharedPrivateLinkResources_CreateOrUpdate.json" + } + } + }, + "delete": { + "tags": [ + "WebPubSub" + ], + "description": "Delete the specified shared private link resource", + "operationId": "WebPubSubSharedPrivateLinkResources_Delete", + "parameters": [ + { + "$ref": "#/parameters/SharedPrivateLinkResourceName" + }, + { + "$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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response indicates the resource is already deleted." + }, + "202": { + "description": "Accepted. The response indicates the delete operation is performed in the background." + }, + "204": { + "description": "Success. The response indicates the private endpoint connection is already deleted." + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-long-running-operation": true, + "x-ms-long-running-operation-options": { + "final-state-via": "location" + }, + "x-ms-examples": { + "WebPubSubSharedPrivateLinkResources_Delete": { + "$ref": "./examples/WebPubSubSharedPrivateLinkResources_Delete.json" + } + } + } + }, + "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.SignalRService/webPubSub/{resourceName}/skus": { + "get": { + "tags": [ + "WebPubSub" + ], + "description": "List all available skus of the resource.", + "operationId": "WebPubSub_ListSkus", + "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/ResourceName" + } + ], + "responses": { + "200": { + "description": "Success. The response describes all available skus of the resource.", + "schema": { + "$ref": "#/definitions/SkuList" + } + }, + "default": { + "description": "Error response describing why the operation failed.", + "schema": { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ErrorResponse" + } + } + }, + "x-ms-examples": { + "WebPubSub_ListSkus": { + "$ref": "./examples/WebPubSub_ListSkus.json" + } + } + } + } + }, + "definitions": { + "ACLAction": { + "description": "Azure Networking ACL Action.", + "enum": [ + "Allow", + "Deny" + ], + "type": "string", + "x-ms-enum": { + "name": "ACLAction", + "modelAsString": true + } + }, + "ApplicationFirewallSettings": { + "description": "Application firewall settings for the resource", + "type": "object", + "properties": { + "clientConnectionCountRules": { + "description": "Rules to control the client connection count", + "maxItems": 10, + "type": "array", + "items": { + "$ref": "#/definitions/ClientConnectionCountRule" + }, + "x-ms-identifiers": [] + } + } + }, + "ClientConnectionCountRule": { + "description": "A base class for client connection count rules", + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "enum": [ + "ThrottleByJwtSignatureRule", + "ThrottleByUserIdRule", + "ThrottleByJwtCustomClaimRule" + ], + "type": "string", + "x-ms-enum": { + "name": "ClientConnectionCountRuleDiscriminator", + "modelAsString": true + } + } + }, + "discriminator": "type" + }, + "CustomCertificate": { + "description": "A custom certificate.", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomCertificateProperties" + } + } + }, + "CustomCertificateList": { + "description": "Custom certificates list.", + "type": "object", + "properties": { + "value": { + "description": "List of custom certificates of this resource.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomCertificate" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "CustomCertificateProperties": { + "description": "Custom certificate properties.", + "required": [ + "keyVaultBaseUri", + "keyVaultSecretName" + ], + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "keyVaultBaseUri": { + "description": "Base uri of the KeyVault that stores certificate.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "keyVaultSecretName": { + "description": "Certificate secret name.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + }, + "keyVaultSecretVersion": { + "description": "Certificate secret version.", + "type": "string", + "x-ms-mutability": [ + "read", + "create" + ] + } + } + }, + "CustomDomain": { + "description": "A custom domain", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/CustomDomainProperties" + } + } + }, + "CustomDomainList": { + "description": "Custom domains list", + "type": "object", + "properties": { + "value": { + "description": "List of custom domains that bind to this resource.", + "type": "array", + "items": { + "$ref": "#/definitions/CustomDomain" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "CustomDomainProperties": { + "description": "Properties of a custom domain.", + "required": [ + "customCertificate", + "domainName" + ], + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "domainName": { + "description": "The custom domain name.", + "type": "string" + }, + "customCertificate": { + "$ref": "#/definitions/ResourceReference" + } + } + }, + "Dimension": { + "description": "Specifications of the Dimension of metrics.", + "type": "object", + "properties": { + "name": { + "description": "The public facing name of the dimension.", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the dimension.", + "type": "string" + }, + "internalName": { + "description": "Name of the dimension as it appears in MDM.", + "type": "string" + }, + "toBeExportedForShoebox": { + "description": "A Boolean flag indicating whether this dimension should be included for the shoebox export scenario.", + "type": "boolean" + } + } + }, + "EventHandler": { + "description": "Properties of event handler.", + "required": [ + "urlTemplate" + ], + "type": "object", + "properties": { + "urlTemplate": { + "description": "Gets or sets the EventHandler URL template. You can use a predefined parameter {hub} and {event} inside the template, the value of the EventHandler URL is dynamically calculated when the client request comes in.\r\nFor example, UrlTemplate can be `http://example.com/api/{hub}/{event}`. The host part can't contains parameters.", + "type": "string" + }, + "userEventPattern": { + "description": "Gets or sets the matching pattern for event names.\r\nThere are 3 kinds of patterns supported:\r\n 1. \"*\", it matches any event name\r\n 2. Combine multiple events with \",\", for example \"event1,event2\", it matches event \"event1\" and \"event2\"\r\n 3. A single event name, for example, \"event1\", it matches \"event1\"", + "type": "string" + }, + "systemEvents": { + "description": "Gets or sets the list of system events.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "auth": { + "$ref": "#/definitions/UpstreamAuthSettings" + } + } + }, + "EventHubEndpoint": { + "description": "An Event Hub endpoint. \r\nThe managed identity of Web PubSub service must be enabled, and the identity should have the \"Azure Event Hubs Data sender\" role to access Event Hub.", + "required": [ + "eventHubName", + "fullyQualifiedNamespace" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventListenerEndpoint" + } + ], + "properties": { + "fullyQualifiedNamespace": { + "description": "The fully qualified namespace name of the Event Hub resource. For example, \"example.servicebus.windows.net\".", + "type": "string" + }, + "eventHubName": { + "description": "The name of the Event Hub.", + "type": "string" + } + }, + "x-ms-discriminator-value": "EventHub" + }, + "EventListener": { + "description": "A setting defines which kinds of events should be sent to which endpoint.", + "required": [ + "endpoint", + "filter" + ], + "type": "object", + "properties": { + "filter": { + "$ref": "#/definitions/EventListenerFilter" + }, + "endpoint": { + "$ref": "#/definitions/EventListenerEndpoint" + } + } + }, + "EventListenerEndpoint": { + "description": "An endpoint specifying where Web PubSub should send events to.", + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "enum": [ + "EventHub" + ], + "type": "string", + "x-ms-enum": { + "name": "EventListenerEndpointDiscriminator", + "modelAsString": true + } + } + }, + "discriminator": "type" + }, + "EventListenerFilter": { + "description": "A base class for event filter which determines whether an event should be sent to an event listener.", + "required": [ + "type" + ], + "type": "object", + "properties": { + "type": { + "enum": [ + "EventName" + ], + "type": "string", + "x-ms-enum": { + "name": "EventListenerFilterDiscriminator", + "modelAsString": true + } + } + }, + "discriminator": "type" + }, + "EventNameFilter": { + "description": "Filter events by their name.", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/EventListenerFilter" + } + ], + "properties": { + "systemEvents": { + "description": "Gets or sets a list of system events. Supported events: \"connected\" and \"disconnected\". Blocking event \"connect\" is not supported because it requires a response.", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "userEventPattern": { + "description": "Gets or sets a matching pattern for event names.\r\nThere are 3 kinds of patterns supported:\r\n 1. \"*\", it matches any event name\r\n 2. Combine multiple events with \",\", for example \"event1,event2\", it matches events \"event1\" and \"event2\"\r\n 3. A single event name, for example, \"event1\", it matches \"event1\"", + "type": "string" + } + }, + "x-ms-discriminator-value": "EventName" + }, + "IPRule": { + "description": "An IP rule", + "type": "object", + "properties": { + "value": { + "description": "An IP or CIDR or ServiceTag", + "type": "string" + }, + "action": { + "$ref": "#/definitions/ACLAction" + } + } + }, + "KeyType": { + "description": "The type of access key.", + "enum": [ + "Primary", + "Secondary", + "Salt" + ], + "type": "string", + "x-ms-enum": { + "name": "KeyType", + "modelAsString": true + } + }, + "LiveTraceCategory": { + "description": "Live trace category configuration of a Microsoft.SignalRService resource.", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the live trace category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive.", + "type": "string" + }, + "enabled": { + "description": "Indicates whether or the live trace category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive.", + "type": "string" + } + } + }, + "LiveTraceConfiguration": { + "description": "Live trace configuration of a Microsoft.SignalRService resource.", + "type": "object", + "properties": { + "enabled": { + "description": "Indicates whether or not enable live trace.\r\nWhen it's set to true, live trace client can connect to the service.\r\nOtherwise, live trace client can't connect to the service, so that you are unable to receive any log, no matter what you configure in \"categories\".\r\nAvailable values: true, false.\r\nCase insensitive.", + "default": "false", + "type": "string" + }, + "categories": { + "description": "Gets or sets the list of category configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/LiveTraceCategory" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "LogSpecification": { + "description": "Specifications of the Logs for Azure Monitoring.", + "type": "object", + "properties": { + "name": { + "description": "Name of the log.", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the log.", + "type": "string" + } + } + }, + "ManagedIdentity": { + "description": "A class represent managed identities used for request and response", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/ManagedIdentityType" + }, + "userAssignedIdentities": { + "description": "Get or set the user assigned identities", + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/UserAssignedIdentityProperty" + } + }, + "principalId": { + "description": "Get the principal id for the system assigned identity.\r\nOnly be used in response.", + "type": "string", + "readOnly": true + }, + "tenantId": { + "description": "Get the tenant id for the system assigned identity.\r\nOnly be used in response", + "type": "string", + "readOnly": true + } + } + }, + "ManagedIdentitySettings": { + "description": "Managed identity settings for upstream.", + "type": "object", + "properties": { + "resource": { + "description": "The Resource indicating the App ID URI of the target resource.\r\nIt also appears in the aud (audience) claim of the issued token.", + "type": "string" + } + } + }, + "ManagedIdentityType": { + "description": "Represents the identity type: systemAssigned, userAssigned, None", + "enum": [ + "None", + "SystemAssigned", + "UserAssigned" + ], + "type": "string", + "x-ms-enum": { + "name": "ManagedIdentityType", + "modelAsString": true + } + }, + "MetricSpecification": { + "description": "Specifications of the Metrics for Azure Monitoring.", + "type": "object", + "properties": { + "name": { + "description": "Name of the metric.", + "type": "string" + }, + "displayName": { + "description": "Localized friendly display name of the metric.", + "type": "string" + }, + "displayDescription": { + "description": "Localized friendly description of the metric.", + "type": "string" + }, + "unit": { + "description": "The unit that makes sense for the metric.", + "type": "string" + }, + "aggregationType": { + "description": "Only provide one value for this field. Valid values: Average, Minimum, Maximum, Total, Count.", + "type": "string" + }, + "fillGapWithZero": { + "description": "Optional. If set to true, then zero will be returned for time duration where no metric is emitted/published. \r\nEx. a metric that returns the number of times a particular error code was emitted. The error code may not appear \r\noften, instead of the RP publishing 0, Shoebox can auto fill in 0s for time periods where nothing was emitted.", + "type": "string" + }, + "category": { + "description": "The name of the metric category that the metric belongs to. A metric can only belong to a single category.", + "type": "string" + }, + "dimensions": { + "description": "The dimensions of the metrics.", + "type": "array", + "items": { + "$ref": "#/definitions/Dimension" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "NameAvailability": { + "description": "Result of the request to check name availability. It contains a flag and possible reason of failure.", + "type": "object", + "properties": { + "nameAvailable": { + "description": "Indicates whether the name is available or not.", + "type": "boolean" + }, + "reason": { + "description": "The reason of the availability. Required if name is not available.", + "type": "string" + }, + "message": { + "description": "The message of the operation.", + "type": "string" + } + } + }, + "NameAvailabilityParameters": { + "description": "Data POST-ed to the nameAvailability action", + "required": [ + "name", + "type" + ], + "type": "object", + "properties": { + "type": { + "description": "The resource type. Can be \"Microsoft.SignalRService/SignalR\", \"Microsoft.SignalRService/WebPubSub\", \"Microsoft.SignalRService/SignalR/replicas\" or \"Microsoft.SignalRService/WebPubSub/replicas\"", + "type": "string" + }, + "name": { + "description": "The resource name to validate. e.g.\"my-resource-name\"", + "type": "string" + } + } + }, + "NetworkACL": { + "description": "Network ACL", + "type": "object", + "properties": { + "allow": { + "description": "Allowed request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.", + "type": "array", + "items": { + "$ref": "#/definitions/WebPubSubRequestType" + }, + "x-ms-identifiers": [] + }, + "deny": { + "description": "Denied request types. The value can be one or more of: ClientConnection, ServerConnection, RESTAPI.", + "type": "array", + "items": { + "$ref": "#/definitions/WebPubSubRequestType" + }, + "x-ms-identifiers": [] + } + } + }, + "Operation": { + "description": "REST API operation supported by resource provider.", + "type": "object", + "properties": { + "name": { + "description": "Name of the operation with format: {provider}/{resource}/{operation}", + "type": "string" + }, + "isDataAction": { + "description": "If the operation is a data action. (for data plane rbac)", + "type": "boolean" + }, + "display": { + "$ref": "#/definitions/OperationDisplay" + }, + "origin": { + "description": "Optional. The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX.", + "type": "string" + }, + "properties": { + "x-ms-client-flatten": false, + "$ref": "#/definitions/OperationProperties" + } + } + }, + "OperationDisplay": { + "description": "The object that describes a 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": "The localized friendly name for the operation.", + "type": "string" + }, + "description": { + "description": "The localized friendly description for the operation", + "type": "string" + } + } + }, + "OperationList": { + "description": "Result of the request to list REST API operations. It contains a list of operations.", + "type": "object", + "properties": { + "value": { + "description": "List of operations supported by the resource provider.", + "type": "array", + "items": { + "$ref": "#/definitions/Operation" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "OperationProperties": { + "description": "Extra Operation properties.", + "type": "object", + "properties": { + "serviceSpecification": { + "$ref": "#/definitions/ServiceSpecification" + } + } + }, + "PrivateEndpoint": { + "description": "Private endpoint", + "type": "object", + "properties": { + "id": { + "description": "Full qualified Id of the private endpoint", + "type": "string" + } + } + }, + "PrivateEndpointACL": { + "description": "ACL for a private endpoint", + "required": [ + "name" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/NetworkACL" + } + ], + "properties": { + "name": { + "description": "Name of the private endpoint connection", + "type": "string" + } + } + }, + "PrivateEndpointConnection": { + "description": "A private endpoint connection to an azure resource", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateEndpointConnectionProperties" + } + } + }, + "PrivateEndpointConnectionList": { + "description": "A list of private endpoint connections", + "type": "object", + "properties": { + "value": { + "description": "The list of the private endpoint connections", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size.", + "type": "string" + } + } + }, + "PrivateEndpointConnectionProperties": { + "description": "Private endpoint connection properties", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "privateEndpoint": { + "$ref": "#/definitions/PrivateEndpoint" + }, + "groupIds": { + "description": "Group IDs", + "type": "array", + "items": { + "type": "string" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "privateLinkServiceConnectionState": { + "$ref": "#/definitions/PrivateLinkServiceConnectionState" + } + } + }, + "PrivateLinkResource": { + "description": "Private link resource", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/PrivateLinkResourceProperties" + } + } + }, + "PrivateLinkResourceList": { + "description": "Contains a list of PrivateLinkResource and a possible link to query more results", + "type": "object", + "properties": { + "value": { + "description": "List of PrivateLinkResource", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateLinkResource" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "PrivateLinkResourceProperties": { + "description": "Private link resource properties", + "type": "object", + "properties": { + "groupId": { + "description": "Group Id of the private link resource", + "type": "string" + }, + "requiredMembers": { + "description": "Required members of the private link resource", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "requiredZoneNames": { + "description": "Required private DNS zone names", + "type": "array", + "items": { + "type": "string" + }, + "x-ms-identifiers": [] + }, + "shareablePrivateLinkResourceTypes": { + "description": "The list of resources that are onboarded to private link service", + "type": "array", + "items": { + "$ref": "#/definitions/ShareablePrivateLinkResourceType" + }, + "x-ms-identifiers": [] + } + } + }, + "PrivateLinkServiceConnectionState": { + "description": "Connection state of the private endpoint connection", + "type": "object", + "properties": { + "status": { + "$ref": "#/definitions/PrivateLinkServiceConnectionStatus" + }, + "description": { + "description": "The reason for approval/rejection of the connection.", + "type": "string" + }, + "actionsRequired": { + "description": "A message indicating if changes on the service provider require any updates on the consumer.", + "type": "string" + } + } + }, + "PrivateLinkServiceConnectionStatus": { + "description": "Indicates whether the connection has been Approved/Rejected/Removed by the owner of the service.", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected" + ], + "type": "string", + "x-ms-enum": { + "name": "PrivateLinkServiceConnectionStatus", + "modelAsString": true + } + }, + "ProvisioningState": { + "description": "Provisioning state of the resource.", + "enum": [ + "Unknown", + "Succeeded", + "Failed", + "Canceled", + "Running", + "Creating", + "Updating", + "Deleting", + "Moving" + ], + "type": "string", + "readOnly": true, + "x-ms-enum": { + "name": "ProvisioningState", + "modelAsString": true + } + }, + "RegenerateKeyParameters": { + "description": "Parameters describes the request to regenerate access keys", + "type": "object", + "properties": { + "keyType": { + "$ref": "#/definitions/KeyType" + } + } + }, + "Replica": { + "description": "A class represent a replica resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/ResourceSku" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/ReplicaProperties" + } + } + }, + "ReplicaList": { + "type": "object", + "properties": { + "value": { + "description": "List of the replica", + "type": "array", + "items": { + "$ref": "#/definitions/Replica" + } + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "ReplicaProperties": { + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "regionEndpointEnabled": { + "description": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.", + "default": "Enabled", + "type": "string" + }, + "resourceStopped": { + "description": "Stop or start the resource. Default to \"false\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started.", + "default": "false", + "type": "string" + } + } + }, + "ResourceLogCategory": { + "description": "Resource log category configuration of a Microsoft.SignalRService resource.", + "type": "object", + "properties": { + "name": { + "description": "Gets or sets the resource log category's name.\r\nAvailable values: ConnectivityLogs, MessagingLogs.\r\nCase insensitive.", + "type": "string" + }, + "enabled": { + "description": "Indicates whether or the resource log category is enabled.\r\nAvailable values: true, false.\r\nCase insensitive.", + "type": "string" + } + } + }, + "ResourceLogConfiguration": { + "description": "Resource log configuration of a Microsoft.SignalRService resource.", + "type": "object", + "properties": { + "categories": { + "description": "Gets or sets the list of category configurations.", + "type": "array", + "items": { + "$ref": "#/definitions/ResourceLogCategory" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ResourceReference": { + "description": "Reference to a resource.", + "type": "object", + "properties": { + "id": { + "description": "Resource ID.", + "type": "string" + } + } + }, + "ResourceSku": { + "description": "The billing information of the resource.", + "required": [ + "name" + ], + "type": "object", + "properties": { + "name": { + "description": "The name of the SKU. Required.\r\n\r\nAllowed values: Standard_S1, Free_F1, Premium_P1, Premium_P2", + "type": "string" + }, + "tier": { + "$ref": "#/definitions/WebPubSubSkuTier" + }, + "size": { + "description": "Not used. Retained for future use.", + "type": "string", + "readOnly": true + }, + "family": { + "description": "Not used. Retained for future use.", + "type": "string", + "readOnly": true + }, + "capacity": { + "format": "int32", + "description": "Optional, integer. The unit count of the resource.\r\n1 for Free_F1/Standard_S1/Premium_P1, 100 for Premium_P2 by default.\r\n\r\nIf present, following values are allowed:\r\n Free_F1: 1;\r\n Standard_S1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n Premium_P1: 1,2,3,4,5,6,7,8,9,10,20,30,40,50,60,70,80,90,100;\r\n Premium_P2: 100,200,300,400,500,600,700,800,900,1000;", + "type": "integer" + } + } + }, + "ScaleType": { + "description": "The scale type applicable to the sku.", + "enum": [ + "None", + "Manual", + "Automatic" + ], + "type": "string", + "x-ms-enum": { + "name": "ScaleType", + "modelAsString": true + } + }, + "ServiceKind": { + "description": "The kind of the service", + "enum": [ + "WebPubSub", + "SocketIO" + ], + "type": "string", + "x-ms-enum": { + "name": "ServiceKind", + "modelAsString": true + } + }, + "ServiceSpecification": { + "description": "An object that describes a specification.", + "type": "object", + "properties": { + "metricSpecifications": { + "description": "Specifications of the Metrics for Azure Monitoring.", + "type": "array", + "items": { + "$ref": "#/definitions/MetricSpecification" + }, + "x-ms-identifiers": [ + "name", + "unit" + ] + }, + "logSpecifications": { + "description": "Specifications of the Logs for Azure Monitoring.", + "type": "array", + "items": { + "$ref": "#/definitions/LogSpecification" + }, + "x-ms-identifiers": [ + "name" + ] + } + } + }, + "ShareablePrivateLinkResourceProperties": { + "description": "Describes the properties of a resource type that has been onboarded to private link service", + "type": "object", + "properties": { + "description": { + "description": "The description of the resource type that has been onboarded to private link service", + "type": "string" + }, + "groupId": { + "description": "The resource provider group id for the resource that has been onboarded to private link service", + "type": "string" + }, + "type": { + "description": "The resource provider type for the resource that has been onboarded to private link service", + "type": "string" + } + } + }, + "ShareablePrivateLinkResourceType": { + "description": "Describes a resource type that has been onboarded to private link service", + "type": "object", + "properties": { + "name": { + "description": "The name of the resource type that has been onboarded to private link service", + "type": "string" + }, + "properties": { + "$ref": "#/definitions/ShareablePrivateLinkResourceProperties" + } + } + }, + "SharedPrivateLinkResource": { + "description": "Describes a Shared Private Link Resource", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/SharedPrivateLinkResourceProperties" + } + } + }, + "SharedPrivateLinkResourceList": { + "description": "A list of shared private link resources", + "type": "object", + "properties": { + "value": { + "description": "The list of the shared private link resources", + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "Request URL that can be used to query next page of private endpoint connections. Returned when the total number of requested private endpoint connections exceed maximum page size.", + "type": "string" + } + } + }, + "SharedPrivateLinkResourceProperties": { + "description": "Describes the properties of an existing Shared Private Link Resource", + "required": [ + "groupId", + "privateLinkResourceId" + ], + "type": "object", + "properties": { + "groupId": { + "description": "The group id from the provider of resource the shared private link resource is for", + "type": "string" + }, + "privateLinkResourceId": { + "description": "The resource id of the resource the shared private link resource is for", + "type": "string" + }, + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "requestMessage": { + "description": "The request message for requesting approval of the shared private link resource", + "type": "string" + }, + "status": { + "readOnly": true, + "$ref": "#/definitions/SharedPrivateLinkResourceStatus" + } + } + }, + "SharedPrivateLinkResourceStatus": { + "description": "Status of the shared private link resource", + "enum": [ + "Pending", + "Approved", + "Rejected", + "Disconnected", + "Timeout" + ], + "type": "string", + "x-ms-enum": { + "name": "SharedPrivateLinkResourceStatus", + "modelAsString": true + } + }, + "SignalRServiceUsage": { + "description": "Object that describes a specific usage of the resources.", + "type": "object", + "properties": { + "id": { + "description": "Fully qualified ARM resource id", + "type": "string" + }, + "currentValue": { + "format": "int64", + "description": "Current value for the usage quota.", + "type": "integer" + }, + "limit": { + "format": "int64", + "description": "The maximum permitted value for the usage quota. If there is no limit, this value will be -1.", + "type": "integer" + }, + "name": { + "$ref": "#/definitions/SignalRServiceUsageName" + }, + "unit": { + "description": "Representing the units of the usage quota. Possible values are: Count, Bytes, Seconds, Percent, CountPerSecond, BytesPerSecond.", + "type": "string" + } + } + }, + "SignalRServiceUsageList": { + "description": "Object that includes an array of the resource usages and a possible link for next set.", + "type": "object", + "properties": { + "value": { + "description": "List of the resource usages", + "type": "array", + "items": { + "$ref": "#/definitions/SignalRServiceUsage" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "SignalRServiceUsageName": { + "description": "Localizable String object containing the name and a localized value.", + "type": "object", + "properties": { + "value": { + "description": "The identifier of the usage.", + "type": "string" + }, + "localizedValue": { + "description": "Localized name of the usage.", + "type": "string" + } + } + }, + "Sku": { + "description": "Describes an available sku.\"", + "type": "object", + "properties": { + "resourceType": { + "description": "The resource type that this object applies to", + "type": "string", + "readOnly": true + }, + "sku": { + "readOnly": true, + "$ref": "#/definitions/ResourceSku" + }, + "capacity": { + "readOnly": true, + "$ref": "#/definitions/SkuCapacity" + } + } + }, + "SkuCapacity": { + "description": "Describes scaling information of a sku.", + "type": "object", + "properties": { + "minimum": { + "format": "int32", + "description": "The lowest permitted capacity for this resource", + "type": "integer", + "readOnly": true + }, + "maximum": { + "format": "int32", + "description": "The highest permitted capacity for this resource", + "type": "integer", + "readOnly": true + }, + "default": { + "format": "int32", + "description": "The default capacity.", + "type": "integer", + "readOnly": true + }, + "allowedValues": { + "description": "Allows capacity value list.", + "type": "array", + "items": { + "format": "int32", + "type": "integer" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "scaleType": { + "readOnly": true, + "$ref": "#/definitions/ScaleType" + } + } + }, + "SkuList": { + "description": "The list skus operation response", + "type": "object", + "properties": { + "value": { + "description": "The list of skus available for the resource.", + "type": "array", + "items": { + "$ref": "#/definitions/Sku" + }, + "readOnly": true, + "x-ms-identifiers": [ + "resourceType", + "/sku/name", + "/sku/tier" + ] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string", + "readOnly": true + } + } + }, + "ThrottleByJwtCustomClaimRule": { + "description": "Throttle the client connection by a custom JWT claim", + "required": [ + "claimName" + ], + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ClientConnectionCountRule" + } + ], + "properties": { + "claimName": { + "description": "The name of the claim in the JWT token. The client connection with the same claim value will be aggregated. If the claim is not found in the token, the connection will be allowed.", + "type": "string" + }, + "maxCount": { + "format": "int32", + "description": "Maximum connection count allowed for the same Jwt claim value. Clients with the same Jwt claim will get rejected if the connection count exceeds this value. Default value is 20.", + "default": 20, + "maximum": 2147483647, + "minimum": 0, + "type": "integer" + } + }, + "x-ms-discriminator-value": "ThrottleByJwtCustomClaimRule" + }, + "ThrottleByJwtSignatureRule": { + "description": "Throttle the client connection by the JWT signature", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ClientConnectionCountRule" + } + ], + "properties": { + "maxCount": { + "format": "int32", + "description": "Maximum connection count allowed for the same JWT signature. Clients with the same JWT signature will get rejected if the connection count exceeds this value. Default value is 20.", + "default": 20, + "maximum": 2147483647, + "minimum": 0, + "type": "integer" + } + }, + "x-ms-discriminator-value": "ThrottleByJwtSignatureRule" + }, + "ThrottleByUserIdRule": { + "description": "Throttle the client connection by the user ID", + "type": "object", + "allOf": [ + { + "$ref": "#/definitions/ClientConnectionCountRule" + } + ], + "properties": { + "maxCount": { + "format": "int32", + "description": "Maximum connection count allowed for the same user ID. Clients with the same user ID will get rejected if the connection count exceeds this value. Default value is 20.", + "default": 20, + "maximum": 2147483647, + "minimum": 0, + "type": "integer" + } + }, + "x-ms-discriminator-value": "ThrottleByUserIdRule" + }, + "UpstreamAuthSettings": { + "description": "Upstream auth settings. If not set, no auth is used for upstream messages.", + "type": "object", + "properties": { + "type": { + "$ref": "#/definitions/UpstreamAuthType" + }, + "managedIdentity": { + "$ref": "#/definitions/ManagedIdentitySettings" + } + } + }, + "UpstreamAuthType": { + "description": "Upstream auth type enum.", + "enum": [ + "None", + "ManagedIdentity" + ], + "type": "string", + "x-ms-enum": { + "name": "UpstreamAuthType", + "modelAsString": true + } + }, + "UserAssignedIdentityProperty": { + "description": "Properties of user assigned identity.", + "type": "object", + "properties": { + "principalId": { + "description": "Get the principal id for the user assigned identity", + "type": "string", + "readOnly": true + }, + "clientId": { + "description": "Get the client id for the user assigned identity", + "type": "string", + "readOnly": true + } + } + }, + "WebPubSubHub": { + "description": "A hub setting", + "required": [ + "properties" + ], + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource" + } + ], + "properties": { + "properties": { + "$ref": "#/definitions/WebPubSubHubProperties" + } + } + }, + "WebPubSubHubList": { + "description": "Hub setting list", + "type": "object", + "properties": { + "value": { + "description": "List of hub settings to this resource.", + "type": "array", + "items": { + "$ref": "#/definitions/WebPubSubHub" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string", + "readOnly": true + } + } + }, + "WebPubSubHubProperties": { + "description": "Properties of a hub.", + "type": "object", + "properties": { + "eventHandlers": { + "description": "Event handler of a hub.", + "type": "array", + "items": { + "$ref": "#/definitions/EventHandler" + }, + "x-ms-identifiers": [] + }, + "eventListeners": { + "description": "Event listener settings for forwarding your client events to listeners.\r\nEvent listener is transparent to Web PubSub clients, and it doesn't return any result to clients nor interrupt the lifetime of clients.\r\nOne event can be sent to multiple listeners, as long as it matches the filters in those listeners. The order of the array elements doesn't matter.\r\nMaximum count of event listeners among all hubs is 10.", + "type": "array", + "items": { + "$ref": "#/definitions/EventListener" + }, + "x-ms-identifiers": [] + }, + "anonymousConnectPolicy": { + "description": "The settings for configuring if anonymous connections are allowed for this hub: \"allow\" or \"deny\". Default to \"deny\".", + "default": "deny", + "type": "string" + }, + "webSocketKeepAliveIntervalInSeconds": { + "format": "int32", + "description": "The settings for configuring the WebSocket ping-pong interval in seconds for all clients in the hub. Valid range: 1 to 120. Default to 20 seconds.", + "default": 20, + "maximum": 120, + "minimum": 1, + "type": "integer" + } + } + }, + "WebPubSubKeys": { + "description": "A class represents the access keys of the resource.", + "type": "object", + "properties": { + "primaryKey": { + "description": "The primary access key.", + "type": "string", + "x-ms-secret": true + }, + "secondaryKey": { + "description": "The secondary access key.", + "type": "string", + "x-ms-secret": true + }, + "primaryConnectionString": { + "description": "Connection string constructed via the primaryKey", + "type": "string", + "x-ms-secret": true + }, + "secondaryConnectionString": { + "description": "Connection string constructed via the secondaryKey", + "type": "string", + "x-ms-secret": true + } + } + }, + "WebPubSubNetworkACLs": { + "description": "Network ACLs for the resource", + "type": "object", + "properties": { + "defaultAction": { + "$ref": "#/definitions/ACLAction" + }, + "publicNetwork": { + "$ref": "#/definitions/NetworkACL" + }, + "privateEndpoints": { + "description": "ACLs for requests from private endpoints", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointACL" + }, + "x-ms-identifiers": [ + "name" + ] + }, + "ipRules": { + "description": "IP rules for filtering public traffic", + "maxItems": 30, + "type": "array", + "items": { + "$ref": "#/definitions/IPRule" + }, + "x-ms-identifiers": [] + } + } + }, + "WebPubSubProperties": { + "description": "A class that describes the properties of the resource", + "type": "object", + "properties": { + "provisioningState": { + "readOnly": true, + "$ref": "#/definitions/ProvisioningState" + }, + "externalIP": { + "description": "The publicly accessible IP of the resource.", + "type": "string", + "readOnly": true + }, + "hostName": { + "description": "FQDN of the service instance.", + "type": "string", + "readOnly": true + }, + "publicPort": { + "format": "int32", + "description": "The publicly accessible port of the resource which is designed for browser/client side usage.", + "type": "integer", + "readOnly": true + }, + "serverPort": { + "format": "int32", + "description": "The publicly accessible port of the resource which is designed for customer server side usage.", + "type": "integer", + "readOnly": true + }, + "version": { + "description": "Version of the resource. Probably you need the same or higher version of client SDKs.", + "type": "string", + "readOnly": true + }, + "privateEndpointConnections": { + "description": "Private endpoint connections to the resource.", + "type": "array", + "items": { + "$ref": "#/definitions/PrivateEndpointConnection" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "sharedPrivateLinkResources": { + "description": "The list of shared private link resources.", + "type": "array", + "items": { + "$ref": "#/definitions/SharedPrivateLinkResource" + }, + "readOnly": true, + "x-ms-identifiers": [] + }, + "tls": { + "$ref": "#/definitions/WebPubSubTlsSettings" + }, + "hostNamePrefix": { + "description": "Deprecated.", + "type": "string", + "readOnly": true + }, + "liveTraceConfiguration": { + "$ref": "#/definitions/LiveTraceConfiguration" + }, + "resourceLogConfiguration": { + "$ref": "#/definitions/ResourceLogConfiguration" + }, + "networkACLs": { + "$ref": "#/definitions/WebPubSubNetworkACLs" + }, + "applicationFirewall": { + "$ref": "#/definitions/ApplicationFirewallSettings" + }, + "publicNetworkAccess": { + "description": "Enable or disable public network access. Default to \"Enabled\".\r\nWhen it's Enabled, network ACLs still apply.\r\nWhen it's Disabled, public network access is always disabled no matter what you set in network ACLs.", + "default": "Enabled", + "type": "string" + }, + "disableLocalAuth": { + "description": "DisableLocalAuth\r\nEnable or disable local auth with AccessKey\r\nWhen set as true, connection with AccessKey=xxx won't work.", + "default": false, + "type": "boolean" + }, + "disableAadAuth": { + "description": "DisableLocalAuth\r\nEnable or disable aad auth\r\nWhen set as true, connection with AuthType=aad won't work.", + "default": false, + "type": "boolean" + }, + "regionEndpointEnabled": { + "description": "Enable or disable the regional endpoint. Default to \"Enabled\".\r\nWhen it's Disabled, new connections will not be routed to this endpoint, however existing connections will not be affected.\r\nThis property is replica specific. Disable the regional endpoint without replica is not allowed.", + "default": "Enabled", + "type": "string" + }, + "resourceStopped": { + "description": "Stop or start the resource. Default to \"False\".\r\nWhen it's true, the data plane of the resource is shutdown.\r\nWhen it's false, the data plane of the resource is started.", + "default": "false", + "type": "string" + }, + "socketIO": { + "$ref": "#/definitions/WebPubSubSocketIOSettings" + } + } + }, + "WebPubSubRequestType": { + "description": "The incoming request type to the service", + "enum": [ + "ClientConnection", + "ServerConnection", + "RESTAPI", + "Trace" + ], + "type": "string", + "x-ms-enum": { + "name": "WebPubSubRequestType", + "modelAsString": true + } + }, + "WebPubSubResource": { + "description": "A class represent a resource.", + "type": "object", + "allOf": [ + { + "$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/TrackedResource" + } + ], + "properties": { + "sku": { + "$ref": "#/definitions/ResourceSku" + }, + "properties": { + "x-ms-client-flatten": true, + "$ref": "#/definitions/WebPubSubProperties" + }, + "kind": { + "x-ms-mutability": [ + "read", + "create" + ], + "$ref": "#/definitions/ServiceKind" + }, + "identity": { + "$ref": "#/definitions/ManagedIdentity" + } + } + }, + "WebPubSubResourceList": { + "description": "Object that includes an array of resources and a possible link for next set.", + "type": "object", + "properties": { + "value": { + "description": "List of the resources", + "type": "array", + "items": { + "$ref": "#/definitions/WebPubSubResource" + }, + "x-ms-identifiers": [] + }, + "nextLink": { + "description": "The URL the client should use to fetch the next page (per server side paging).\r\nIt's null for now, added for future use.", + "type": "string" + } + } + }, + "WebPubSubSkuTier": { + "description": "Optional tier of this particular SKU. 'Standard' or 'Free'. \r\n\r\n`Basic` is deprecated, use `Standard` instead.", + "enum": [ + "Free", + "Basic", + "Standard", + "Premium" + ], + "type": "string", + "x-ms-enum": { + "name": "WebPubSubSkuTier", + "modelAsString": true + } + }, + "WebPubSubSocketIOSettings": { + "description": "SocketIO settings for the resource", + "type": "object", + "properties": { + "serviceMode": { + "description": "The service mode of Web PubSub for Socket.IO. Values allowed: \r\n\"Default\": have your own backend Socket.IO server\r\n\"Serverless\": your application doesn't have a backend server", + "type": "string" + } + } + }, + "WebPubSubTlsSettings": { + "description": "TLS settings for the resource", + "type": "object", + "properties": { + "clientCertEnabled": { + "description": "Request client certificate during TLS handshake if enabled. Not supported for free tier. Any input will be ignored for free tier.", + "default": false, + "type": "boolean" + } + } + } + }, + "parameters": { + "ResourceName": { + "in": "path", + "name": "resourceName", + "description": "The name of the resource.", + "required": true, + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]$", + "type": "string", + "x-ms-parameter-location": "method" + }, + "ReplicaName": { + "in": "path", + "name": "replicaName", + "description": "The name of the replica.", + "required": true, + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]$", + "type": "string", + "x-ms-parameter-location": "method" + }, + "SharedPrivateLinkResourceName": { + "in": "path", + "name": "sharedPrivateLinkResourceName", + "description": "The name of the shared private link resource.", + "required": true, + "maxLength": 63, + "minLength": 3, + "pattern": "^[a-zA-Z][a-zA-Z0-9-]{1,61}[a-zA-Z0-9]$", + "type": "string", + "x-ms-parameter-location": "method" + } + }, + "securityDefinitions": { + "azure_auth": { + "type": "oauth2", + "flow": "implicit", + "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize", + "scopes": { + "user_impersonation": "impersonate your user account" + }, + "description": "Azure Active Directory OAuth2 Flow" + } + }, + "security": [ + { + "azure_auth": [ + "user_impersonation" + ] + } + ], + "host": "management.azure.com", + "schemes": [ + "https" + ], + "produces": [ + "application/json" + ], + "consumes": [ + "application/json" + ] +} diff --git a/specification/webpubsub/resource-manager/readme.go.md b/specification/webpubsub/resource-manager/readme.go.md index 862665d9edd5..cb89ad59d2d9 100644 --- a/specification/webpubsub/resource-manager/readme.go.md +++ b/specification/webpubsub/resource-manager/readme.go.md @@ -39,6 +39,7 @@ batch: - tag: package-2023-08-01-preview - tag: package-2024-01-01-preview - tag: package-2024-03-01 + - tag: package-2024-04-01-preview ``` ### Tag: package-2021-04-01-preview and go @@ -139,4 +140,13 @@ Please also specify `--go-sdk-folder=`. + +``` yaml $(tag) == 'package-2024-04-01-preview' && $(go) +output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2024-04-01-preview/$(namespace) +``` diff --git a/specification/webpubsub/resource-manager/readme.java.md b/specification/webpubsub/resource-manager/readme.java.md index 99e5400de83c..10ebb4d72789 100644 --- a/specification/webpubsub/resource-manager/readme.java.md +++ b/specification/webpubsub/resource-manager/readme.java.md @@ -27,6 +27,7 @@ batch: - tag: package-2023-08-01-preview - tag: package-2024-01-01-preview - tag: package-2024-03-01 + - tag: package-2024-04-01-preview ``` ### Tag: package-2021-04-01-preview and java @@ -170,4 +171,17 @@ java: output-folder: $(azure-libraries-for-java-folder)/sdk/webpubsub/mgmt-v2024_03_01 regenerate-manager: true generate-interface: true +``` + +### Tag: package-2024-04-01-preview and java + +These settings apply only when `--tag=package-2024-04-01-preview --java` is specified on the command line. +Please also specify `--azure-libraries-for-java-folder=`. + +``` yaml $(tag) == 'package-2024-04-01-preview' && $(java) && $(multiapi) +java: + namespace: com.microsoft.azure.management.webpubsub.v2024_04_01_preview + output-folder: $(azure-libraries-for-java-folder)/sdk/webpubsub/mgmt-v2024_04_01_preview +regenerate-manager: true +generate-interface: true ``` \ No newline at end of file diff --git a/specification/webpubsub/resource-manager/readme.md b/specification/webpubsub/resource-manager/readme.md index 898cdb1808de..b255818ce72d 100644 --- a/specification/webpubsub/resource-manager/readme.md +++ b/specification/webpubsub/resource-manager/readme.md @@ -26,7 +26,7 @@ These are the global settings for the WebPubSub API. ``` yaml openapi-type: arm -tag: package-2024-03-01 +tag: package-2024-04-01-preview ``` ### Suppression @@ -170,6 +170,15 @@ input-file: - Microsoft.SignalRService/stable/2024-03-01/webpubsub.json ``` +### Tag: package-2024-04-01-preview + +These settings apply only when `--tag=package-2024-04-01-preview` is specified on the command line. + +```yaml $(tag) == 'package-2024-04-01-preview' +input-file: +- Microsoft.SignalRService/preview/2024-04-01-preview/webpubsub.json +``` + --- # Code Generation diff --git a/specification/webpubsub/resource-manager/readme.ruby.md b/specification/webpubsub/resource-manager/readme.ruby.md index 37e3f818df4a..04bbc2eabc2d 100644 --- a/specification/webpubsub/resource-manager/readme.ruby.md +++ b/specification/webpubsub/resource-manager/readme.ruby.md @@ -23,6 +23,7 @@ batch: - tag: package-2023-08-01-preview - tag: package-2024-01-01-preview - tag: package-2024-03-01 + - tag: package-2024-04-01-preview ``` ### Tag: package-2021-04-01-preview and ruby @@ -133,4 +134,14 @@ Please also specify `--ruby-sdks-folder=`. + +``` yaml $(tag) == 'package-2024-04-01-preview' && $(ruby) +namespace: "Azure::WebPubSub::Mgmt::V2024_04_01_preview" +output-folder: $(ruby-sdks-folder)/management/azure_mgmt_webpubsub/lib ``` \ No newline at end of file diff --git a/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPDiscoverySite.tsp b/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPDiscoverySite.tsp index cf1c04eb5504..a3b3b3193aaf 100644 --- a/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPDiscoverySite.tsp +++ b/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPDiscoverySite.tsp @@ -36,7 +36,12 @@ interface SAPDiscoverySites { /** * Creates a discovery site resource for SAP Migration. This resource will be used to run system discovery and assessment with Azure Migrate. */ - create is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrReplaceAsync< + SAPDiscoverySite, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** * Updates a SAP Migration discovery site resource. diff --git a/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPInstance.tsp b/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPInstance.tsp index f70c9a2bce2e..4fc5f70be91c 100644 --- a/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPInstance.tsp +++ b/specification/workloads/Workloads.SAPDiscoverySite.Management/SAPInstance.tsp @@ -32,7 +32,12 @@ interface SAPInstances { /** * Creates the SAP Instance resource.

This will be used by service only. PUT operation on this resource by end user will return a Bad Request error. */ - create is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrReplaceAsync< + SAPInstance, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** * Updates the SAP Instance resource. diff --git a/specification/workloads/Workloads.SAPDiscoverySite.Management/ServerInstance.tsp b/specification/workloads/Workloads.SAPDiscoverySite.Management/ServerInstance.tsp index 053290d8b0bf..b6d6be8903e9 100644 --- a/specification/workloads/Workloads.SAPDiscoverySite.Management/ServerInstance.tsp +++ b/specification/workloads/Workloads.SAPDiscoverySite.Management/ServerInstance.tsp @@ -29,7 +29,12 @@ interface ServerInstances { /** * Creates the Server Instance resource.

;This will be used by service only. PUT operation on this resource by end user will return a Bad Request error. */ - create is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrReplaceAsync< + ServerInstance, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** * Updates the Server Instance resource. This operation on a resource by end user will return a Bad Request error. diff --git a/specification/workloads/Workloads.SAPMonitor.Management/Monitor.tsp b/specification/workloads/Workloads.SAPMonitor.Management/Monitor.tsp index 52a5d27b84c8..542752e4af90 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/Monitor.tsp +++ b/specification/workloads/Workloads.SAPMonitor.Management/Monitor.tsp @@ -31,7 +31,12 @@ interface Monitors { /** * Creates a SAP monitor for the specified subscription, resource group, and resource name. */ - create is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrReplaceAsync< + Monitor, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** * Patches the Tags field of a SAP monitor for the specified subscription, resource group, and SAP monitor name. diff --git a/specification/workloads/Workloads.SAPMonitor.Management/ProviderInstance.tsp b/specification/workloads/Workloads.SAPMonitor.Management/ProviderInstance.tsp index 2e43d502005a..a5a36bfb2c24 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/ProviderInstance.tsp +++ b/specification/workloads/Workloads.SAPMonitor.Management/ProviderInstance.tsp @@ -29,7 +29,12 @@ interface ProviderInstances { /** * Creates a provider instance for the specified subscription, resource group, SAP monitor name, and resource name. */ - create is ArmResourceCreateOrReplaceAsync; + #suppress "@azure-tools/typespec-azure-core/invalid-final-state" "MUST CHANGE ON NEXT UPDATE" + @Azure.Core.useFinalStateVia("azure-async-operation") + create is ArmResourceCreateOrReplaceAsync< + ProviderInstance, + LroHeaders = Azure.Core.Foundations.RetryAfterHeader + >; /** * Deletes a provider instance for the specified subscription, resource group, SAP monitor name, and resource name. diff --git a/specification/workloads/Workloads.SAPMonitor.Management/models.tsp b/specification/workloads/Workloads.SAPMonitor.Management/models.tsp index 1821020722b0..f2473c62f089 100644 --- a/specification/workloads/Workloads.SAPMonitor.Management/models.tsp +++ b/specification/workloads/Workloads.SAPMonitor.Management/models.tsp @@ -272,6 +272,7 @@ model ProviderSpecificProperties { /** * The provider type. For example, the value can be SapHana. */ + #suppress "@azure-tools/typespec-azure-core/no-string-discriminator" "Existing" @visibility("read", "create") providerType: string; } diff --git a/specification/workloads/resource-manager/Microsoft.Workloads/SAPDiscoverySites/preview/2023-10-01-preview/SAPDiscoverySites.json b/specification/workloads/resource-manager/Microsoft.Workloads/SAPDiscoverySites/preview/2023-10-01-preview/SAPDiscoverySites.json index 72f5ae3e013c..1774bbafa200 100644 --- a/specification/workloads/resource-manager/Microsoft.Workloads/SAPDiscoverySites/preview/2023-10-01-preview/SAPDiscoverySites.json +++ b/specification/workloads/resource-manager/Microsoft.Workloads/SAPDiscoverySites/preview/2023-10-01-preview/SAPDiscoverySites.json @@ -1477,11 +1477,7 @@ "properties": { "$ref": "#/definitions/SAPDiscoverySiteProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "extendedLocation": { "$ref": "#/definitions/ExtendedLocation", @@ -1559,11 +1555,7 @@ "properties": { "$ref": "#/definitions/SAPInstanceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1762,11 +1754,7 @@ "properties": { "$ref": "#/definitions/ServerInstanceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ diff --git a/specification/workloads/resource-manager/Microsoft.Workloads/monitors/preview/2023-12-01-preview/monitors.json b/specification/workloads/resource-manager/Microsoft.Workloads/monitors/preview/2023-12-01-preview/monitors.json index 6c6243b4b835..927ac4174174 100644 --- a/specification/workloads/resource-manager/Microsoft.Workloads/monitors/preview/2023-12-01-preview/monitors.json +++ b/specification/workloads/resource-manager/Microsoft.Workloads/monitors/preview/2023-12-01-preview/monitors.json @@ -1126,11 +1126,7 @@ "properties": { "$ref": "#/definitions/MonitorProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true }, "identity": { "$ref": "../../../../../../common-types/resource-management/v5/managedidentity.json#/definitions/ManagedServiceIdentity", @@ -1335,11 +1331,7 @@ "properties": { "$ref": "#/definitions/ProviderInstanceProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [ @@ -1565,11 +1557,7 @@ "properties": { "$ref": "#/definitions/SapLandscapeMonitorProperties", "description": "The resource-specific properties for this resource.", - "x-ms-client-flatten": true, - "x-ms-mutability": [ - "read", - "create" - ] + "x-ms-client-flatten": true } }, "allOf": [